|
@@ -0,0 +1,141 @@
|
|
|
+.. SPDX-License-Identifier: GPL-2.0+
|
|
|
+
|
|
|
+Linux* Base Driver for Intel(R) Ethernet Multi-host Controller
|
|
|
+==============================================================
|
|
|
+
|
|
|
+August 20, 2018
|
|
|
+Copyright(c) 2015-2018 Intel Corporation.
|
|
|
+
|
|
|
+Contents
|
|
|
+========
|
|
|
+- Identifying Your Adapter
|
|
|
+- Additional Configurations
|
|
|
+- Performance Tuning
|
|
|
+- Known Issues
|
|
|
+- Support
|
|
|
+
|
|
|
+Identifying Your Adapter
|
|
|
+========================
|
|
|
+The driver in this release is compatible with devices based on the Intel(R)
|
|
|
+Ethernet Multi-host Controller.
|
|
|
+
|
|
|
+For information on how to identify your adapter, and for the latest Intel
|
|
|
+network drivers, refer to the Intel Support website:
|
|
|
+http://www.intel.com/support
|
|
|
+
|
|
|
+
|
|
|
+Flow Control
|
|
|
+------------
|
|
|
+The Intel(R) Ethernet Switch Host Interface Driver does not support Flow
|
|
|
+Control. It will not send pause frames. This may result in dropped frames.
|
|
|
+
|
|
|
+
|
|
|
+Virtual Functions (VFs)
|
|
|
+-----------------------
|
|
|
+Use sysfs to enable VFs.
|
|
|
+Valid Range: 0-64
|
|
|
+
|
|
|
+For example::
|
|
|
+
|
|
|
+ echo $num_vf_enabled > /sys/class/net/$dev/device/sriov_numvfs //enable VFs
|
|
|
+ echo 0 > /sys/class/net/$dev/device/sriov_numvfs //disable VFs
|
|
|
+
|
|
|
+NOTE: Neither the device nor the driver control how VFs are mapped into config
|
|
|
+space. Bus layout will vary by operating system. On operating systems that
|
|
|
+support it, you can check sysfs to find the mapping.
|
|
|
+
|
|
|
+NOTE: When SR-IOV mode is enabled, hardware VLAN filtering and VLAN tag
|
|
|
+stripping/insertion will remain enabled. Please remove the old VLAN filter
|
|
|
+before the new VLAN filter is added. For example::
|
|
|
+
|
|
|
+ ip link set eth0 vf 0 vlan 100 // set vlan 100 for VF 0
|
|
|
+ ip link set eth0 vf 0 vlan 0 // Delete vlan 100
|
|
|
+ ip link set eth0 vf 0 vlan 200 // set a new vlan 200 for VF 0
|
|
|
+
|
|
|
+
|
|
|
+Additional Features and Configurations
|
|
|
+======================================
|
|
|
+
|
|
|
+Jumbo Frames
|
|
|
+------------
|
|
|
+Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
|
|
|
+to a value larger than the default value of 1500.
|
|
|
+
|
|
|
+Use the ifconfig command to increase the MTU size. For example, enter the
|
|
|
+following where <x> is the interface number::
|
|
|
+
|
|
|
+ ifconfig eth<x> mtu 9000 up
|
|
|
+
|
|
|
+Alternatively, you can use the ip command as follows::
|
|
|
+
|
|
|
+ ip link set mtu 9000 dev eth<x>
|
|
|
+ ip link set up dev eth<x>
|
|
|
+
|
|
|
+This setting is not saved across reboots. The setting change can be made
|
|
|
+permanent by adding 'MTU=9000' to the file:
|
|
|
+
|
|
|
+- For RHEL: /etc/sysconfig/network-scripts/ifcfg-eth<x>
|
|
|
+- For SLES: /etc/sysconfig/network/<config_file>
|
|
|
+
|
|
|
+NOTE: The maximum MTU setting for Jumbo Frames is 15342. This value coincides
|
|
|
+with the maximum Jumbo Frames size of 15364 bytes.
|
|
|
+
|
|
|
+NOTE: This driver will attempt to use multiple page sized buffers to receive
|
|
|
+each jumbo packet. This should help to avoid buffer starvation issues when
|
|
|
+allocating receive packets.
|
|
|
+
|
|
|
+
|
|
|
+Generic Receive Offload, aka GRO
|
|
|
+--------------------------------
|
|
|
+The driver supports the in-kernel software implementation of GRO. GRO has
|
|
|
+shown that by coalescing Rx traffic into larger chunks of data, CPU
|
|
|
+utilization can be significantly reduced when under large Rx load. GRO is an
|
|
|
+evolution of the previously-used LRO interface. GRO is able to coalesce
|
|
|
+other protocols besides TCP. It's also safe to use with configurations that
|
|
|
+are problematic for LRO, namely bridging and iSCSI.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Supported ethtool Commands and Options for Filtering
|
|
|
+----------------------------------------------------
|
|
|
+-n --show-nfc
|
|
|
+ Retrieves the receive network flow classification configurations.
|
|
|
+
|
|
|
+rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
|
|
|
+ Retrieves the hash options for the specified network traffic type.
|
|
|
+
|
|
|
+-N --config-nfc
|
|
|
+ Configures the receive network flow classification.
|
|
|
+
|
|
|
+rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r
|
|
|
+ Configures the hash options for the specified network traffic type.
|
|
|
+
|
|
|
+- udp4: UDP over IPv4
|
|
|
+- udp6: UDP over IPv6
|
|
|
+- f Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
|
|
|
+- n Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
|
|
|
+
|
|
|
+
|
|
|
+Known Issues/Troubleshooting
|
|
|
+============================
|
|
|
+
|
|
|
+Enabling SR-IOV in a 64-bit Microsoft* Windows Server* 2012/R2 guest OS under Linux KVM
|
|
|
+---------------------------------------------------------------------------------------
|
|
|
+KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This
|
|
|
+includes traditional PCIe devices, as well as SR-IOV-capable devices based on
|
|
|
+the Intel Ethernet Controller XL710.
|
|
|
+
|
|
|
+
|
|
|
+Support
|
|
|
+=======
|
|
|
+For general information, go to the Intel support website at:
|
|
|
+
|
|
|
+https://www.intel.com/support/
|
|
|
+
|
|
|
+or the Intel Wired Networking project hosted by Sourceforge at:
|
|
|
+
|
|
|
+https://sourceforge.net/projects/e1000
|
|
|
+
|
|
|
+If an issue is identified with the released source code on a supported kernel
|
|
|
+with a supported adapter, email the specific information related to the issue
|
|
|
+to e1000-devel@lists.sf.net.
|