Jeff Kirsher | b55c52b | 2010-08-08 15:54:11 +0000 | [diff] [blame^] | 1 | Linux* Base Driver for Intel(R) Network Connection |
| 2 | ================================================== |
| 3 | |
| 4 | Intel Gigabit Linux driver. |
| 5 | Copyright(c) 1999 - 2010 Intel Corporation. |
| 6 | |
| 7 | Contents |
| 8 | ======== |
| 9 | |
| 10 | - Identifying Your Adapter |
| 11 | - Additional Configurations |
| 12 | - Support |
| 13 | |
| 14 | Identifying Your Adapter |
| 15 | ======================== |
| 16 | |
| 17 | This driver supports all 82575, 82576 and 82580-based Intel (R) gigabit network |
| 18 | connections. |
| 19 | |
| 20 | For specific information on how to identify your adapter, go to the Adapter & |
| 21 | Driver ID Guide at: |
| 22 | |
| 23 | http://support.intel.com/support/go/network/adapter/idguide.htm |
| 24 | |
| 25 | Command Line Parameters |
| 26 | ======================= |
| 27 | |
| 28 | The default value for each parameter is generally the recommended setting, |
| 29 | unless otherwise noted. |
| 30 | |
| 31 | max_vfs |
| 32 | ------- |
| 33 | Valid Range: 0-7 |
| 34 | Default Value: 0 |
| 35 | |
| 36 | This parameter adds support for SR-IOV. It causes the driver to spawn up to |
| 37 | max_vfs worth of virtual function. |
| 38 | |
| 39 | Additional Configurations |
| 40 | ========================= |
| 41 | |
| 42 | Jumbo Frames |
| 43 | ------------ |
| 44 | Jumbo Frames support is enabled by changing the MTU to a value larger than |
| 45 | the default of 1500. Use the ifconfig command to increase the MTU size. |
| 46 | For example: |
| 47 | |
| 48 | ifconfig eth<x> mtu 9000 up |
| 49 | |
| 50 | This setting is not saved across reboots. |
| 51 | |
| 52 | Notes: |
| 53 | |
| 54 | - The maximum MTU setting for Jumbo Frames is 9216. This value coincides |
| 55 | with the maximum Jumbo Frames size of 9234 bytes. |
| 56 | |
| 57 | - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or |
| 58 | loss of link. |
| 59 | |
| 60 | Ethtool |
| 61 | ------- |
| 62 | The driver utilizes the ethtool interface for driver configuration and |
| 63 | diagnostics, as well as displaying statistical information. |
| 64 | |
| 65 | http://sourceforge.net/projects/gkernel. |
| 66 | |
| 67 | Enabling Wake on LAN* (WoL) |
| 68 | --------------------------- |
| 69 | WoL is configured through the Ethtool* utility. |
| 70 | |
| 71 | For instructions on enabling WoL with Ethtool, refer to the Ethtool man page. |
| 72 | |
| 73 | WoL will be enabled on the system during the next shut down or reboot. |
| 74 | For this driver version, in order to enable WoL, the igb driver must be |
| 75 | loaded when shutting down or rebooting the system. |
| 76 | |
| 77 | Wake On LAN is only supported on port A of multi-port adapters. |
| 78 | |
| 79 | Wake On LAN is not supported for the Intel(R) Gigabit VT Quad Port Server |
| 80 | Adapter. |
| 81 | |
| 82 | Multiqueue |
| 83 | ---------- |
| 84 | In this mode, a separate MSI-X vector is allocated for each queue and one |
| 85 | for "other" interrupts such as link status change and errors. All |
| 86 | interrupts are throttled via interrupt moderation. Interrupt moderation |
| 87 | must be used to avoid interrupt storms while the driver is processing one |
| 88 | interrupt. The moderation value should be at least as large as the expected |
| 89 | time for the driver to process an interrupt. Multiqueue is off by default. |
| 90 | |
| 91 | REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not |
| 92 | found, the system will fallback to MSI or to Legacy interrupts. |
| 93 | |
| 94 | LRO |
| 95 | --- |
| 96 | Large Receive Offload (LRO) is a technique for increasing inbound throughput |
| 97 | of high-bandwidth network connections by reducing CPU overhead. It works by |
| 98 | aggregating multiple incoming packets from a single stream into a larger |
| 99 | buffer before they are passed higher up the networking stack, thus reducing |
| 100 | the number of packets that have to be processed. LRO combines multiple |
| 101 | Ethernet frames into a single receive in the stack, thereby potentially |
| 102 | decreasing CPU utilization for receives. |
| 103 | |
| 104 | NOTE: You need to have inet_lro enabled via either the CONFIG_INET_LRO or |
| 105 | CONFIG_INET_LRO_MODULE kernel config option. Additionally, if |
| 106 | CONFIG_INET_LRO_MODULE is used, the inet_lro module needs to be loaded |
| 107 | before the igb driver. |
| 108 | |
| 109 | You can verify that the driver is using LRO by looking at these counters in |
| 110 | Ethtool: |
| 111 | |
| 112 | lro_aggregated - count of total packets that were combined |
| 113 | lro_flushed - counts the number of packets flushed out of LRO |
| 114 | lro_no_desc - counts the number of times an LRO descriptor was not available |
| 115 | for the LRO packet |
| 116 | |
| 117 | NOTE: IPv6 and UDP are not supported by LRO. |
| 118 | |
| 119 | Support |
| 120 | ======= |
| 121 | |
| 122 | For general information, go to the Intel support website at: |
| 123 | |
| 124 | www.intel.com/support/ |
| 125 | |
| 126 | or the Intel Wired Networking project hosted by Sourceforge at: |
| 127 | |
| 128 | http://sourceforge.net/projects/e1000 |
| 129 | |
| 130 | If an issue is identified with the released source code on the supported |
| 131 | kernel with a supported adapter, email the specific information related |
| 132 | to the issue to e1000-devel@lists.sf.net |