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);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to