HomeFreeBSD

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

Description

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

Details

Provenance
sepheAuthored on
Parents
rS324488: hyperv/vmbus: Expose Hyper-V major version.
Branches
Unknown
Tags
Unknown