summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge/if_mxge.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mxge/if_mxge.c')
-rw-r--r--sys/dev/mxge/if_mxge.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c
index 53fe7ac..2e21997 100644
--- a/sys/dev/mxge/if_mxge.c
+++ b/sys/dev/mxge/if_mxge.c
@@ -2701,8 +2701,12 @@ mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len,
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 */
@@ -2715,11 +2719,6 @@ mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len,
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);
}
@@ -2770,6 +2769,11 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len,
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))) {
@@ -2783,11 +2787,6 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len,
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);
}
OpenPOWER on IntegriCloud