]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 324489,324516
authorsephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 13 Oct 2017 02:26:39 +0000 (02:26 +0000)
committersephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 13 Oct 2017 02:26:39 +0000 (02:26 +0000)
commit361794c82a394c6fdb2d94b8420334e648c4552d
tree9879f96e050077826fbc896e2c2cf800905ad6b3
parent2f986a8950ecd8a98fdcc8283f731540d2840377
MFC 324489,324516

324489
    hyperv/hn: Workaround erroneous hash type observed on WS2016.

    Background:
    - UDP 4-tuple hash type is unconditionally enabled in Hyper-V on WS2016,
      which is _not_ affected by NDIS_OBJTYPE_RSS_PARAMS.
    - Non-fragment UDP/IPv4 datagrams' hash type is delivered to VM as
      TCP_IPV4.

    Currently this erroneous behavior only applies to WS2016/Windows10.

    Force l3/l4 protocol check, if the RXed packet's hash type is TCP_IPV4,
    and the Hyper-V is running on WS2016/Windows10.  If the RXed packet is
    UDP datagram, adjust mbuf hash type to UDP_IPV4.

    Sponsored by:   Microsoft

324516
    hyperv/hn: Workaround erroneous hash type observed on WS2016 for VF.

    The background was described in r324489.

    Sponsored by:   Microsoft

git-svn-id: svn://svn.freebsd.org/base/stable/10@324574 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/hyperv/netvsc/hn_nvs.c
sys/dev/hyperv/netvsc/hn_rndis.c
sys/dev/hyperv/netvsc/if_hn.c
sys/dev/hyperv/netvsc/if_hnvar.h
sys/dev/hyperv/netvsc/ndis.h