MCPcopy Create free account
hub / github.com/F-Stack/f-stack / tcp_lro_log

Function tcp_lro_log

freebsd/netinet/tcp_lro.c:437–480  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

435#endif
436
437static void
438tcp_lro_log(struct tcpcb *tp, struct lro_ctrl *lc,
439 struct lro_entry *le, struct mbuf *m, int frm, int32_t tcp_data_len,
440 uint32_t th_seq , uint32_t th_ack, uint16_t th_win)
441{
442 if (tp->t_logstate != TCP_LOG_STATE_OFF) {
443 union tcp_log_stackspecific log;
444 struct timeval tv;
445 uint32_t cts;
446
447 cts = tcp_get_usecs(&tv);
448 memset(&log, 0, sizeof(union tcp_log_stackspecific));
449 log.u_bbr.flex8 = frm;
450 log.u_bbr.flex1 = tcp_data_len;
451 if (m)
452 log.u_bbr.flex2 = m->m_pkthdr.len;
453 else
454 log.u_bbr.flex2 = 0;
455 log.u_bbr.flex3 = le->append_cnt;
456 log.u_bbr.flex4 = le->p_len;
457 log.u_bbr.flex5 = le->m_head->m_pkthdr.len;
458 log.u_bbr.delRate = le->m_head->m_flags;
459 log.u_bbr.rttProp = le->m_head->m_pkthdr.rcv_tstmp;
460 log.u_bbr.flex6 = lc->lro_length_lim;
461 log.u_bbr.flex7 = lc->lro_ackcnt_lim;
462 log.u_bbr.inflight = th_seq;
463 log.u_bbr.timeStamp = cts;
464 log.u_bbr.epoch = le->next_seq;
465 log.u_bbr.delivered = th_ack;
466 log.u_bbr.lt_epoch = le->ack_seq;
467 log.u_bbr.pacing_gain = th_win;
468 log.u_bbr.cwnd_gain = le->window;
469 log.u_bbr.cur_del_rate = (uintptr_t)m;
470 log.u_bbr.bw_inuse = (uintptr_t)le->m_head;
471 log.u_bbr.pkts_out = le->mbuf_cnt; /* Total mbufs added */
472 log.u_bbr.applimited = le->ulp_csum;
473 log.u_bbr.lost = le->mbuf_appended;
474 TCP_LOG_EVENTP(tp, NULL,
475 &tp->t_inpcb->inp_socket->so_rcv,
476 &tp->t_inpcb->inp_socket->so_snd,
477 TCP_LOG_LRO, 0,
478 0, &log, false, &tv);
479 }
480}
481
482static void
483tcp_flush_out_le(struct tcpcb *tp, struct lro_ctrl *lc, struct lro_entry *le, int locked)

Callers 3

tcp_flush_out_leFunction · 0.85
tcp_lro_condenseFunction · 0.85
tcp_lro.cFile · 0.85

Calls 2

tcp_get_usecsFunction · 0.85
memsetFunction · 0.85

Tested by

no test coverage detected