diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c --- a/sys/netinet/tcp_lro.c +++ b/sys/netinet/tcp_lro.c @@ -598,6 +598,7 @@ uint64_t now, tov; struct bintime bt; + NET_EPOCH_ASSERT(); if (LIST_EMPTY(&lc->lro_active)) return; @@ -1177,8 +1178,6 @@ { struct inpcb *inp; - NET_EPOCH_ASSERT(); - switch (pa->data.lro_type) { #ifdef INET6 case LRO_TYPE_IPV6_TCP: @@ -1368,7 +1367,10 @@ /* Only optimise if there are multiple packets waiting. */ #ifdef TCPHPTS int error; +#endif + NET_EPOCH_ASSERT(); +#ifdef TCPHPTS CURVNET_SET(lc->ifp->if_vnet); error = tcp_lro_flush_tcphpts(lc, le); CURVNET_RESTORE(); @@ -1479,6 +1481,7 @@ uint64_t nseq; unsigned x; + NET_EPOCH_ASSERT(); /* check if no mbufs to flush */ if (lc->lro_mbuf_count == 0) goto done; @@ -1919,6 +1922,7 @@ void tcp_lro_queue_mbuf(struct lro_ctrl *lc, struct mbuf *mb) { + NET_EPOCH_ASSERT(); /* sanity checks */ if (__predict_false(lc->ifp == NULL || lc->lro_mbuf_data == NULL || lc->lro_mbuf_max == 0)) {