cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

igb.rst (7647B)


      1.. SPDX-License-Identifier: GPL-2.0+
      2
      3==========================================================
      4Linux Base Driver for Intel(R) Ethernet Network Connection
      5==========================================================
      6
      7Intel Gigabit Linux driver.
      8Copyright(c) 1999-2018 Intel Corporation.
      9
     10Contents
     11========
     12
     13- Identifying Your Adapter
     14- Command Line Parameters
     15- Additional Configurations
     16- Support
     17
     18
     19Identifying Your Adapter
     20========================
     21For information on how to identify your adapter, and for the latest Intel
     22network drivers, refer to the Intel Support website:
     23https://www.intel.com/support
     24
     25
     26Command Line Parameters
     27========================
     28If the driver is built as a module, the following optional parameters are used
     29by entering them on the command line with the modprobe command using this
     30syntax::
     31
     32    modprobe igb [<option>=<VAL1>,<VAL2>,...]
     33
     34There needs to be a <VAL#> for each network port in the system supported by
     35this driver. The values will be applied to each instance, in function order.
     36For example::
     37
     38    modprobe igb max_vfs=2,4
     39
     40In this case, there are two network ports supported by igb in the system.
     41
     42NOTE: A descriptor describes a data buffer and attributes related to the data
     43buffer. This information is accessed by the hardware.
     44
     45max_vfs
     46-------
     47:Valid Range: 0-7
     48
     49This parameter adds support for SR-IOV. It causes the driver to spawn up to
     50max_vfs worth of virtual functions.  If the value is greater than 0 it will
     51also force the VMDq parameter to be 1 or more.
     52
     53The parameters for the driver are referenced by position. Thus, if you have a
     54dual port adapter, or more than one adapter in your system, and want N virtual
     55functions per port, you must specify a number for each port with each parameter
     56separated by a comma. For example::
     57
     58    modprobe igb max_vfs=4
     59
     60This will spawn 4 VFs on the first port.
     61
     62::
     63
     64    modprobe igb max_vfs=2,4
     65
     66This will spawn 2 VFs on the first port and 4 VFs on the second port.
     67
     68NOTE: Caution must be used in loading the driver with these parameters.
     69Depending on your system configuration, number of slots, etc., it is impossible
     70to predict in all cases where the positions would be on the command line.
     71
     72NOTE: Neither the device nor the driver control how VFs are mapped into config
     73space. Bus layout will vary by operating system. On operating systems that
     74support it, you can check sysfs to find the mapping.
     75
     76NOTE: When either SR-IOV mode or VMDq mode is enabled, hardware VLAN filtering
     77and VLAN tag stripping/insertion will remain enabled. Please remove the old
     78VLAN filter before the new VLAN filter is added. For example::
     79
     80    ip link set eth0 vf 0 vlan 100	// set vlan 100 for VF 0
     81    ip link set eth0 vf 0 vlan 0	// Delete vlan 100
     82    ip link set eth0 vf 0 vlan 200	// set a new vlan 200 for VF 0
     83
     84Debug
     85-----
     86:Valid Range: 0-16 (0=none,...,16=all)
     87:Default Value: 0
     88
     89This parameter adjusts the level debug messages displayed in the system logs.
     90
     91
     92Additional Features and Configurations
     93======================================
     94
     95Jumbo Frames
     96------------
     97Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
     98to a value larger than the default value of 1500.
     99
    100Use the ifconfig command to increase the MTU size. For example, enter the
    101following where <x> is the interface number::
    102
    103    ifconfig eth<x> mtu 9000 up
    104
    105Alternatively, you can use the ip command as follows::
    106
    107    ip link set mtu 9000 dev eth<x>
    108    ip link set up dev eth<x>
    109
    110This setting is not saved across reboots. The setting change can be made
    111permanent by adding 'MTU=9000' to the file:
    112
    113- For RHEL: /etc/sysconfig/network-scripts/ifcfg-eth<x>
    114- For SLES: /etc/sysconfig/network/<config_file>
    115
    116NOTE: The maximum MTU setting for Jumbo Frames is 9216. This value coincides
    117with the maximum Jumbo Frames size of 9234 bytes.
    118
    119NOTE: Using Jumbo frames at 10 or 100 Mbps is not supported and may result in
    120poor performance or loss of link.
    121
    122
    123ethtool
    124-------
    125The driver utilizes the ethtool interface for driver configuration and
    126diagnostics, as well as displaying statistical information. The latest ethtool
    127version is required for this functionality. Download it at:
    128
    129https://www.kernel.org/pub/software/network/ethtool/
    130
    131
    132Enabling Wake on LAN (WoL)
    133--------------------------
    134WoL is configured through the ethtool utility.
    135
    136WoL will be enabled on the system during the next shut down or reboot. For
    137this driver version, in order to enable WoL, the igb driver must be loaded
    138prior to shutting down or suspending the system.
    139
    140NOTE: Wake on LAN is only supported on port A of multi-port devices.  Also
    141Wake On LAN is not supported for the following device:
    142- Intel(R) Gigabit VT Quad Port Server Adapter
    143
    144
    145Multiqueue
    146----------
    147In this mode, a separate MSI-X vector is allocated for each queue and one for
    148"other" interrupts such as link status change and errors. All interrupts are
    149throttled via interrupt moderation. Interrupt moderation must be used to avoid
    150interrupt storms while the driver is processing one interrupt. The moderation
    151value should be at least as large as the expected time for the driver to
    152process an interrupt. Multiqueue is off by default.
    153
    154REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not found,
    155the system will fallback to MSI or to Legacy interrupts. This driver supports
    156receive multiqueue on all kernels that support MSI-X.
    157
    158NOTE: On some kernels a reboot is required to switch between single queue mode
    159and multiqueue mode or vice-versa.
    160
    161
    162MAC and VLAN anti-spoofing feature
    163----------------------------------
    164When a malicious driver attempts to send a spoofed packet, it is dropped by the
    165hardware and not transmitted.
    166
    167An interrupt is sent to the PF driver notifying it of the spoof attempt. When a
    168spoofed packet is detected, the PF driver will send the following message to
    169the system log (displayed by the "dmesg" command):
    170Spoof event(s) detected on VF(n), where n = the VF that attempted to do the
    171spoofing
    172
    173
    174Setting MAC Address, VLAN and Rate Limit Using IProute2 Tool
    175------------------------------------------------------------
    176You can set a MAC address of a Virtual Function (VF), a default VLAN and the
    177rate limit using the IProute2 tool. Download the latest version of the
    178IProute2 tool from Sourceforge if your version does not have all the features
    179you require.
    180
    181Credit Based Shaper (Qav Mode)
    182------------------------------
    183When enabling the CBS qdisc in the hardware offload mode, traffic shaping using
    184the CBS (described in the IEEE 802.1Q-2018 Section 8.6.8.2 and discussed in the
    185Annex L) algorithm will run in the i210 controller, so it's more accurate and
    186uses less CPU.
    187
    188When using offloaded CBS, and the traffic rate obeys the configured rate
    189(doesn't go above it), CBS should have little to no effect in the latency.
    190
    191The offloaded version of the algorithm has some limits, caused by how the idle
    192slope is expressed in the adapter's registers. It can only represent idle slopes
    193in 16.38431 kbps units, which means that if a idle slope of 2576kbps is
    194requested, the controller will be configured to use a idle slope of ~2589 kbps,
    195because the driver rounds the value up. For more details, see the comments on
    196:c:func:`igb_config_tx_modes()`.
    197
    198NOTE: This feature is exclusive to i210 models.
    199
    200
    201Support
    202=======
    203For general information, go to the Intel support website at:
    204
    205https://www.intel.com/support/
    206
    207or the Intel Wired Networking project hosted by Sourceforge at:
    208
    209https://sourceforge.net/projects/e1000
    210
    211If an issue is identified with the released source code on a supported kernel
    212with a supported adapter, email the specific information related to the issue
    213to e1000-devel@lists.sf.net.