Date: Tue, 21 Jun 2016 06:56:09 +0000 (UTC) From: Sepherosa Ziehau <sephe@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r302052 - stable/10/sys/dev/mxge Message-ID: <201606210656.u5L6u9JJ028079@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sephe Date: Tue Jun 21 06:56:09 2016 New Revision: 302052 URL: https://svnweb.freebsd.org/changeset/base/302052 Log: MFC 299506 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: stable/10/sys/dev/mxge/if_mxge.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/mxge/if_mxge.c ============================================================================== --- stable/10/sys/dev/mxge/if_mxge.c Tue Jun 21 06:52:21 2016 (r302051) +++ stable/10/sys/dev/mxge/if_mxge.c Tue Jun 21 06:56:09 2016 (r302052) @@ -2701,8 +2701,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 */ @@ -2715,11 +2719,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); } @@ -2770,6 +2769,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))) { @@ -2783,11 +2787,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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606210656.u5L6u9JJ028079>