lro_ctrl
struct lro_ctrl lro;
struct lro_ctrl ctrl;
struct lro_ctrl *lro_ctrl = &qs->lro.ctrl;
if (lro_enabled && lro_ctrl->lro_cnt && !skip_lro
&& (tcp_lro_rx(lro_ctrl, m, 0) == 0)
tcp_lro_flush_all(lro_ctrl);
struct lro_ctrl lro; /* LRO state */
sort_before_lro(struct lro_ctrl *lro)
struct lro_ctrl *lro = &rxq->lro;
struct lro_ctrl *lro = &rxq->lro;
struct lro_ctrl lro;
struct lro_ctrl lro;
hn_lro_rx(struct lro_ctrl *lc, struct mbuf *m)
struct lro_ctrl *lro = &rxr->hn_lro;
struct lro_ctrl hn_lro;
struct lro_ctrl lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl lro;
struct lro_ctrl lro;
struct lro_ctrl lc;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl *lro = &rq->lro;
struct lro_ctrl *lro = NULL;
struct lro_ctrl *lro = NULL;
struct lro_ctrl lro;
struct lro_ctrl lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro)
struct lro_ctrl *lro;
bzero(lro, sizeof(struct lro_ctrl));
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro = &ha->rx_ring[cq_idx].lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl vtnrx_lro;
struct lro_ctrl *lro;
struct lro_ctrl *lro;
struct lro_ctrl lro;
struct lro_ctrl *lro = &rxq->lro;
struct lro_ctrl lro;
struct lro_ctrl tun_lro; /* for TCP LRO */
struct lro_ctrl ifr_lc;
tcp_lro_flush(struct lro_ctrl *lc, struct lro_entry *le)
tcp_lro_flush_all(struct lro_ctrl *lc)
tcp_lro_rx_get_bucket(struct lro_ctrl *lc, struct mbuf *m, struct lro_parser *parser)
tcp_lro_rx_common(struct lro_ctrl *lc, struct mbuf *m, uint32_t csum, bool use_hash)
tcp_lro_rx(struct lro_ctrl *lc, struct mbuf *m, uint32_t csum)
tcp_lro_queue_mbuf(struct lro_ctrl *lc, struct mbuf *mb)
tcp_lro_active_insert(struct lro_ctrl *lc, struct lro_head *bucket,
tcp_lro_init(struct lro_ctrl *lc)
tcp_lro_init_args(struct lro_ctrl *lc, struct ifnet *ifp,
tcp_lro_free(struct lro_ctrl *lc)
tcp_lro_rx_done(struct lro_ctrl *lc)
tcp_lro_flush_active(struct lro_ctrl *lc)
tcp_lro_flush_inactive(struct lro_ctrl *lc, const struct timeval *timeout)
tcp_lro_rx_ipv4(struct lro_ctrl *lc, struct mbuf *m, struct ip *ip4)
tcp_flush_out_entry(struct lro_ctrl *lc, struct lro_entry *le)
static void tcp_lro_rx_done(struct lro_ctrl *lc);
static int tcp_lro_rx_common(struct lro_ctrl *lc, struct mbuf *m,
static void tcp_lro_flush(struct lro_ctrl *lc, struct lro_entry *le);
tcp_set_entry_to_mbuf(struct lro_ctrl *lc, struct lro_entry *le,
tcp_push_and_replace(struct lro_ctrl *lc, struct lro_entry *le, struct mbuf *m)
int (*tcp_lro_flush_tcphpts)(struct lro_ctrl *lc, struct lro_entry *le);
tcp_lro_condense(struct lro_ctrl *lc, struct lro_entry *le)
int tcp_lro_init(struct lro_ctrl *);
int tcp_lro_init_args(struct lro_ctrl *, struct ifnet *, unsigned, unsigned);
void tcp_lro_free(struct lro_ctrl *);
void tcp_lro_flush_inactive(struct lro_ctrl *, const struct timeval *);
void tcp_lro_flush_all(struct lro_ctrl *);
extern int (*tcp_lro_flush_tcphpts)(struct lro_ctrl *, struct lro_entry *);
int tcp_lro_rx(struct lro_ctrl *, struct mbuf *, uint32_t);
void tcp_lro_queue_mbuf(struct lro_ctrl *, struct mbuf *);
tcp_lro_log(struct tcpcb *tp, const struct lro_ctrl *lc,
tcp_lro_get_last_if_ackcmp(struct lro_ctrl *lc, struct lro_entry *le,
do_bpf_strip_and_compress(struct tcpcb *tp, struct lro_ctrl *lc,
_tcp_lro_flush_tcphpts(struct lro_ctrl *lc, struct lro_entry *le)