| Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection |
| ======================================================================== |
| |
| March 10, 2009 |
| |
| |
| Contents |
| ======== |
| |
| - In This Release |
| - Identifying Your Adapter |
| - Building and Installation |
| - Additional Configurations |
| - Support |
| |
| |
| |
| In This Release |
| =============== |
| |
| This file describes the ixgbe Linux Base Driver for the 10 Gigabit PCI |
| Express Intel(R) Network Connection. This driver includes support for |
| Itanium(R)2-based systems. |
| |
| For questions related to hardware requirements, refer to the documentation |
| supplied with your 10 Gigabit adapter. All hardware requirements listed apply |
| to use with Linux. |
| |
| The following features are available in this kernel: |
| - Native VLANs |
| - Channel Bonding (teaming) |
| - SNMP |
| - Generic Receive Offload |
| - Data Center Bridging |
| |
| Channel Bonding documentation can be found in the Linux kernel source: |
| /Documentation/networking/bonding.txt |
| |
| Ethtool, lspci, and ifconfig can be used to display device and driver |
| specific information. |
| |
| |
| Identifying Your Adapter |
| ======================== |
| |
| This driver supports devices based on the 82598 controller and the 82599 |
| controller. |
| |
| For specific information on identifying which adapter you have, please visit: |
| |
| http://support.intel.com/support/network/sb/CS-008441.htm |
| |
| |
| Building and Installation |
| ========================= |
| |
| select m for "Intel(R) 10GbE PCI Express adapters support" located at: |
| Location: |
| -> Device Drivers |
| -> Network device support (NETDEVICES [=y]) |
| -> Ethernet (10000 Mbit) (NETDEV_10000 [=y]) |
| |
| 1. make modules & make modules_install |
| |
| 2. Load the module: |
| |
| # modprobe ixgbe |
| |
| The insmod command can be used if the full |
| path to the driver module is specified. For example: |
| |
| insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/ixgbe/ixgbe.ko |
| |
| With 2.6 based kernels also make sure that older ixgbe drivers are |
| removed from the kernel, before loading the new module: |
| |
| rmmod ixgbe; modprobe ixgbe |
| |
| 3. Assign an IP address to the interface by entering the following, where |
| x is the interface number: |
| |
| ifconfig ethx <IP_address> |
| |
| 4. 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 <IP_address> |
| |
| |
| Additional 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. |
| |
| |
| Jumbo Frames |
| ------------ |
| The driver supports Jumbo Frames for all adapters. Jumbo Frames support is |
| enabled by changing the MTU to a value larger than the default of 1500. |
| The maximum value for the MTU is 16110. Use the ifconfig command to |
| increase the MTU size. For example: |
| |
| ifconfig ethx mtu 9000 up |
| |
| The maximum MTU setting for Jumbo Frames is 16110. This value coincides |
| with the maximum Jumbo Frames size of 16128. |
| |
| Generic Receive Offload, aka GRO |
| -------------------------------- |
| The driver supports the in-kernel software implementation of GRO. GRO has |
| shown that by coalescing Rx traffic into larger chunks of data, CPU |
| utilization can be significantly reduced when under large Rx load. GRO is an |
| evolution of the previously-used LRO interface. GRO is able to coalesce |
| other protocols besides TCP. It's also safe to use with configurations that |
| are problematic for LRO, namely bridging and iSCSI. |
| |
| GRO is enabled by default in the driver. Future versions of ethtool will |
| support disabling and re-enabling GRO on the fly. |
| |
| |
| Data Center Bridging, aka DCB |
| ----------------------------- |
| |
| DCB is a configuration Quality of Service implementation in hardware. |
| It uses the VLAN priority tag (802.1p) to filter traffic. That means |
| that there are 8 different priorities that traffic can be filtered into. |
| It also enables priority flow control which can limit or eliminate the |
| number of dropped packets during network stress. Bandwidth can be |
| allocated to each of these priorities, which is enforced at the hardware |
| level. |
| |
| To enable DCB support in ixgbe, you must enable the DCB netlink layer to |
| allow the userspace tools (see below) to communicate with the driver. |
| This can be found in the kernel configuration here: |
| |
| -> Networking support |
| -> Networking options |
| -> Data Center Bridging support |
| |
| Once this is selected, DCB support must be selected for ixgbe. This can |
| be found here: |
| |
| -> Device Drivers |
| -> Network device support (NETDEVICES [=y]) |
| -> Ethernet (10000 Mbit) (NETDEV_10000 [=y]) |
| -> Intel(R) 10GbE PCI Express adapters support |
| -> Data Center Bridging (DCB) Support |
| |
| After these options are selected, you must rebuild your kernel and your |
| modules. |
| |
| In order to use DCB, userspace tools must be downloaded and installed. |
| The dcbd tools can be found at: |
| |
| http://e1000.sf.net |
| |
| |
| Ethtool |
| ------- |
| The driver utilizes the ethtool interface for driver configuration and |
| diagnostics, as well as displaying statistical information. Ethtool |
| version 3.0 or later is required for this functionality. |
| |
| The latest release of ethtool can be found from |
| http://sourceforge.net/projects/gkernel. |
| |
| |
| NAPI |
| ---- |
| |
| NAPI (Rx polling mode) is supported in the ixgbe driver. NAPI is enabled |
| by default in the driver. |
| |
| See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. |
| |
| |
| Support |
| ======= |
| |
| For general information, go to the Intel support website at: |
| |
| http://support.intel.com |
| |
| or the Intel Wired Networking project hosted by Sourceforge at: |
| |
| http://e1000.sourceforge.net |
| |
| 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 |