]>
Commit | Line | Data |
---|---|---|
09e1c061 PW |
1 | Linux Base Driver for 10 Gigabit PCI Express Intel(R) Network Connection |
2 | ======================================================================== | |
3 | ||
4 | March 10, 2009 | |
5 | ||
6 | ||
7 | Contents | |
8 | ======== | |
9 | ||
10 | - In This Release | |
11 | - Identifying Your Adapter | |
12 | - Building and Installation | |
13 | - Additional Configurations | |
14 | - Support | |
15 | ||
16 | ||
17 | ||
18 | In This Release | |
19 | =============== | |
20 | ||
21 | This file describes the ixgbe Linux Base Driver for the 10 Gigabit PCI | |
22 | Express Intel(R) Network Connection. This driver includes support for | |
23 | Itanium(R)2-based systems. | |
24 | ||
25 | For questions related to hardware requirements, refer to the documentation | |
26 | supplied with your 10 Gigabit adapter. All hardware requirements listed apply | |
27 | to use with Linux. | |
28 | ||
29 | The following features are available in this kernel: | |
30 | - Native VLANs | |
31 | - Channel Bonding (teaming) | |
32 | - SNMP | |
33 | - Generic Receive Offload | |
34 | - Data Center Bridging | |
35 | ||
36 | Channel Bonding documentation can be found in the Linux kernel source: | |
37 | /Documentation/networking/bonding.txt | |
38 | ||
39 | Ethtool, lspci, and ifconfig can be used to display device and driver | |
40 | specific information. | |
41 | ||
42 | ||
43 | Identifying Your Adapter | |
44 | ======================== | |
45 | ||
46 | This driver supports devices based on the 82598 controller and the 82599 | |
47 | controller. | |
48 | ||
49 | For specific information on identifying which adapter you have, please visit: | |
50 | ||
51 | http://support.intel.com/support/network/sb/CS-008441.htm | |
52 | ||
53 | ||
54 | Building and Installation | |
55 | ========================= | |
56 | ||
57 | select m for "Intel(R) 10GbE PCI Express adapters support" located at: | |
58 | Location: | |
59 | -> Device Drivers | |
60 | -> Network device support (NETDEVICES [=y]) | |
61 | -> Ethernet (10000 Mbit) (NETDEV_10000 [=y]) | |
62 | ||
63 | 1. make modules & make modules_install | |
64 | ||
65 | 2. Load the module: | |
66 | ||
67 | # modprobe ixgbe | |
68 | ||
69 | The insmod command can be used if the full | |
70 | path to the driver module is specified. For example: | |
71 | ||
72 | insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/ixgbe/ixgbe.ko | |
73 | ||
74 | With 2.6 based kernels also make sure that older ixgbe drivers are | |
75 | removed from the kernel, before loading the new module: | |
76 | ||
77 | rmmod ixgbe; modprobe ixgbe | |
78 | ||
79 | 3. Assign an IP address to the interface by entering the following, where | |
80 | x is the interface number: | |
81 | ||
82 | ifconfig ethx <IP_address> | |
83 | ||
84 | 4. Verify that the interface works. Enter the following, where <IP_address> | |
85 | is the IP address for another machine on the same subnet as the interface | |
86 | that is being tested: | |
87 | ||
88 | ping <IP_address> | |
89 | ||
90 | ||
91 | Additional Configurations | |
92 | ========================= | |
93 | ||
94 | Viewing Link Messages | |
95 | --------------------- | |
96 | Link messages will not be displayed to the console if the distribution is | |
97 | restricting system messages. In order to see network driver link messages on | |
98 | your console, set dmesg to eight by entering the following: | |
99 | ||
100 | dmesg -n 8 | |
101 | ||
102 | NOTE: This setting is not saved across reboots. | |
103 | ||
104 | ||
105 | Jumbo Frames | |
106 | ------------ | |
107 | The driver supports Jumbo Frames for all adapters. Jumbo Frames support is | |
108 | enabled by changing the MTU to a value larger than the default of 1500. | |
109 | The maximum value for the MTU is 16110. Use the ifconfig command to | |
110 | increase the MTU size. For example: | |
111 | ||
112 | ifconfig ethx mtu 9000 up | |
113 | ||
114 | The maximum MTU setting for Jumbo Frames is 16110. This value coincides | |
115 | with the maximum Jumbo Frames size of 16128. | |
116 | ||
117 | Generic Receive Offload, aka GRO | |
118 | -------------------------------- | |
119 | The driver supports the in-kernel software implementation of GRO. GRO has | |
120 | shown that by coalescing Rx traffic into larger chunks of data, CPU | |
121 | utilization can be significantly reduced when under large Rx load. GRO is an | |
122 | evolution of the previously-used LRO interface. GRO is able to coalesce | |
123 | other protocols besides TCP. It's also safe to use with configurations that | |
124 | are problematic for LRO, namely bridging and iSCSI. | |
125 | ||
126 | GRO is enabled by default in the driver. Future versions of ethtool will | |
127 | support disabling and re-enabling GRO on the fly. | |
128 | ||
129 | ||
130 | Data Center Bridging, aka DCB | |
131 | ----------------------------- | |
132 | ||
133 | DCB is a configuration Quality of Service implementation in hardware. | |
134 | It uses the VLAN priority tag (802.1p) to filter traffic. That means | |
135 | that there are 8 different priorities that traffic can be filtered into. | |
136 | It also enables priority flow control which can limit or eliminate the | |
137 | number of dropped packets during network stress. Bandwidth can be | |
138 | allocated to each of these priorities, which is enforced at the hardware | |
139 | level. | |
140 | ||
141 | To enable DCB support in ixgbe, you must enable the DCB netlink layer to | |
142 | allow the userspace tools (see below) to communicate with the driver. | |
143 | This can be found in the kernel configuration here: | |
144 | ||
145 | -> Networking support | |
146 | -> Networking options | |
147 | -> Data Center Bridging support | |
148 | ||
149 | Once this is selected, DCB support must be selected for ixgbe. This can | |
150 | be found here: | |
151 | ||
152 | -> Device Drivers | |
153 | -> Network device support (NETDEVICES [=y]) | |
154 | -> Ethernet (10000 Mbit) (NETDEV_10000 [=y]) | |
155 | -> Intel(R) 10GbE PCI Express adapters support | |
156 | -> Data Center Bridging (DCB) Support | |
157 | ||
158 | After these options are selected, you must rebuild your kernel and your | |
159 | modules. | |
160 | ||
161 | In order to use DCB, userspace tools must be downloaded and installed. | |
162 | The dcbd tools can be found at: | |
163 | ||
164 | http://e1000.sf.net | |
165 | ||
166 | ||
167 | Ethtool | |
168 | ------- | |
169 | The driver utilizes the ethtool interface for driver configuration and | |
170 | diagnostics, as well as displaying statistical information. Ethtool | |
171 | version 3.0 or later is required for this functionality. | |
172 | ||
173 | The latest release of ethtool can be found from | |
174 | http://sourceforge.net/projects/gkernel. | |
175 | ||
176 | ||
177 | NAPI | |
178 | ---- | |
179 | ||
180 | NAPI (Rx polling mode) is supported in the ixgbe driver. NAPI is enabled | |
181 | by default in the driver. | |
182 | ||
183 | See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. | |
184 | ||
185 | ||
186 | Support | |
187 | ======= | |
188 | ||
189 | For general information, go to the Intel support website at: | |
190 | ||
191 | http://support.intel.com | |
192 | ||
193 | or the Intel Wired Networking project hosted by Sourceforge at: | |
194 | ||
195 | http://e1000.sourceforge.net | |
196 | ||
197 | If an issue is identified with the released source code on the supported | |
198 | kernel with a supported adapter, email the specific information related | |
199 | to the issue to e1000-devel@lists.sf.net |