0001 .. SPDX-License-Identifier: GPL-2.0+
0002
0003 ==========================================================
0004 Linux Base Driver for Intel(R) Ethernet Network Connection
0005 ==========================================================
0006
0007 Intel Gigabit Linux driver.
0008 Copyright(c) 1999-2018 Intel Corporation.
0009
0010 Contents
0011 ========
0012
0013 - Identifying Your Adapter
0014 - Command Line Parameters
0015 - Additional Configurations
0016 - Support
0017
0018
0019 Identifying Your Adapter
0020 ========================
0021 For information on how to identify your adapter, and for the latest Intel
0022 network drivers, refer to the Intel Support website:
0023 https://www.intel.com/support
0024
0025
0026 Command Line Parameters
0027 ========================
0028 If the driver is built as a module, the following optional parameters are used
0029 by entering them on the command line with the modprobe command using this
0030 syntax::
0031
0032 modprobe igb [<option>=<VAL1>,<VAL2>,...]
0033
0034 There needs to be a <VAL#> for each network port in the system supported by
0035 this driver. The values will be applied to each instance, in function order.
0036 For example::
0037
0038 modprobe igb max_vfs=2,4
0039
0040 In this case, there are two network ports supported by igb in the system.
0041
0042 NOTE: A descriptor describes a data buffer and attributes related to the data
0043 buffer. This information is accessed by the hardware.
0044
0045 max_vfs
0046 -------
0047 :Valid Range: 0-7
0048
0049 This parameter adds support for SR-IOV. It causes the driver to spawn up to
0050 max_vfs worth of virtual functions. If the value is greater than 0 it will
0051 also force the VMDq parameter to be 1 or more.
0052
0053 The parameters for the driver are referenced by position. Thus, if you have a
0054 dual port adapter, or more than one adapter in your system, and want N virtual
0055 functions per port, you must specify a number for each port with each parameter
0056 separated by a comma. For example::
0057
0058 modprobe igb max_vfs=4
0059
0060 This will spawn 4 VFs on the first port.
0061
0062 ::
0063
0064 modprobe igb max_vfs=2,4
0065
0066 This will spawn 2 VFs on the first port and 4 VFs on the second port.
0067
0068 NOTE: Caution must be used in loading the driver with these parameters.
0069 Depending on your system configuration, number of slots, etc., it is impossible
0070 to predict in all cases where the positions would be on the command line.
0071
0072 NOTE: Neither the device nor the driver control how VFs are mapped into config
0073 space. Bus layout will vary by operating system. On operating systems that
0074 support it, you can check sysfs to find the mapping.
0075
0076 NOTE: When either SR-IOV mode or VMDq mode is enabled, hardware VLAN filtering
0077 and VLAN tag stripping/insertion will remain enabled. Please remove the old
0078 VLAN filter before the new VLAN filter is added. For example::
0079
0080 ip link set eth0 vf 0 vlan 100 // set vlan 100 for VF 0
0081 ip link set eth0 vf 0 vlan 0 // Delete vlan 100
0082 ip link set eth0 vf 0 vlan 200 // set a new vlan 200 for VF 0
0083
0084 Debug
0085 -----
0086 :Valid Range: 0-16 (0=none,...,16=all)
0087 :Default Value: 0
0088
0089 This parameter adjusts the level debug messages displayed in the system logs.
0090
0091
0092 Additional Features and Configurations
0093 ======================================
0094
0095 Jumbo Frames
0096 ------------
0097 Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
0098 to a value larger than the default value of 1500.
0099
0100 Use the ifconfig command to increase the MTU size. For example, enter the
0101 following where <x> is the interface number::
0102
0103 ifconfig eth<x> mtu 9000 up
0104
0105 Alternatively, you can use the ip command as follows::
0106
0107 ip link set mtu 9000 dev eth<x>
0108 ip link set up dev eth<x>
0109
0110 This setting is not saved across reboots. The setting change can be made
0111 permanent by adding 'MTU=9000' to the file:
0112
0113 - For RHEL: /etc/sysconfig/network-scripts/ifcfg-eth<x>
0114 - For SLES: /etc/sysconfig/network/<config_file>
0115
0116 NOTE: The maximum MTU setting for Jumbo Frames is 9216. This value coincides
0117 with the maximum Jumbo Frames size of 9234 bytes.
0118
0119 NOTE: Using Jumbo frames at 10 or 100 Mbps is not supported and may result in
0120 poor performance or loss of link.
0121
0122
0123 ethtool
0124 -------
0125 The driver utilizes the ethtool interface for driver configuration and
0126 diagnostics, as well as displaying statistical information. The latest ethtool
0127 version is required for this functionality. Download it at:
0128
0129 https://www.kernel.org/pub/software/network/ethtool/
0130
0131
0132 Enabling Wake on LAN (WoL)
0133 --------------------------
0134 WoL is configured through the ethtool utility.
0135
0136 WoL will be enabled on the system during the next shut down or reboot. For
0137 this driver version, in order to enable WoL, the igb driver must be loaded
0138 prior to shutting down or suspending the system.
0139
0140 NOTE: Wake on LAN is only supported on port A of multi-port devices. Also
0141 Wake On LAN is not supported for the following device:
0142 - Intel(R) Gigabit VT Quad Port Server Adapter
0143
0144
0145 Multiqueue
0146 ----------
0147 In this mode, a separate MSI-X vector is allocated for each queue and one for
0148 "other" interrupts such as link status change and errors. All interrupts are
0149 throttled via interrupt moderation. Interrupt moderation must be used to avoid
0150 interrupt storms while the driver is processing one interrupt. The moderation
0151 value should be at least as large as the expected time for the driver to
0152 process an interrupt. Multiqueue is off by default.
0153
0154 REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not found,
0155 the system will fallback to MSI or to Legacy interrupts. This driver supports
0156 receive multiqueue on all kernels that support MSI-X.
0157
0158 NOTE: On some kernels a reboot is required to switch between single queue mode
0159 and multiqueue mode or vice-versa.
0160
0161
0162 MAC and VLAN anti-spoofing feature
0163 ----------------------------------
0164 When a malicious driver attempts to send a spoofed packet, it is dropped by the
0165 hardware and not transmitted.
0166
0167 An interrupt is sent to the PF driver notifying it of the spoof attempt. When a
0168 spoofed packet is detected, the PF driver will send the following message to
0169 the system log (displayed by the "dmesg" command):
0170 Spoof event(s) detected on VF(n), where n = the VF that attempted to do the
0171 spoofing
0172
0173
0174 Setting MAC Address, VLAN and Rate Limit Using IProute2 Tool
0175 ------------------------------------------------------------
0176 You can set a MAC address of a Virtual Function (VF), a default VLAN and the
0177 rate limit using the IProute2 tool. Download the latest version of the
0178 IProute2 tool from Sourceforge if your version does not have all the features
0179 you require.
0180
0181 Credit Based Shaper (Qav Mode)
0182 ------------------------------
0183 When enabling the CBS qdisc in the hardware offload mode, traffic shaping using
0184 the CBS (described in the IEEE 802.1Q-2018 Section 8.6.8.2 and discussed in the
0185 Annex L) algorithm will run in the i210 controller, so it's more accurate and
0186 uses less CPU.
0187
0188 When using offloaded CBS, and the traffic rate obeys the configured rate
0189 (doesn't go above it), CBS should have little to no effect in the latency.
0190
0191 The offloaded version of the algorithm has some limits, caused by how the idle
0192 slope is expressed in the adapter's registers. It can only represent idle slopes
0193 in 16.38431 kbps units, which means that if a idle slope of 2576kbps is
0194 requested, the controller will be configured to use a idle slope of ~2589 kbps,
0195 because the driver rounds the value up. For more details, see the comments on
0196 :c:func:`igb_config_tx_modes()`.
0197
0198 NOTE: This feature is exclusive to i210 models.
0199
0200
0201 Support
0202 =======
0203 For general information, go to the Intel support website at:
0204
0205 https://www.intel.com/support/
0206
0207 or the Intel Wired Networking project hosted by Sourceforge at:
0208
0209 https://sourceforge.net/projects/e1000
0210
0211 If an issue is identified with the released source code on a supported kernel
0212 with a supported adapter, email the specific information related to the issue
0213 to e1000-devel@lists.sf.net.