svn commit: r299506 - head/sys/dev/mxge
Sepherosa Ziehau
sephe at FreeBSD.org
Thu May 12 03:36:51 UTC 2016
Author: sephe
Date: Thu May 12 03:36:49 2016
New Revision: 299506
URL: https://svnweb.freebsd.org/changeset/base/299506
Log:
mxge: Setup mbuf flowid before calling tcp_lro_rx().
Reviewed by: gallatin
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6320
Modified:
head/sys/dev/mxge/if_mxge.c
Modified: head/sys/dev/mxge/if_mxge.c
==============================================================================
--- head/sys/dev/mxge/if_mxge.c Thu May 12 03:29:29 2016 (r299505)
+++ head/sys/dev/mxge/if_mxge.c Thu May 12 03:36:49 2016 (r299506)
@@ -2702,8 +2702,12 @@ mxge_rx_done_big(struct mxge_slice_state
if (eh->ether_type == htons(ETHERTYPE_VLAN)) {
mxge_vlan_tag_remove(m, &csum);
}
+ /* flowid only valid if RSS hashing is enabled */
+ if (sc->num_slices > 1) {
+ m->m_pkthdr.flowid = (ss - sc->ss);
+ M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
+ }
/* if the checksum is valid, mark it in the mbuf header */
-
if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) &&
(0 == mxge_rx_csum(m, csum))) {
/* Tell the stack that the checksum is good */
@@ -2716,11 +2720,6 @@ mxge_rx_done_big(struct mxge_slice_state
return;
#endif
}
- /* flowid only valid if RSS hashing is enabled */
- if (sc->num_slices > 1) {
- m->m_pkthdr.flowid = (ss - sc->ss);
- M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
- }
/* pass the frame up the stack */
(*ifp->if_input)(ifp, m);
}
@@ -2771,6 +2770,11 @@ mxge_rx_done_small(struct mxge_slice_sta
if (eh->ether_type == htons(ETHERTYPE_VLAN)) {
mxge_vlan_tag_remove(m, &csum);
}
+ /* flowid only valid if RSS hashing is enabled */
+ if (sc->num_slices > 1) {
+ m->m_pkthdr.flowid = (ss - sc->ss);
+ M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
+ }
/* if the checksum is valid, mark it in the mbuf header */
if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) &&
(0 == mxge_rx_csum(m, csum))) {
@@ -2784,11 +2788,6 @@ mxge_rx_done_small(struct mxge_slice_sta
return;
#endif
}
- /* flowid only valid if RSS hashing is enabled */
- if (sc->num_slices > 1) {
- m->m_pkthdr.flowid = (ss - sc->ss);
- M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
- }
/* pass the frame up the stack */
(*ifp->if_input)(ifp, m);
}
More information about the svn-src-all
mailing list