Commit 011531f7 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by David S. Miller

docs: networking: device drivers: convert microsoft/netvsc.txt to ReST

- add SPDX header;
- adjust titles and chapters, adding proper markups;
- mark code blocks and literals as such;
- adjust identation, whitespaces and blank lines where needed;
- add to networking/index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c81f1957
...@@ -41,6 +41,7 @@ Contents: ...@@ -41,6 +41,7 @@ Contents:
freescale/gianfar freescale/gianfar
intel/ipw2100 intel/ipw2100
intel/ipw2200 intel/ipw2200
microsoft/netvsc
.. only:: subproject and html .. only:: subproject and html
......
.. SPDX-License-Identifier: GPL-2.0
======================
Hyper-V network driver Hyper-V network driver
====================== ======================
...@@ -10,15 +13,15 @@ Windows 10. ...@@ -10,15 +13,15 @@ Windows 10.
Features Features
======== ========
Checksum offload Checksum offload
---------------- ----------------
The netvsc driver supports checksum offload as long as the The netvsc driver supports checksum offload as long as the
Hyper-V host version does. Windows Server 2016 and Azure Hyper-V host version does. Windows Server 2016 and Azure
support checksum offload for TCP and UDP for both IPv4 and support checksum offload for TCP and UDP for both IPv4 and
IPv6. Windows Server 2012 only supports checksum offload for TCP. IPv6. Windows Server 2012 only supports checksum offload for TCP.
Receive Side Scaling Receive Side Scaling
-------------------- --------------------
Hyper-V supports receive side scaling. For TCP & UDP, packets can Hyper-V supports receive side scaling. For TCP & UDP, packets can
be distributed among available queues based on IP address and port be distributed among available queues based on IP address and port
number. number.
...@@ -32,30 +35,37 @@ Features ...@@ -32,30 +35,37 @@ Features
hashing. Using L3 hashing is recommended in this case. hashing. Using L3 hashing is recommended in this case.
For example, for UDP over IPv4 on eth0: For example, for UDP over IPv4 on eth0:
To include UDP port numbers in hashing:
ethtool -N eth0 rx-flow-hash udp4 sdfn To include UDP port numbers in hashing::
To exclude UDP port numbers in hashing:
ethtool -N eth0 rx-flow-hash udp4 sd ethtool -N eth0 rx-flow-hash udp4 sdfn
To show UDP hash level:
ethtool -n eth0 rx-flow-hash udp4 To exclude UDP port numbers in hashing::
Generic Receive Offload, aka GRO ethtool -N eth0 rx-flow-hash udp4 sd
--------------------------------
To show UDP hash level::
ethtool -n eth0 rx-flow-hash udp4
Generic Receive Offload, aka GRO
--------------------------------
The driver supports GRO and it is enabled by default. GRO coalesces The driver supports GRO and it is enabled by default. GRO coalesces
like packets and significantly reduces CPU usage under heavy Rx like packets and significantly reduces CPU usage under heavy Rx
load. load.
Large Receive Offload (LRO), or Receive Side Coalescing (RSC) Large Receive Offload (LRO), or Receive Side Coalescing (RSC)
------------------------------------------------------------- -------------------------------------------------------------
The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet
processing overhead by coalescing multiple TCP segments when possible. The processing overhead by coalescing multiple TCP segments when possible. The
feature is enabled by default on VMs running on Windows Server 2019 and feature is enabled by default on VMs running on Windows Server 2019 and
later. It may be changed by ethtool command: later. It may be changed by ethtool command::
ethtool -K eth0 lro on ethtool -K eth0 lro on
ethtool -K eth0 lro off ethtool -K eth0 lro off
SR-IOV support SR-IOV support
-------------- --------------
Hyper-V supports SR-IOV as a hardware acceleration option. If SR-IOV Hyper-V supports SR-IOV as a hardware acceleration option. If SR-IOV
is enabled in both the vSwitch and the guest configuration, then the is enabled in both the vSwitch and the guest configuration, then the
Virtual Function (VF) device is passed to the guest as a PCI Virtual Function (VF) device is passed to the guest as a PCI
...@@ -70,8 +80,8 @@ Features ...@@ -70,8 +80,8 @@ Features
flow direction is desired, these should be applied directly to the flow direction is desired, these should be applied directly to the
VF slave device. VF slave device.
Receive Buffer Receive Buffer
-------------- --------------
Packets are received into a receive area which is created when device Packets are received into a receive area which is created when device
is probed. The receive area is broken into MTU sized chunks and each may is probed. The receive area is broken into MTU sized chunks and each may
contain one or more packets. The number of receive sections may be changed contain one or more packets. The number of receive sections may be changed
...@@ -83,8 +93,8 @@ Features ...@@ -83,8 +93,8 @@ Features
will use slower method to handle very large packets or if the send buffer will use slower method to handle very large packets or if the send buffer
area is exhausted. area is exhausted.
XDP support XDP support
----------- -----------
XDP (eXpress Data Path) is a feature that runs eBPF bytecode at the early XDP (eXpress Data Path) is a feature that runs eBPF bytecode at the early
stage when packets arrive at a NIC card. The goal is to increase performance stage when packets arrive at a NIC card. The goal is to increase performance
for packet processing, reducing the overhead of SKB allocation and other for packet processing, reducing the overhead of SKB allocation and other
...@@ -99,7 +109,8 @@ Features ...@@ -99,7 +109,8 @@ Features
overwritten by setting of synthetic NIC. overwritten by setting of synthetic NIC.
XDP program cannot run with LRO (RSC) enabled, so you need to disable LRO XDP program cannot run with LRO (RSC) enabled, so you need to disable LRO
before running XDP: before running XDP::
ethtool -K eth0 lro off ethtool -K eth0 lro off
XDP_REDIRECT action is not yet supported. XDP_REDIRECT action is not yet supported.
...@@ -7867,7 +7867,7 @@ S: Supported ...@@ -7867,7 +7867,7 @@ S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
F: Documentation/ABI/stable/sysfs-bus-vmbus F: Documentation/ABI/stable/sysfs-bus-vmbus
F: Documentation/ABI/testing/debugfs-hyperv F: Documentation/ABI/testing/debugfs-hyperv
F: Documentation/networking/device_drivers/microsoft/netvsc.txt F: Documentation/networking/device_drivers/microsoft/netvsc.rst
F: arch/x86/hyperv F: arch/x86/hyperv
F: arch/x86/include/asm/hyperv-tlfs.h F: arch/x86/include/asm/hyperv-tlfs.h
F: arch/x86/include/asm/mshyperv.h F: arch/x86/include/asm/mshyperv.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment