igb Linux* Base Driver for Intel(R) Ethernet Network Connection ------------------------------------------------------------- ================================================================================ February 23, 2017 ================================================================================ - Overview - Identifying Your Adapter - Building and Installation - Command Line Parameters - Additional Configurations - Known Issues - Support - License ================================================================================ Important Notes --------------- 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. Overview -------- This driver supports kernel versions 2.6.30 or newer. It supports Itanium(R)2 based systems. 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. The following features are now available in supported kernels: - Native VLANs - Channel Bonding (teaming) - SNMP 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 supported in this release. The igb driver supports IEEE 1588 time stamping for kernels 2.6.30 and newer. The igb driver supports 2.5 Gbps operating speed on 2500BASE-KX only for I354-based network connections. ================================================================================ Identifying Your Adapter ------------------------ 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 latest Intel network drivers, refer to the following website and select your adapter. http://www.intel.com/support ================================================================================ Building and Installation ------------------------- To build a binary RPM* package of this driver, run 'rpmbuild -tb igb-.tar.gz', where is the version number for the driver tar file. NOTES: - 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. 1. Move the base driver tar file to the directory of your choice. For example, use '/home/username/igb' or '/usr/local/src/igb'. 2. Untar/unzip the archive, where is the version number for the driver tar file: tar zxf igb-.tar.gz 3. Change to the driver src directory, where is the version number for the driver tar: cd igb-/src/ 4. Compile the driver module: # make install The binary will be installed as: /lib/modules//updates/drivers/net/ethernet/intel/igb/igb.ko The install location listed above is the default location. This may differ for various Linux distributions. 5. Load the module using the modprobe command: modprobe [parameter=port1_value,port2_value] Make sure that any older igb drivers are removed from the kernel before loading the new module: rmmod igb; modprobe igb 6. Assign an IP address to the interface by entering the following, where ethX is the interface name that was shown in dmesg after modprobe: ip address add / dev ethX 7. Verify that the interface works. Enter the following, where IP_address is the IP address for another machine on the same subnet as the interface that is being tested: ping To build igb driver with DCA ---------------------------- If your kernel supports DCA, the driver will build by default with DCA enabled. 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 igb driver. The dracut utility may be used on RedHat distributions: # dracut --force For Ubuntu: # update-initramfs -u ================================================================================ Command Line Parameters ----------------------- 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 igb [