History log of /freebsd-10-stable/sys/dev/hyperv/netvsc/ndis.h
Revision Date Author Comments
# 324574 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


# 324467 10-Oct-2017 sephe

MFC 324048

hyperv/hn: Set tcp header offset for CSUM/LSO offloading.

No observable effect; better safe than sorry.

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


# 324465 10-Oct-2017 sephe

MFC 323727,324316

323727
hyperv/hn: Apply VF's RSS setting

Since in Azure SYN and SYN|ACK go through the synthetic parts while the
rest of the same TCP flow goes through the VF, apply VF's RSS settings
to synthetic parts to have a consistent hash value/type for the same TCP
flow.

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

324316
hyperv/hn: Fix options RSS building

Reported by: np
Sponsored by: Microsoft


# 308502 10-Nov-2016 sephe

MFC 307983

hyperv/hn: Properly configure RSS according to RSS capabilities

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


# 308494 10-Nov-2016 sephe

MFC 307710-307712,307714

307710
hyperv/hn: Always query RSS capabilities.

- This avoid distributing NDIS version check.
- Only NDIS 6.20 required (earlier NDIS uses different indirect table
format).

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

307711
hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.

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

307712
hyperv/hn: Add network change support.

Currently the network change is simulated by link status changes.

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

307714
hyperv/hn: Function renaming; consistent w/ hardware capabilities query.

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


# 307620 19-Oct-2016 sephe

MFC 306936-306939

306936
hyperv/hn: Fix checksum offload settings

The _correct_ way to identify the supported checksum offloading and
TSO parameters is to query OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES.

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

306937
hyperv/hn: Fix if_hw_tsomax setup.

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

306938
hyperv/hn: Generalize RSS capabilities query.

- Support NDIS < 6.30.
- Stringent response checks.

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

306939
hyperv/hn: Suffix NDIS offload size with NDIS version.

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


# 307212 13-Oct-2016 sephe

MFC 305925,305926,305960

305925
hyperv/hn: Don't mess up RSS key and indirect table after attachment.

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

305926
hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table

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

305960
hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7916


# 307199 13-Oct-2016 sephe

MFC 305454,305455,305521,305524-305526

305454
hyperv/hn: Fix VLAN tag setup for outgoing VLAN packets.

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

305455
hyperv/hn: Avoid bit fields for LSOv2 setup.

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

305521
hyperv/hn: Avoid bit fields for TXCSUM setup.

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

305524
hyperv/hn: Cleanup RNDIS packet message encapsulation.

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

305525
hyperv/hn: Simplify per-packet-info construction.

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

305526
hyperv/hn: Nuke unused bits

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


# 307193 13-Oct-2016 sephe

MFC 305175,305176,305179,305182,305268,305270,305276

305175
net/rndis: Define per-packet-info for RNDIS packet message

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

305176
hyperv/hn: Stringent per-packet-info verification.

While I'm here, minor style changes.

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

305179
hyperv/hn: Fix VLAN tag construction.

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

305182
net/rndis: Define types for RNDIS pktinfo rm_type field.

They are defined by NDIS spec, so the NDIS prefix.

Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7717

305268
hyperv/hn: Rework RXCSUM related bits

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

305270
hyperv/hn: Simplify RX hash related bits.

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

305276
hyperv/hn: Use the per-packet-info types defined by net/rndis.h

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


# 307184 13-Oct-2016 sephe

MFC 304973,304975,304976,304979,305044-305048

304973
hyperv/hn: Switch to new RNDIS query for link status extraction.

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

304975
hyperv/hn: Switch to new RNDIS query for RSS capabilities extraction.

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

304976
hyperv/hn: Fix # of channels setting, if RSS is not available.

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

304979
hyperv/hn: Switch to new RNDIS set for RSS parameters.

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

305044
hyperv/hn: Move OIDs to net/rndis.h; they are standard NDIS OIDs.

Actually all OIDs defined in net/rndis.h are standard NDIS OIDs.
While I'm here, use the verbose macro name as in NDIS spec.

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

305045
hyperv/hn: Indentation and field comment fixup for ndis.h.

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

305046
net/rndis: Packet types are defined by NDIS; not RNDIS specific.

Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7681

305047
hyperv/hn: Switch to new RNDIS set for RX filters.

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

305048
hyperv/hn: Remove unused function

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


# 307181 13-Oct-2016 sephe

MFC 304832-304834,304972

304832
hyperv/hn: Use vmbus xact for RNDIS query.

And switch MAC address query to use new RNDIS query function.

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

304833
hyperv/hn: Save the adopted NDIS version for RNDIS to use later.

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

304834
hyperv/hn: Use vmbus xact for RNDIS set.

And use new RNDIS set to configure NDIS offloading parameters.

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

304972
hyperv/hn: Add definition for NDIS media state.

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