opnsense-src/sys/dev/hyperv/netvsc
Sepherosa Ziehau db76829b2b 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.

MFC after:	3 days
Sponsored by:	Microsoft
2017-10-10 08:32:03 +00:00
..
hn_nvs.c hyperv/hn: Workaround erroneous hash type observed on WS2016. 2017-10-10 08:32:03 +00:00
hn_nvs.h hyperv: Update copyright for the files changed in 2017 2017-08-14 06:00:50 +00:00
hn_rndis.c hyperv/hn: Fix MTU setting 2017-09-19 06:38:57 +00:00
hn_rndis.h hyperv/hn: Fix MTU setting 2017-09-19 06:38:57 +00:00
if_hn.c hyperv/hn: Workaround erroneous hash type observed on WS2016. 2017-10-10 08:32:03 +00:00
if_hnreg.h hyperv: Update copyright for the files changed in 2017 2017-08-14 06:00:50 +00:00
if_hnvar.h hyperv/hn: Workaround erroneous hash type observed on WS2016. 2017-10-10 08:32:03 +00:00
ndis.h hyperv/hn: Set tcp header offset for CSUM/LSO offloading. 2017-09-27 04:42:40 +00:00