From: Denis V. Meltsaykin Date: Tue, 15 May 2018 15:55:50 +0000 (+0200) Subject: Update i40e to 2.4.6 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=3f9241a1f1e903534aa42b0ffdb04ea104e78599;p=packages%2Ftrusty%2Fi40e-dkms.git Update i40e to 2.4.6 It was found that 2.2.4 had memory leaks, so the fix is to update to 2.4.6 which was tested in production use. Change-Id: I70f783bb49145618ec93c296d0b4bb5a89340c61 Closes-Bug: #1770608 --- diff --git a/debian/changelog b/debian/changelog index 340bc3e..a0b5edd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +i40e-dkms (2.4.6-1~u14.04+mos1) mos; urgency=low + + * Update to version 2.4.6 + + -- Denis Meltsaykin Tue, 15 May 2018 17:54:00 +0200 + i40e-dkms (2.2.4-1~u14.04+mos1) mos; urgency=low * Update to version 2.2.4 diff --git a/i40e-dkms/i40e-2.2.4/SUMS b/i40e-dkms/i40e-2.2.4/SUMS deleted file mode 100644 index 9c4f8c1..0000000 --- a/i40e-dkms/i40e-2.2.4/SUMS +++ /dev/null @@ -1,48 +0,0 @@ -23200 3 i40e-2.2.4/i40e.7 -41054 52 i40e-2.2.4/README -57015 7 i40e-2.2.4/pci.updates -46157 11 i40e-2.2.4/i40e.spec -43521 19 i40e-2.2.4/COPYING -11661 364 i40e-2.2.4/src/i40e_register.h -36073 9 i40e-2.2.4/src/i40e_dcb_nl.c -00545 82 i40e-2.2.4/src/i40e_adminq_cmd.h -39134 46 i40e-2.2.4/src/i40e_nvm.c -56456 47 i40e-2.2.4/src/i40e_type.h -28147 22 i40e-2.2.4/src/i40e_prototype.h -62648 57 i40e-2.2.4/src/kcompat.c -58605 4 i40e-2.2.4/src/i40e_status.h -04760 190 i40e-2.2.4/src/i40e_common.c -25757 6 i40e-2.2.4/src/i40e_lan_hmc.h -25014 2 i40e-2.2.4/src/i40e_diag.h -25701 4 i40e-2.2.4/src/i40e_helper.h -56270 8 i40e-2.2.4/src/i40e_hmc.h -43670 23 i40e-2.2.4/src/i40e_client.c -61287 178 i40e-2.2.4/src/i40e_ethtool.c -06523 7 i40e-2.2.4/src/i40e_trace.h -27367 30 i40e-2.2.4/src/i40e_adminq.c -24070 2 i40e-2.2.4/src/i40e_devids.h -13309 5 i40e-2.2.4/src/i40e_diag.c -38197 36 i40e-2.2.4/src/i40e.h -45149 19 i40e-2.2.4/src/i40e_txrx.h -15513 23 i40e-2.2.4/src/virtchnl.h -25383 27 i40e-2.2.4/src/i40e_ptp.c -60199 35 i40e-2.2.4/src/i40e_lan_hmc.c -22894 27 i40e-2.2.4/src/i40e_dcb.c -15728 169 i40e-2.2.4/src/kcompat.h -40073 366 i40e-2.2.4/src/i40e_main.c -12661 7 i40e-2.2.4/src/i40e_client.h -06581 6 i40e-2.2.4/src/Makefile -38484 4 i40e-2.2.4/src/i40e_osdep.h -03889 3 i40e-2.2.4/src/i40e_alloc.h -12976 80 i40e-2.2.4/src/i40e_debugfs.c -44588 1 i40e-2.2.4/src/Module.supported -22387 6 i40e-2.2.4/src/i40e_virtchnl_pf.h -58955 5 i40e-2.2.4/src/i40e_adminq.h -28000 12 i40e-2.2.4/src/common.mk -48557 93 i40e-2.2.4/src/i40e_virtchnl_pf.c -62481 100 i40e-2.2.4/src/i40e_txrx.c -12466 6 i40e-2.2.4/src/i40e_dcb.h -03386 11 i40e-2.2.4/src/i40e_hmc.c -33977 7 i40e-2.2.4/scripts/set_irq_affinity -20875 2 i40e-2.2.4/scripts/dump_tables -49876 5 i40e-2.2.4/scripts/virt_perf_default diff --git a/i40e-dkms/i40e-2.2.4/COPYING b/i40e-dkms/i40e-2.4.6/COPYING similarity index 100% rename from i40e-dkms/i40e-2.2.4/COPYING rename to i40e-dkms/i40e-2.4.6/COPYING diff --git a/i40e-dkms/i40e-2.2.4/README b/i40e-dkms/i40e-2.4.6/README similarity index 56% rename from i40e-dkms/i40e-2.2.4/README rename to i40e-dkms/i40e-2.4.6/README index 948900a..fb477ae 100644 --- a/i40e-dkms/i40e-2.2.4/README +++ b/i40e-dkms/i40e-2.4.6/README @@ -1,10 +1,8 @@ -i40e Linux* Base Driver for the Intel(R) XL710 Ethernet Controller Family +i40e Linux* Base Driver for the Intel(R) Ethernet Controller 700 Series =============================================================================== -=============================================================================== - -June 21, 2017 +December 4, 2017 =============================================================================== @@ -16,7 +14,7 @@ Contents - Identifying Your Adapter - Building and Installation - Command Line Parameters -- Intel(R) i40e Ethernet Flow Director +- Intel(R) Ethernet Flow Director - Additional Features & Configurations - Known Issues @@ -27,125 +25,112 @@ Contents Important Notes --------------- +TC0 must be enabled when setting up DCB on a switch +--------------------------------------------------- +The kernel assumes that TC0 is available, and will disable Priority Flow +Control (PFC) on the device if TC0 is not available. To fix this, ensure TC0 is +enabled when setting up DCB on your switch. + + Enabling a VF link if the port is disconnected ---------------------------------------------- - -If the physical function (PF) link is down, you can force link up (from the host -PF) on any virtual functions (VF) bound to the PF. Note that this requires -kernel support (Redhat kernel 3.10.0-327 or newer, upstream kernel 3.11.0 or -newer, and associated iproute2 user space support). If the following command -does not work, it may not be supported by your system. The following command +If the physical function (PF) link is down, you can force link up (from the +host PF) on any virtual functions (VF) bound to the PF. Note that this requires +kernel support (Redhat kernel 3.10.0-327 or newer, upstream kernel 3.11.0 or +newer, and associated iproute2 user space support). If the following command +does not work, it may not be supported by your system. The following command forces link up on VF 0 bound to PF eth0: ip link set eth0 vf 0 state enable 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. +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. Configuring SR-IOV for improved network security ------------------------------------------------ - -In a virtualized environment, on Intel(R) Server Adapters that support SR-IOV, -the virtual function (VF) may be subject to malicious behavior. Software- -generated layer two frames, like IEEE 802.3x (link flow control), IEEE 802.1Qbb -(priority based flow-control), and others of this type, are not expected and -can throttle traffic between the host and the virtual switch, reducing -performance. To resolve this issue, configure all SR-IOV enabled ports for -VLAN tagging. This configuration allows unexpected, and potentially malicious, -frames to be dropped. +In a virtualized environment, on Intel(R) Ethernet Server Adapters that support +SR-IOV, the virtual function (VF) may be subject to malicious behavior. +Software-generated layer two frames, like IEEE 802.3x (link flow control), IEEE +802.1Qbb (priority based flow-control), and others of this type, are not +expected and can throttle traffic between the host and the virtual switch, +reducing performance. To resolve this issue, configure all SR-IOV enabled ports +for VLAN tagging. This configuration allows unexpected, and potentially +malicious, frames to be dropped. Overview -------- - This driver supports kernel versions 2.6.32 and newer. -It supports Linux supported x86_64 systems. - -Driver information can be obtained using ethtool, lspci, and ifconfig. -Instructions on updating ethtool can be found in the section Additional +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. -This driver is only supported as a loadable module at this time. Intel is -not supplying patches against the kernel source to allow for static linking of -the drivers. - -For questions related to hardware requirements, refer to the documentation -supplied with your Intel adapter. All hardware requirements listed apply to -use with Linux. +This driver is only supported as a loadable module at this time. Intel is not +supplying patches against the kernel source to allow for static linking of the +drivers. -The following features are now available in supported kernels: -- Native VLANs -- Channel Bonding (teaming) -- SNMP +For questions related to hardware requirements, refer to the documentation +supplied with your Intel adapter. All hardware requirements listed apply to use +with Linux. -Adapter teaming is implemented using the native Linux Channel bonding -module. This is included in supported Linux kernels. - -Channel Bonding documentation can be found in the Linux kernel source: +Adapter teaming is implemented using the native Linux Channel bonding module. +This is included in supported Linux kernels. Channel Bonding documentation can +be found in the Linux kernel source: /documentation/networking/bonding.txt -The driver information previously displayed in the /proc file system is not +The driver information previously displayed in the /proc file system is not supported in this release. - -NOTE: 1 Gb devices based on the Intel(R) Ethernet Controller X722 do not -support the following features: +NOTE: 1 Gb devices based on the Intel(R) Ethernet Network Connection X722 do +not support the following features: * Data Center Bridging (DCB) * QOS * VMQ * SR-IOV - * Task Encapsulation offload (VxLAN, NVGRE) + * Task Encapsulation offload (VXLAN, NVGRE) * Energy Efficient Ethernet (EEE) * Auto-media detect - - Identifying Your Adapter ------------------------ The driver in this release is compatible with devices based on the following: * Intel(R) Ethernet Controller X710 * Intel(R) Ethernet Controller XL710 - * Intel(R) Ethernet Controller X722 - + * 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 and that you are using the newest drivers. - -For information on how to identify your adapter, go to the Adapter & -Driver ID Guide at: -http://support.intel.com/support/go/network/adapter/proidguide.htm - -For the best performance, make sure the latest NVM/FW is installed on your device - and that you are using the newest drivers. - -For the latest NVM/FW images and Intel network drivers, refer to the -following website and select your adapter. +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 SFP+ and QSFP+ Devices: +----------------------- +For information about supported media, refer to this document: +http://www.intel.com/content/dam/www/public/us/en/documents/release-notes/xl710- +ethernet-controller-feature-matrix.pdf +NOTE: Some adapters based on the Intel(R) Ethernet Controller 700 Series only +support Intel Ethernet Optics modules. On these adapters, other modules are not +supported and will not function. -For information about supported media, follow the link below: - http://www.intel.com/content/dam/www/public/us/en/documents/ - release-notes/xl710-ethernet-controller-feature-matrix.pdf -NOTES: -* Some Intel branded network adapters based on the X710/XL710 controller - only support Intel branded modules. On these adapters, other modules - are not supported and will not function. -* For connections based on the X710/XL710 controller, support is - dependent on your system board. Please see your vendor for details. -* In all cases Intel recommends using Intel optics; other modules may - function but are not validated by Intel. Contact Intel for supported - media types. -* In systems that do not have adequate airflow to cool the adapter and - optical modules, you must use high temperature optical modules. +NOTE: For connections based on Intel(R) Ethernet Controller 700 Series, support +is dependent on your system board. Please see your vendor for details. + +NOTE:In all cases Intel recommends using Intel Ethernet Optics; other modules +may function but are not validated by Intel. Contact Intel for supported media +types. + +NOTE: In systems that do not have adequate airflow to cool the adapter and +optical modules, you must use high temperature optical modules. ================================================================================ @@ -153,16 +138,16 @@ NOTES: Building and Installation ------------------------- +To build a binary RPM* package of this driver, run 'rpmbuild -tb +i40e-.tar.gz', where is the version number for the driver tar +file. -To build a binary RPM* package of this driver, run 'rpmbuild -tb -i40e-.tar.gz', where is the version number for the driver tar file. - -NOTES: +Note: For the build to work properly, the currently running kernel MUST match +the version and configuration of the installed kernel sources. If you have just +recompiled the kernel reboot the system before building. -- For the build to work properly, the currently running kernel MUST match - the version and configuration of the installed kernel sources. If you have - just recompiled the kernel reboot the system before building. -- RPM functionality has only been tested in Red Hat distributions. +Note: RPM functionality has only been tested in Red Hat distributions. +_lbank_line_ 1. Move the base driver tar file to the directory of your choice. For example, use '/home/username/i40e' or '/usr/local/src/i40e'. @@ -183,6 +168,12 @@ NOTES: The install location listed above is the default location. This may differ for various Linux distributions. + NOTE: To gather and display additional statistics, use the + I40E_ADD_PROBES pre-processor macro: + #make CFLAGS_EXTRA=-DI40E_ADD_PROBES + Please note that this additional statistics gathering can impact + performance. + 5. Load the module using the modprobe command: modprobe [parameter=port1_value,port2_value] @@ -200,12 +191,10 @@ NOTES: that is being tested: ping -NOTE: - For certain distributions like (but not limited to) RedHat Enterprise - Linux 7 and Ubuntu, once the driver is installed the initrd/initramfs - file may need to be updated to prevent the OS loading old versions - of the i40e driver. The dracut utility may be used on RedHat - distributions: +Note: For certain distributions like (but not limited to) RedHat Enterprise +Linux 7 and Ubuntu, once the driver is installed the initrd/initramfs file may +need to be updated to prevent the OS loading old versions of the i40e driver. +The dracut utility may be used on RedHat distributions: # dracut --force For Ubuntu: # update-initramfs -u @@ -216,47 +205,45 @@ NOTE: Command Line Parameters ----------------------- -In general, ethtool and other OS specific commands are used to configure user -changeable parameters after the driver is loaded. The i40e driver only supports -the max_vfs kernel parameter on older kernels that do not have the standard -sysfs interface. The only other module parameter supported is the debug +In general, ethtool and other OS specific commands are used to configure user +changeable parameters after the driver is loaded. The i40e driver only supports +the max_vfs kernel parameter on older kernels that do not have the standard +sysfs interface. The only other module parameter supported is the debug parameter that can control the default logging verbosity of the driver. -If the driver is built as a module, the following optional parameters are used -by entering them on the command line with the modprobe command using this +If the driver is built as a module, the following optional parameters are used +by entering them on the command line with the modprobe command using this syntax: modprobe i40e [