Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst

Source file repositories/reference/linux-study-clean/Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst

File Facts

System
Linux kernel
Corpus path
Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst
Extension
.rst
Size
4522 bytes
Lines
121
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

======================
Hyper-V network driver
======================

Compatibility
=============

This driver is compatible with Windows Server 2012 R2, 2016 and
Windows 10.

Features
========

Checksum offload
----------------
  The netvsc driver supports checksum offload as long as the
  Hyper-V host version does. Windows Server 2016 and Azure
  support checksum offload for TCP and UDP for both IPv4 and
  IPv6. Windows Server 2012 only supports checksum offload for TCP.

Receive Side Scaling
--------------------
  Hyper-V supports receive side scaling. For TCP & UDP, packets can
  be distributed among available queues based on IP address and port
  number.

  For TCP & UDP, we can switch hash level between L3 and L4 by ethtool
  command. TCP/UDP over IPv4 and v6 can be set differently. The default
  hash level is L4. We currently only allow switching TX hash level
  from within the guests.

  On Azure, fragmented UDP packets have high loss rate with L4
  hashing. Using L3 hashing is recommended in this case.

  For example, for UDP over IPv4 on eth0:

  To include UDP port numbers in hashing::

	ethtool -N eth0 rx-flow-hash udp4 sdfn

  To exclude UDP port numbers in hashing::

	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
  like packets and significantly reduces CPU usage under heavy Rx
  load.

Large Receive Offload (LRO), or Receive Side Coalescing (RSC)
-------------------------------------------------------------
  The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet
  processing overhead by coalescing multiple TCP segments when possible. The
  feature is enabled by default on VMs running on Windows Server 2019 and
  later. It may be changed by ethtool command::

	ethtool -K eth0 lro on
	ethtool -K eth0 lro off

SR-IOV support
--------------
  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

Annotation

Implementation Notes