Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0+
0002 
0003 =============================================================
0004 Linux Base Driver for Intel(R) Ethernet Multi-host Controller
0005 =============================================================
0006 
0007 August 20, 2018
0008 Copyright(c) 2015-2018 Intel Corporation.
0009 
0010 Contents
0011 ========
0012 - Identifying Your Adapter
0013 - Additional Configurations
0014 - Performance Tuning
0015 - Known Issues
0016 - Support
0017 
0018 Identifying Your Adapter
0019 ========================
0020 The driver in this release is compatible with devices based on the Intel(R)
0021 Ethernet Multi-host Controller.
0022 
0023 For information on how to identify your adapter, and for the latest Intel
0024 network drivers, refer to the Intel Support website:
0025 https://www.intel.com/support
0026 
0027 
0028 Flow Control
0029 ------------
0030 The Intel(R) Ethernet Switch Host Interface Driver does not support Flow
0031 Control. It will not send pause frames. This may result in dropped frames.
0032 
0033 
0034 Virtual Functions (VFs)
0035 -----------------------
0036 Use sysfs to enable VFs.
0037 Valid Range: 0-64
0038 
0039 For example::
0040 
0041     echo $num_vf_enabled > /sys/class/net/$dev/device/sriov_numvfs //enable VFs
0042     echo 0 > /sys/class/net/$dev/device/sriov_numvfs //disable VFs
0043 
0044 NOTE: Neither the device nor the driver control how VFs are mapped into config
0045 space. Bus layout will vary by operating system. On operating systems that
0046 support it, you can check sysfs to find the mapping.
0047 
0048 NOTE: When SR-IOV mode is enabled, hardware VLAN filtering and VLAN tag
0049 stripping/insertion will remain enabled. Please remove the old VLAN filter
0050 before the new VLAN filter is added. For example::
0051 
0052     ip link set eth0 vf 0 vlan 100      // set vlan 100 for VF 0
0053     ip link set eth0 vf 0 vlan 0        // Delete vlan 100
0054     ip link set eth0 vf 0 vlan 200      // set a new vlan 200 for VF 0
0055 
0056 
0057 Additional Features and Configurations
0058 ======================================
0059 
0060 Jumbo Frames
0061 ------------
0062 Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
0063 to a value larger than the default value of 1500.
0064 
0065 Use the ifconfig command to increase the MTU size. For example, enter the
0066 following where <x> is the interface number::
0067 
0068     ifconfig eth<x> mtu 9000 up
0069 
0070 Alternatively, you can use the ip command as follows::
0071 
0072     ip link set mtu 9000 dev eth<x>
0073     ip link set up dev eth<x>
0074 
0075 This setting is not saved across reboots. The setting change can be made
0076 permanent by adding 'MTU=9000' to the file:
0077 
0078 - For RHEL: /etc/sysconfig/network-scripts/ifcfg-eth<x>
0079 - For SLES: /etc/sysconfig/network/<config_file>
0080 
0081 NOTE: The maximum MTU setting for Jumbo Frames is 15342. This value coincides
0082 with the maximum Jumbo Frames size of 15364 bytes.
0083 
0084 NOTE: This driver will attempt to use multiple page sized buffers to receive
0085 each jumbo packet. This should help to avoid buffer starvation issues when
0086 allocating receive packets.
0087 
0088 
0089 Generic Receive Offload, aka GRO
0090 --------------------------------
0091 The driver supports the in-kernel software implementation of GRO. GRO has
0092 shown that by coalescing Rx traffic into larger chunks of data, CPU
0093 utilization can be significantly reduced when under large Rx load. GRO is an
0094 evolution of the previously-used LRO interface. GRO is able to coalesce
0095 other protocols besides TCP. It's also safe to use with configurations that
0096 are problematic for LRO, namely bridging and iSCSI.
0097 
0098 
0099 
0100 Supported ethtool Commands and Options for Filtering
0101 ----------------------------------------------------
0102 -n --show-nfc
0103   Retrieves the receive network flow classification configurations.
0104 
0105 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
0106   Retrieves the hash options for the specified network traffic type.
0107 
0108 -N --config-nfc
0109   Configures the receive network flow classification.
0110 
0111 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r
0112   Configures the hash options for the specified network traffic type.
0113 
0114 - udp4: UDP over IPv4
0115 - udp6: UDP over IPv6
0116 - f Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
0117 - n Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
0118 
0119 
0120 Known Issues/Troubleshooting
0121 ============================
0122 
0123 Enabling SR-IOV in a 64-bit Microsoft Windows Server 2012/R2 guest OS under Linux KVM
0124 -------------------------------------------------------------------------------------
0125 KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This
0126 includes traditional PCIe devices, as well as SR-IOV-capable devices based on
0127 the Intel Ethernet Controller XL710.
0128 
0129 
0130 Support
0131 =======
0132 For general information, go to the Intel support website at:
0133 
0134 https://www.intel.com/support/
0135 
0136 or the Intel Wired Networking project hosted by Sourceforge at:
0137 
0138 https://sourceforge.net/projects/e1000
0139 
0140 If an issue is identified with the released source code on a supported kernel
0141 with a supported adapter, email the specific information related to the issue
0142 to e1000-devel@lists.sf.net.