Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/iflib.c
Show First 20 Lines • Show All 2,626 Lines • ▼ Show 20 Lines | if (lro_enabled) { | ||||
if (!lro_possible) { | if (!lro_possible) { | ||||
lro_possible = iflib_check_lro_possible(m, v4_forwarding, v6_forwarding); | lro_possible = iflib_check_lro_possible(m, v4_forwarding, v6_forwarding); | ||||
if (lro_possible && mf != NULL) { | if (lro_possible && mf != NULL) { | ||||
ifp->if_input(ifp, mf); | ifp->if_input(ifp, mf); | ||||
DBG_COUNTER_INC(rx_if_input); | DBG_COUNTER_INC(rx_if_input); | ||||
mt = mf = NULL; | mt = mf = NULL; | ||||
} | } | ||||
} | } | ||||
if ((m->m_pkthdr.csum_flags & (CSUM_L4_CALC|CSUM_L4_VALID)) == | |||||
(CSUM_L4_CALC|CSUM_L4_VALID)) { | |||||
if (lro_possible && tcp_lro_rx(&rxq->ifr_lc, m, 0) == 0) | if (lro_possible && tcp_lro_rx(&rxq->ifr_lc, m, 0) == 0) | ||||
continue; | continue; | ||||
} | |||||
} | } | ||||
#endif | #endif | ||||
if (lro_possible) { | if (lro_possible) { | ||||
ifp->if_input(ifp, m); | ifp->if_input(ifp, m); | ||||
DBG_COUNTER_INC(rx_if_input); | DBG_COUNTER_INC(rx_if_input); | ||||
continue; | continue; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 3,318 Lines • Show Last 20 Lines |