Message ID | 20180412162904.9337-2-jeffrey.t.kirsher@intel.com |
---|---|
State | Changes Requested |
Delegated to: | Jeff Kirsher |
Headers | show |
Series | [v2] Documentation: i40evf: Update kernel documentation | expand |
> -----Original Message----- > From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On > Behalf Of Jeff Kirsher > Sent: Thursday, April 12, 2018 9:29 AM > To: intel-wired-lan@lists.osuosl.org > Subject: [Intel-wired-lan] [PATCH v2] Documentation: i40evf: Update kernel > documentation > > Updated the i40evf.txt kernel documentation with the latest information. > > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> > --- > v2: fixed up documentation based on community feedback and internal > review > > --- > Documentation/networking/i40evf.txt | 324 > ++++++++++++++++++++++++++++++++---- > 1 file changed, 292 insertions(+), 32 deletions(-) Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
On 4/12/2018 9:29 AM, Jeff Kirsher wrote: > Updated the i40evf.txt kernel documentation with the latest information. > > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> > --- > v2: fixed up documentation based on community feedback and internal > review > > --- > Documentation/networking/i40evf.txt | 324 ++++++++++++++++++++++++++++++++---- > 1 file changed, 292 insertions(+), 32 deletions(-) > > diff --git a/Documentation/networking/i40evf.txt b/Documentation/networking/i40evf.txt > index e9b3035b95d0..a333ed688c00 100644 > --- a/Documentation/networking/i40evf.txt > +++ b/Documentation/networking/i40evf.txt > @@ -1,54 +1,314 @@ > -Linux* Base Driver for Intel(R) Network Connection > -================================================== > +Linux* Driver for Intel(R) Ethernet Virtual Function 700 Series > +====================================================== > > -Intel Ethernet Adaptive Virtual Function Linux driver. > -Copyright(c) 2013-2017 Intel Corporation. > +February 26, 2018 Copyright? sln > + > +====================================================== > > Contents > ======== > - > -- Identifying Your Adapter > -- Known Issues/Troubleshooting > +- Overview > +- Additional Configurations > +- Known Issues > - Support > +- License > + > +This driver supports XL710- and X710-based virtual function devices > +with CONFIG_PCI_IOV enabled. > + > +SR-IOV requires the correct platform and OS support. > > -This file describes the i40evf Linux* Base Driver. > +The guest OS loading this driver must support MSI-X interrupts. > > -The i40evf driver supports the below mentioned virtual function > -devices and can only be activated on kernels running the i40e or > -newer Physical Function (PF) driver compiled with CONFIG_PCI_IOV. > -The i40evf driver requires CONFIG_PCI_MSI to be enabled. > +For questions related to hardware requirements, refer to the documentation > +supplied with your Intel adapter. All hardware requirements listed apply to use > +with Linux. > + > +Driver information can be obtained using ethtool, lspci, and ifconfig. > +Instructions on updating ethtool can be found in the section Additional > +Configurations later in this document. > + > +The i40evf driver supports virtual functions generated by the i40e driver, > +with one or more VFs enabled through sysfs. > > -The guest OS loading the i40evf driver must support MSI-X interrupts. > > -Supported Hardware > -================== > -Intel XL710 X710 Virtual Function > -Intel Ethernet Adaptive Virtual Function > -Intel X722 Virtual Function > > Identifying Your Adapter > -======================== > +------------------------ > +The driver in this kernel is compatible with devices based on the following: > + * Intel(R) Ethernet Controller X710 > + * Intel(R) Ethernet Controller XL710 > + * Intel(R) Ethernet Network Connection X722 > + * Intel(R) Ethernet Controller XXV710 > + > +For the best performance, make sure the latest NVM/FW is installed on your > +device. > + > +For information on how to identify your adapter, and for the latest NVM/FW > +images and Intel network drivers, refer to the Intel Support website: > +http://www.intel.com/support > + > + > +Additional Features and Configurations > +------------------------------------------- > + > +Viewing Link Messages > +--------------------- > +Link messages will not be displayed to the console if the distribution is > +restricting system messages. In order to see network driver link messages on > +your console, set dmesg to eight by entering the following: > +dmesg -n 8 > + > +NOTE: This setting is not saved across reboots. > + > + > +ethtool > +------- > +The driver utilizes the ethtool interface for driver configuration and > +diagnostics, as well as displaying statistical information. The latest ethtool > +version is required for this functionality. Download it at: > +http://ftp.kernel.org/pub/software/network/ethtool/ > + > + > +Setting VLAN Tag Stripping > +-------------------------- > + > +If you have applications that require Virtual Functions (VFs) to receive > +packets with VLAN tags, you can disable VLAN tag stripping for the VF. The > +Physical Function (PF) processes requests issued from the VF to enable or > +disable VLAN tag stripping. Note that if the PF has assigned a VLAN to a VF, > +then requests from that VF to set VLAN tag stripping will be ignored. > + > +To enable/disable VLAN tag stripping for a VF, issue the following command > +from inside the VM in which you are running the VF: > + ethtool -K <if_name> rxvlan on/off > + or alternatively: > + ethtool --offload <if_name> rxvlan on/off > + > + > +Adaptive Virtual Function > +------------------------- > +Adaptive Virtual Function (AVF) allows the virtual function driver, or VF, to > +adapt to changing feature sets of the physical function driver (PF) with which > +it is associated. This allows system administrators to update a PF without > +having to update all the VFs associated with it. All AVFs have a single common > +device ID and branding string. > + > +AVFs have a minimum set of features known as "base mode," but may provide > +additional features depending on what features are available in the PF with > +which the AVF is associated. The following are base mode features: > + > +- 4 Queue Pairs (QP) and associated Configuration Status Registers (CSRs) > + for Tx/Rx. > +- i40e descriptors and ring format. > +- Descriptor write-back completion. > +- 1 control queue, with i40e descriptors, CSRs and ring format. > +- 5 MSI-X interrupt vectors and corresponding i40e CSRs. > +- 1 Interrupt Throttle Rate (ITR) index. > +- 1 Virtual Station Interface (VSI) per VF. > +- 1 Traffic Class (TC), TC0 > +- Receive Side Scaling (RSS) with 64 entry indirection table and key, > + configured through the PF. > +- 1 unicast MAC address reserved per VF. > +- 16 MAC address filters for each VF. > +- Stateless offloads - non-tunneled checksums. > +- AVF device ID. > +- HW mailbox is used for VF to PF communications (including on Windows). > + > + > +IEEE 802.1ad (QinQ) Support > +--------------------------- > + > +The IEEE 802.1ad standard, informally known as QinQ, allows for multiple VLAN > +IDs within a single Ethernet frame. VLAN IDs are sometimes referred to as > +"tags," and multiple VLAN IDs are thus referred to as a "tag stack." Tag stacks > +allow L2 tunneling and the ability to segregate traffic within a particular > +VLAN ID, among other uses. > + > +The following are examples of how to configure 802.1ad (QinQ): > + ip link add link eth0 eth0.24 type vlan proto 802.1ad id 24 > + ip link add link eth0.24 eth0.24.371 type vlan proto 802.1Q id 371 > +Where "24" and "371" are example VLAN IDs. > + > +NOTES: > +- 802.1ad (QinQ)is supported in 3.19 and later kernels. > +- Receive checksum offloads, cloud filters, and VLAN acceleration are not > +supported for 802.1ad (QinQ) packets. > + > + > +Application Device Queues (ADq) > +------------------------------- > + > +Application Device Queues (ADq) allows you to dedicate one or more queues to a > +specific application. This can reduce latency for the specified application, > +and allow Tx traffic to be rate limited per application. Follow the steps below > +to set ADq. > + > +NOTE: Run all tc commands from the iproute2 <pathtoiproute2>/tc/ directory. > + 1. Create traffic classes (TCs). Maximum of 8 TCs can be created per > + interface. The shaper bw_rlimit parameter is optional. > + Example: > + Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set > + to 1Gbit for tc0 and 3Gbit for tc1. > + # tc qdisc add dev <interface> root mqprio num_tc 2 map 0 0 0 0 1 1 1 1 > + queues 16@0 16@16 hw 1 mode channel shaper bw_rlimit min_rate 1Gbit 2Gbit > + max_rate 1Gbit 3Gbit > + > + map: priority mapping for up to 16 priorities to tcs > + (e.g. map 0 0 0 0 1 1 1 1 sets priorities 0-3 to use tc0 and 4-7 to > + use tc1) > > -For more information on how to identify your adapter, go to the > -Adapter & Driver ID Guide at: > + queues: for each tc, <num queues>@<offset> (e.g. queues 16@0 16@16 assigns > + 16 queues to tc0 at offset 0 and 16 queues to tc1 at offset 16. Max total > + number of queues for all tcs is 64 or number of cores, whichever is > + lower.) > + > + hw 1 mode channel: ‘channel’ with ‘hw’ set to 1 is a new new hardware > + offload mode in mqprio that makes full use of the mqprio options, the > + TCs, the queue configurations, and the QoS parameters. > + > + shaper bw_rlimit: for each tc, sets minimum and maximum bandwidth rates. > + Totals must be equal or less than port speed. > + For example: min_rate 1Gbit 3Gbit: > + Verify bandwidth limit using network monitoring tools such as ifstat > + or sar –n DEV [interval] [number of samples] > + > +NOTE: Setting up channels via ethtool (ethtool -L) is not supported when the > +TCs are configured using mqprio. > + > + 2. Enable HW TC offload on interface: > + # ethtool -K <interface> hw-tc-offload on > + 3. Apply TCs to ingress (RX) flow of interface: > + # tc qdisc add dev <interface> ingress > +NOTES: > +- You must have kernel version 4.15 or later and the sch_mqprio, act_mirred > + and cls_flower modules loaded to set ADq > +- You must have iproute2 latest version > +- NVM version 6.01 or later is required. > +- ADq cannot be enabled when any the following features are enabled: Data > + Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband > + Filters. > +- If another driver (for example, DPDK) has set cloud filters, you cannot > + enable ADq. > +- Tunnel filters are not supported in ADq. If encapsulated packets do > + arrive in non-tunnel mode, filtering will be done on the inner headers. > + For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified > + as a VXLAN encapsulated packet, outer headers are ignored. Therefore, > + inner headers are matched. > +- If a TC filter on a PF matches traffic over a VF (on the PF), that > + traffic will be routed to the appropriate queue of the PF, and will > + not be passed on the VF. Such traffic will end up getting dropped higher > + up in the TCP/IP stack as it does not match PF address data. > +- If traffic matches multiple TC filters that point to different TCs, > + that traffic will be duplicated and sent to all matching TC queues. > + The hardware switch mirrors the packet to a VSI list when multiple > + filters are matched. > > - http://support.intel.com/support/go/network/adapter/idguide.htm > > Known Issues/Troubleshooting > -============================ > +---------------------------- > > +Traffic Is Not Being Passed Between VM and Client > +------------------------------------------------- > +You may not be able to pass traffic between a client system and a > +Virtual Machine (VM) running on a separate host if the Virtual Function > +(VF, or Virtual NIC) is not in trusted mode and spoof checking is enabled > +on the VF. Note that this situation can occur in any combination of client, > +host, and guest operating system. For information on how to set the VF to > +trusted mode, refer to the section "VLAN Tag Packet Steering" in this > +readme document. For information on setting spoof checking, refer to the > +section "MAC and VLAN anti-spoofing feature" in this readme document. > > -Support > -======= > > -For general information, go to the Intel support website at: > +Do not unload port driver if VF with active VM is bound to it > +------------------------------------------------------------- > +Do not unload a port's driver if a Virtual Function (VF) with an active Virtual > +Machine (VM) is bound to it. Doing so will cause the port to appear to hang. > +Once the VM shuts down, or otherwise releases the VF, the command will complete. > > - http://support.intel.com > > -or the Intel Wired Networking project hosted by Sourceforge at: > +Virtual machine does not get link > +--------------------------------- > +If the virtual machine has more than one virtual port assigned to it, and those > +virtual ports are bound to different physical ports, you may not get link on > +all of the virtual ports. The following command may work around the issue: > +ethtool -r <PF> > +Where <PF> is the PF interface in the host, for example: p5p1. You may need to > +run the command more than once to get link on all virtual ports. > + > + > +MAC address of Virtual Function changes unexpectedly > +---------------------------------------------------- > +If a Virtual Function's MAC address is not assigned in the host, then the VF > +(virtual function) driver will use a random MAC address. This random MAC > +address may change each time the VF driver is reloaded. You can assign a static > +MAC address in the host machine. This static MAC address will survive > +a VF driver reload. > + > + > +Hardware Issues > +--------------- > + > +For known hardware and troubleshooting issues, either refer to the "Release > +Notes" in your User Guide, or for more detailed information, go to > +http://www.intel.com. > + > +In the search box enter your devices controller ID followed by "spec update" > +(i.e., XL710 spec update). The specification update file has complete > +information on known hardware issues. > + > + > +Software Issues > +--------------- > + > +NOTE: After installing the driver, if your Intel Ethernet Network Connection > +is not working, verify that you have installed the correct driver. > > - http://sourceforge.net/projects/e1000 > > -If an issue is identified with the released source code on the supported > -kernel with a supported adapter, email the specific information related > -to the issue to e1000-devel@lists.sf.net > +Driver Buffer Overflow Fix > +-------------------------- > +The fix to resolve CVE-2016-8105, referenced in Intel SA-00069 > +<https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00069&language > +id=en-fr>, is included in this and future versions of the driver. > + > + > +Multiple Interfaces on Same Ethernet Broadcast Network > +------------------------------------------------------ > +Due to the default ARP behavior on Linux, it is not possible to have one system > +on two IP networks in the same Ethernet broadcast domain (non-partitioned > +switch) behave as expected. All Ethernet interfaces will respond to IP traffic > +for any IP address assigned to the system. This results in unbalanced receive > +traffic. > + > +If you have multiple interfaces in a server, either turn on ARP filtering by > +entering: > +echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter > + > +This only works if your kernel's version is higher than 2.4.5. > + > + > +NOTE: This setting is not saved across reboots. The configuration change can be > +made permanent by adding the following line to the file /etc/sysctl.conf: > +net.ipv4.conf.all.arp_filter = 1 > + > +Another alternative is to install the interfaces in separate broadcast domains > +(either in different switches or in a switch partitioned to VLANs). > + > + > +Rx Page Allocation Errors > +------------------------- > +'Page allocation failure. order:0' errors may occur under stress. > +This is caused by the way the Linux kernel reports this stressed condition. > + > + > + > +Support > +------- > +For general information, go to the Intel support website at: > +http://www.intel.com/support/ > + > +or the Intel Wired Networking project hosted by Sourceforge at: > +http://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. >
diff --git a/Documentation/networking/i40evf.txt b/Documentation/networking/i40evf.txt index e9b3035b95d0..a333ed688c00 100644 --- a/Documentation/networking/i40evf.txt +++ b/Documentation/networking/i40evf.txt @@ -1,54 +1,314 @@ -Linux* Base Driver for Intel(R) Network Connection -================================================== +Linux* Driver for Intel(R) Ethernet Virtual Function 700 Series +====================================================== -Intel Ethernet Adaptive Virtual Function Linux driver. -Copyright(c) 2013-2017 Intel Corporation. +February 26, 2018 + +====================================================== Contents ======== - -- Identifying Your Adapter -- Known Issues/Troubleshooting +- Overview +- Additional Configurations +- Known Issues - Support +- License + +This driver supports XL710- and X710-based virtual function devices +with CONFIG_PCI_IOV enabled. + +SR-IOV requires the correct platform and OS support. -This file describes the i40evf Linux* Base Driver. +The guest OS loading this driver must support MSI-X interrupts. -The i40evf driver supports the below mentioned virtual function -devices and can only be activated on kernels running the i40e or -newer Physical Function (PF) driver compiled with CONFIG_PCI_IOV. -The i40evf driver requires CONFIG_PCI_MSI to be enabled. +For questions related to hardware requirements, refer to the documentation +supplied with your Intel adapter. All hardware requirements listed apply to use +with Linux. + +Driver information can be obtained using ethtool, lspci, and ifconfig. +Instructions on updating ethtool can be found in the section Additional +Configurations later in this document. + +The i40evf driver supports virtual functions generated by the i40e driver, +with one or more VFs enabled through sysfs. -The guest OS loading the i40evf driver must support MSI-X interrupts. -Supported Hardware -================== -Intel XL710 X710 Virtual Function -Intel Ethernet Adaptive Virtual Function -Intel X722 Virtual Function Identifying Your Adapter -======================== +------------------------ +The driver in this kernel is compatible with devices based on the following: + * Intel(R) Ethernet Controller X710 + * Intel(R) Ethernet Controller XL710 + * Intel(R) Ethernet Network Connection X722 + * Intel(R) Ethernet Controller XXV710 + +For the best performance, make sure the latest NVM/FW is installed on your +device. + +For information on how to identify your adapter, and for the latest NVM/FW +images and Intel network drivers, refer to the Intel Support website: +http://www.intel.com/support + + +Additional Features and Configurations +------------------------------------------- + +Viewing Link Messages +--------------------- +Link messages will not be displayed to the console if the distribution is +restricting system messages. In order to see network driver link messages on +your console, set dmesg to eight by entering the following: +dmesg -n 8 + +NOTE: This setting is not saved across reboots. + + +ethtool +------- +The driver utilizes the ethtool interface for driver configuration and +diagnostics, as well as displaying statistical information. The latest ethtool +version is required for this functionality. Download it at: +http://ftp.kernel.org/pub/software/network/ethtool/ + + +Setting VLAN Tag Stripping +-------------------------- + +If you have applications that require Virtual Functions (VFs) to receive +packets with VLAN tags, you can disable VLAN tag stripping for the VF. The +Physical Function (PF) processes requests issued from the VF to enable or +disable VLAN tag stripping. Note that if the PF has assigned a VLAN to a VF, +then requests from that VF to set VLAN tag stripping will be ignored. + +To enable/disable VLAN tag stripping for a VF, issue the following command +from inside the VM in which you are running the VF: + ethtool -K <if_name> rxvlan on/off + or alternatively: + ethtool --offload <if_name> rxvlan on/off + + +Adaptive Virtual Function +------------------------- +Adaptive Virtual Function (AVF) allows the virtual function driver, or VF, to +adapt to changing feature sets of the physical function driver (PF) with which +it is associated. This allows system administrators to update a PF without +having to update all the VFs associated with it. All AVFs have a single common +device ID and branding string. + +AVFs have a minimum set of features known as "base mode," but may provide +additional features depending on what features are available in the PF with +which the AVF is associated. The following are base mode features: + +- 4 Queue Pairs (QP) and associated Configuration Status Registers (CSRs) + for Tx/Rx. +- i40e descriptors and ring format. +- Descriptor write-back completion. +- 1 control queue, with i40e descriptors, CSRs and ring format. +- 5 MSI-X interrupt vectors and corresponding i40e CSRs. +- 1 Interrupt Throttle Rate (ITR) index. +- 1 Virtual Station Interface (VSI) per VF. +- 1 Traffic Class (TC), TC0 +- Receive Side Scaling (RSS) with 64 entry indirection table and key, + configured through the PF. +- 1 unicast MAC address reserved per VF. +- 16 MAC address filters for each VF. +- Stateless offloads - non-tunneled checksums. +- AVF device ID. +- HW mailbox is used for VF to PF communications (including on Windows). + + +IEEE 802.1ad (QinQ) Support +--------------------------- + +The IEEE 802.1ad standard, informally known as QinQ, allows for multiple VLAN +IDs within a single Ethernet frame. VLAN IDs are sometimes referred to as +"tags," and multiple VLAN IDs are thus referred to as a "tag stack." Tag stacks +allow L2 tunneling and the ability to segregate traffic within a particular +VLAN ID, among other uses. + +The following are examples of how to configure 802.1ad (QinQ): + ip link add link eth0 eth0.24 type vlan proto 802.1ad id 24 + ip link add link eth0.24 eth0.24.371 type vlan proto 802.1Q id 371 +Where "24" and "371" are example VLAN IDs. + +NOTES: +- 802.1ad (QinQ)is supported in 3.19 and later kernels. +- Receive checksum offloads, cloud filters, and VLAN acceleration are not +supported for 802.1ad (QinQ) packets. + + +Application Device Queues (ADq) +------------------------------- + +Application Device Queues (ADq) allows you to dedicate one or more queues to a +specific application. This can reduce latency for the specified application, +and allow Tx traffic to be rate limited per application. Follow the steps below +to set ADq. + +NOTE: Run all tc commands from the iproute2 <pathtoiproute2>/tc/ directory. + 1. Create traffic classes (TCs). Maximum of 8 TCs can be created per + interface. The shaper bw_rlimit parameter is optional. + Example: + Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set + to 1Gbit for tc0 and 3Gbit for tc1. + # tc qdisc add dev <interface> root mqprio num_tc 2 map 0 0 0 0 1 1 1 1 + queues 16@0 16@16 hw 1 mode channel shaper bw_rlimit min_rate 1Gbit 2Gbit + max_rate 1Gbit 3Gbit + + map: priority mapping for up to 16 priorities to tcs + (e.g. map 0 0 0 0 1 1 1 1 sets priorities 0-3 to use tc0 and 4-7 to + use tc1) -For more information on how to identify your adapter, go to the -Adapter & Driver ID Guide at: + queues: for each tc, <num queues>@<offset> (e.g. queues 16@0 16@16 assigns + 16 queues to tc0 at offset 0 and 16 queues to tc1 at offset 16. Max total + number of queues for all tcs is 64 or number of cores, whichever is + lower.) + + hw 1 mode channel: ‘channel’ with ‘hw’ set to 1 is a new new hardware + offload mode in mqprio that makes full use of the mqprio options, the + TCs, the queue configurations, and the QoS parameters. + + shaper bw_rlimit: for each tc, sets minimum and maximum bandwidth rates. + Totals must be equal or less than port speed. + For example: min_rate 1Gbit 3Gbit: + Verify bandwidth limit using network monitoring tools such as ifstat + or sar –n DEV [interval] [number of samples] + +NOTE: Setting up channels via ethtool (ethtool -L) is not supported when the +TCs are configured using mqprio. + + 2. Enable HW TC offload on interface: + # ethtool -K <interface> hw-tc-offload on + 3. Apply TCs to ingress (RX) flow of interface: + # tc qdisc add dev <interface> ingress +NOTES: +- You must have kernel version 4.15 or later and the sch_mqprio, act_mirred + and cls_flower modules loaded to set ADq +- You must have iproute2 latest version +- NVM version 6.01 or later is required. +- ADq cannot be enabled when any the following features are enabled: Data + Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband + Filters. +- If another driver (for example, DPDK) has set cloud filters, you cannot + enable ADq. +- Tunnel filters are not supported in ADq. If encapsulated packets do + arrive in non-tunnel mode, filtering will be done on the inner headers. + For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified + as a VXLAN encapsulated packet, outer headers are ignored. Therefore, + inner headers are matched. +- If a TC filter on a PF matches traffic over a VF (on the PF), that + traffic will be routed to the appropriate queue of the PF, and will + not be passed on the VF. Such traffic will end up getting dropped higher + up in the TCP/IP stack as it does not match PF address data. +- If traffic matches multiple TC filters that point to different TCs, + that traffic will be duplicated and sent to all matching TC queues. + The hardware switch mirrors the packet to a VSI list when multiple + filters are matched. - http://support.intel.com/support/go/network/adapter/idguide.htm Known Issues/Troubleshooting -============================ +---------------------------- +Traffic Is Not Being Passed Between VM and Client +------------------------------------------------- +You may not be able to pass traffic between a client system and a +Virtual Machine (VM) running on a separate host if the Virtual Function +(VF, or Virtual NIC) is not in trusted mode and spoof checking is enabled +on the VF. Note that this situation can occur in any combination of client, +host, and guest operating system. For information on how to set the VF to +trusted mode, refer to the section "VLAN Tag Packet Steering" in this +readme document. For information on setting spoof checking, refer to the +section "MAC and VLAN anti-spoofing feature" in this readme document. -Support -======= -For general information, go to the Intel support website at: +Do not unload port driver if VF with active VM is bound to it +------------------------------------------------------------- +Do not unload a port's driver if a Virtual Function (VF) with an active Virtual +Machine (VM) is bound to it. Doing so will cause the port to appear to hang. +Once the VM shuts down, or otherwise releases the VF, the command will complete. - http://support.intel.com -or the Intel Wired Networking project hosted by Sourceforge at: +Virtual machine does not get link +--------------------------------- +If the virtual machine has more than one virtual port assigned to it, and those +virtual ports are bound to different physical ports, you may not get link on +all of the virtual ports. The following command may work around the issue: +ethtool -r <PF> +Where <PF> is the PF interface in the host, for example: p5p1. You may need to +run the command more than once to get link on all virtual ports. + + +MAC address of Virtual Function changes unexpectedly +---------------------------------------------------- +If a Virtual Function's MAC address is not assigned in the host, then the VF +(virtual function) driver will use a random MAC address. This random MAC +address may change each time the VF driver is reloaded. You can assign a static +MAC address in the host machine. This static MAC address will survive +a VF driver reload. + + +Hardware Issues +--------------- + +For known hardware and troubleshooting issues, either refer to the "Release +Notes" in your User Guide, or for more detailed information, go to +http://www.intel.com. + +In the search box enter your devices controller ID followed by "spec update" +(i.e., XL710 spec update). The specification update file has complete +information on known hardware issues. + + +Software Issues +--------------- + +NOTE: After installing the driver, if your Intel Ethernet Network Connection +is not working, verify that you have installed the correct driver. - http://sourceforge.net/projects/e1000 -If an issue is identified with the released source code on the supported -kernel with a supported adapter, email the specific information related -to the issue to e1000-devel@lists.sf.net +Driver Buffer Overflow Fix +-------------------------- +The fix to resolve CVE-2016-8105, referenced in Intel SA-00069 +<https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00069&language +id=en-fr>, is included in this and future versions of the driver. + + +Multiple Interfaces on Same Ethernet Broadcast Network +------------------------------------------------------ +Due to the default ARP behavior on Linux, it is not possible to have one system +on two IP networks in the same Ethernet broadcast domain (non-partitioned +switch) behave as expected. All Ethernet interfaces will respond to IP traffic +for any IP address assigned to the system. This results in unbalanced receive +traffic. + +If you have multiple interfaces in a server, either turn on ARP filtering by +entering: +echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter + +This only works if your kernel's version is higher than 2.4.5. + + +NOTE: This setting is not saved across reboots. The configuration change can be +made permanent by adding the following line to the file /etc/sysctl.conf: +net.ipv4.conf.all.arp_filter = 1 + +Another alternative is to install the interfaces in separate broadcast domains +(either in different switches or in a switch partitioned to VLANs). + + +Rx Page Allocation Errors +------------------------- +'Page allocation failure. order:0' errors may occur under stress. +This is caused by the way the Linux kernel reports this stressed condition. + + + +Support +------- +For general information, go to the Intel support website at: +http://www.intel.com/support/ + +or the Intel Wired Networking project hosted by Sourceforge at: +http://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.
Updated the i40evf.txt kernel documentation with the latest information. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- v2: fixed up documentation based on community feedback and internal review --- Documentation/networking/i40evf.txt | 324 ++++++++++++++++++++++++++++++++---- 1 file changed, 292 insertions(+), 32 deletions(-)