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

fm10k.rst (4823B)


      1.. SPDX-License-Identifier: GPL-2.0+
      2
      3=============================================================
      4Linux Base Driver for Intel(R) Ethernet Multi-host Controller
      5=============================================================
      6
      7August 20, 2018
      8Copyright(c) 2015-2018 Intel Corporation.
      9
     10Contents
     11========
     12- Identifying Your Adapter
     13- Additional Configurations
     14- Performance Tuning
     15- Known Issues
     16- Support
     17
     18Identifying Your Adapter
     19========================
     20The driver in this release is compatible with devices based on the Intel(R)
     21Ethernet Multi-host Controller.
     22
     23For information on how to identify your adapter, and for the latest Intel
     24network drivers, refer to the Intel Support website:
     25https://www.intel.com/support
     26
     27
     28Flow Control
     29------------
     30The Intel(R) Ethernet Switch Host Interface Driver does not support Flow
     31Control. It will not send pause frames. This may result in dropped frames.
     32
     33
     34Virtual Functions (VFs)
     35-----------------------
     36Use sysfs to enable VFs.
     37Valid Range: 0-64
     38
     39For example::
     40
     41    echo $num_vf_enabled > /sys/class/net/$dev/device/sriov_numvfs //enable VFs
     42    echo 0 > /sys/class/net/$dev/device/sriov_numvfs //disable VFs
     43
     44NOTE: Neither the device nor the driver control how VFs are mapped into config
     45space. Bus layout will vary by operating system. On operating systems that
     46support it, you can check sysfs to find the mapping.
     47
     48NOTE: When SR-IOV mode is enabled, hardware VLAN filtering and VLAN tag
     49stripping/insertion will remain enabled. Please remove the old VLAN filter
     50before the new VLAN filter is added. For example::
     51
     52    ip link set eth0 vf 0 vlan 100	// set vlan 100 for VF 0
     53    ip link set eth0 vf 0 vlan 0	// Delete vlan 100
     54    ip link set eth0 vf 0 vlan 200	// set a new vlan 200 for VF 0
     55
     56
     57Additional Features and Configurations
     58======================================
     59
     60Jumbo Frames
     61------------
     62Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
     63to a value larger than the default value of 1500.
     64
     65Use the ifconfig command to increase the MTU size. For example, enter the
     66following where <x> is the interface number::
     67
     68    ifconfig eth<x> mtu 9000 up
     69
     70Alternatively, you can use the ip command as follows::
     71
     72    ip link set mtu 9000 dev eth<x>
     73    ip link set up dev eth<x>
     74
     75This setting is not saved across reboots. The setting change can be made
     76permanent by adding 'MTU=9000' to the file:
     77
     78- For RHEL: /etc/sysconfig/network-scripts/ifcfg-eth<x>
     79- For SLES: /etc/sysconfig/network/<config_file>
     80
     81NOTE: The maximum MTU setting for Jumbo Frames is 15342. This value coincides
     82with the maximum Jumbo Frames size of 15364 bytes.
     83
     84NOTE: This driver will attempt to use multiple page sized buffers to receive
     85each jumbo packet. This should help to avoid buffer starvation issues when
     86allocating receive packets.
     87
     88
     89Generic Receive Offload, aka GRO
     90--------------------------------
     91The driver supports the in-kernel software implementation of GRO. GRO has
     92shown that by coalescing Rx traffic into larger chunks of data, CPU
     93utilization can be significantly reduced when under large Rx load. GRO is an
     94evolution of the previously-used LRO interface. GRO is able to coalesce
     95other protocols besides TCP. It's also safe to use with configurations that
     96are problematic for LRO, namely bridging and iSCSI.
     97
     98
     99
    100Supported ethtool Commands and Options for Filtering
    101----------------------------------------------------
    102-n --show-nfc
    103  Retrieves the receive network flow classification configurations.
    104
    105rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
    106  Retrieves the hash options for the specified network traffic type.
    107
    108-N --config-nfc
    109  Configures the receive network flow classification.
    110
    111rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r
    112  Configures the hash options for the specified network traffic type.
    113
    114- udp4: UDP over IPv4
    115- udp6: UDP over IPv6
    116- f Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
    117- n Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
    118
    119
    120Known Issues/Troubleshooting
    121============================
    122
    123Enabling SR-IOV in a 64-bit Microsoft Windows Server 2012/R2 guest OS under Linux KVM
    124-------------------------------------------------------------------------------------
    125KVM Hypervisor/VMM supports direct assignment of a PCIe device to a VM. This
    126includes traditional PCIe devices, as well as SR-IOV-capable devices based on
    127the Intel Ethernet Controller XL710.
    128
    129
    130Support
    131=======
    132For general information, go to the Intel support website at:
    133
    134https://www.intel.com/support/
    135
    136or the Intel Wired Networking project hosted by Sourceforge at:
    137
    138https://sourceforge.net/projects/e1000
    139
    140If an issue is identified with the released source code on a supported kernel
    141with a supported adapter, email the specific information related to the issue
    142to e1000-devel@lists.sf.net.