#
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
|
#
324466 |
|
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
|
#
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
|
#
324464 |
|
10-Oct-2017 |
sephe |
MFC 323176
hyperv/hn: Log RSS capabilities mask.
This helps to detect when UDP hash types can be supported.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D12177
|
#
324461 |
|
10-Oct-2017 |
sephe |
MFC 322488
hyperv: Update copyright for the files changed in 2017
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11982
|
#
316672 |
|
10-Apr-2017 |
sephe |
MFC 316520
hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init.
Under certain conditions on certain versions of Hyper-V, the RNDIS rxfilter is _not_ zero on the hypervisor side after the successful RNDIS initialization, which breaks the assumption of any following code (well, it breaks the RNDIS API contract actually). Clear the RNDIS rxfilter explicitly, drain packets sneaking through, and drain the interrupt taskqueues scheduled due to the stealth packets.
Reported by: dexuan@ Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10230
|
#
315437 |
|
17-Mar-2017 |
sephe |
MFC 314382,314483-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
|
#
310757 |
|
29-Dec-2016 |
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
|
#
310739 |
|
29-Dec-2016 |
sephe |
MFC 308908,308909
308908 hyperv/hn: Allow enabling IPv6 TX checksum offloading and IPv6 TSO.
They are still disabled by default.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8490
308909 hyperv/hn: Don't abuse hn_{tx,rx}_ring_inuse.
Just in case, the # of TX/RX rings is changed upon synthetic parts re-attach.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8520
|
#
310738 |
|
29-Dec-2016 |
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
|
#
310736 |
|
29-Dec-2016 |
sephe |
MFC 308905
hyperv/hn: Implement RNDIS multi-packet message support.
Currently, it is only applied to packet sent through chimney sending buffers. Not enabled by default yet.
This one gives 20%~30% performance boost for non-TSO usage in both bit/packet rate tests and nginx performance test.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8560
|
#
308508 |
|
10-Nov-2016 |
sephe |
MFC 308018,308116
308018 hyeprv/hn: Rename cleaned up RNDIS header file.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8360
308116 hyperv/hn: Rename cleaned up RNDIS source file.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8361
|