#
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
|