History log of /freebsd-11-stable/sys/dev/hyperv/netvsc/hn_nvs.c
Revision Date Author Comments
# 324578 13-Oct-2017 sephe

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


# 324477 10-Oct-2017 sephe

MFC 323728,323729

323728
hyperv/hn: Fix MTU setting

- Add size of an ethernet header to the value configured to NVS. This
does not seem to have any effects if MTU is 1500, but fix hypervisor
side's setting if MTU > 1500.
- Override the MTU setting according to the view from the hypervisor
side.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D12352

323729
hyperv/hn: Incease max supported MTU

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D12365


# 322612 17-Aug-2017 sephe

MFC 322488
hyperv: Update copyright for the files changed in 2017

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D11982


# 315436 17-Mar-2017 sephe

MFC: 314382-314485

314382
hyperv/hn: Simplify RNDIS packet data offset calculation.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9699

314483
hyperv/hn: Simplify RNDIS packet total length calculation.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9712

314484
hyperv/hn: Make sure that RNDIS packet message is at least 4B aligned.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9713

314485
hyperv/hn: Misaligned chimney sending buffers should not be used

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9714


# 314091 22-Feb-2017 dexuan

MFC 312688

Approved by: sephe (mentor)

r312688
hyperv/hn: add the support for VF drivers (SR-IOV)

Hyper-V's NIC SR-IOV implementation needs a Hyper-V synthetic NIC and
a VF NIC to work together (both NICs have the same MAC address), mainly to
support seamless live migration.

When the VF device becomes UP (or DOWN), the synthetic NIC driver needs
to switch the data path from the synthetic NIC to the VF (or the opposite).

Note: multicast/broadcast packets are still received through the synthetic
NIC and we need to inject the packets through the VF interface (if the VF is
UP), even if the synthetic NIC is DOWN (so we need to force the rxfilter
to be NDIS_PACKET_TYPE_PROMISCUOUS, when the VF is UP).

Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8964


# 311365 05-Jan-2017 sephe

MFC 309226-309231,309235

309226
hyperv/hn: Utilize vmbus_chan_xact_wait

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8612

309227
hyperv/hn: Fix detach error handling.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8613

309228
hyperv/hn: Fix multi-packet RNDIS message aggregation size setting.

Just in case that no chimney sending buffer can be used.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8619

309229
hyperv/hn: Fix attach error handling

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8620

309230
hyperv/hn: Enable multi-packet RNDIS message support by default.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8621

309231
hyperv/hn: Fix vmbus_chan_subidx usage.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8629

309235
hyperv/hn: Simplify RSS indirect table fixup API

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8630


# 311362 05-Jan-2017 sephe

MFC 309085

hyperv/hn: Fix primary channel revocation

Since hypervisor will not drain the TX bufring, once the channels are
revoked:
- Setup vmbus orphan handler properly.
- Make sure that suspension will not wait the TX bufring draining
forever.
- GC the pending TX descs on detach path, before freeing the busdma
stuffs.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8559


# 311357 05-Jan-2017 sephe

MFC 308907

hyperv/hn: Fix WITNESS warnings

And re-enable SIOCADDMULTI/SIOCDELMULTI, after WITNESS warning is fixed.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8489


# 308625 13-Nov-2016 sephe

MFC 308011,308012

308011
hyperv/hn: Rename cleaned up NVS header file.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8353

308012
hyperv/hn: Rename cleaned up NVS source file.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8354