]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | Linux* Base Driver for the Intel(R) PRO/1000 Family of Adapters |
2 | =============================================================== | |
3 | ||
de3edab4 | 4 | September 26, 2006 |
1da177e4 LT |
5 | |
6 | ||
7 | Contents | |
8 | ======== | |
9 | ||
10 | - In This Release | |
11 | - Identifying Your Adapter | |
de3edab4 | 12 | - Building and Installation |
1da177e4 LT |
13 | - Command Line Parameters |
14 | - Speed and Duplex Configuration | |
15 | - Additional Configurations | |
16 | - Known Issues | |
17 | - Support | |
18 | ||
19 | ||
20 | In This Release | |
21 | =============== | |
22 | ||
23 | This file describes the Linux* Base Driver for the Intel(R) PRO/1000 Family | |
55be062d | 24 | of Adapters. This driver includes support for Itanium(R)2-based systems. |
1da177e4 | 25 | |
55be062d JB |
26 | For questions related to hardware requirements, refer to the documentation |
27 | supplied with your Intel PRO/1000 adapter. All hardware requirements listed | |
1da177e4 LT |
28 | apply to use with Linux. |
29 | ||
55be062d JB |
30 | The following features are now available in supported kernels: |
31 | - Native VLANs | |
32 | - Channel Bonding (teaming) | |
33 | - SNMP | |
34 | ||
35 | Channel Bonding documentation can be found in the Linux kernel source: | |
36 | /Documentation/networking/bonding.txt | |
37 | ||
38 | The driver information previously displayed in the /proc filesystem is not | |
39 | supported in this release. Alternatively, you can use ethtool (version 1.6 | |
40 | or later), lspci, and ifconfig to obtain the same information. | |
41 | ||
42 | Instructions on updating ethtool can be found in the section "Additional | |
43 | Configurations" later in this document. | |
44 | ||
de3edab4 AK |
45 | NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100 |
46 | support. | |
47 | ||
1da177e4 LT |
48 | |
49 | Identifying Your Adapter | |
50 | ======================== | |
51 | ||
55be062d | 52 | For more information on how to identify your adapter, go to the Adapter & |
1da177e4 LT |
53 | Driver ID Guide at: |
54 | ||
55 | http://support.intel.com/support/network/adapter/pro100/21397.htm | |
56 | ||
55be062d | 57 | For the latest Intel network drivers for Linux, refer to the following |
de3edab4 | 58 | website. In the search field, enter your adapter name or type, or use the |
1da177e4 LT |
59 | networking link on the left to search for your adapter: |
60 | ||
61 | http://downloadfinder.intel.com/scripts-df/support_intel.asp | |
62 | ||
1da177e4 | 63 | |
de3edab4 AK |
64 | Command Line Parameters |
65 | ======================= | |
55be062d JB |
66 | |
67 | If the driver is built as a module, the following optional parameters | |
de3edab4 AK |
68 | are used by entering them on the command line with the modprobe command |
69 | using this syntax: | |
1da177e4 LT |
70 | |
71 | modprobe e1000 [<option>=<VAL1>,<VAL2>,...] | |
72 | ||
1da177e4 LT |
73 | For example, with two PRO/1000 PCI adapters, entering: |
74 | ||
de3edab4 | 75 | modprobe e1000 TxDescriptors=80,128 |
1da177e4 | 76 | |
de3edab4 AK |
77 | loads the e1000 driver with 80 TX descriptors for the first adapter and |
78 | 128 TX descriptors for the second adapter. | |
1da177e4 LT |
79 | |
80 | The default value for each parameter is generally the recommended setting, | |
55be062d JB |
81 | unless otherwise noted. |
82 | ||
83 | NOTES: For more information about the AutoNeg, Duplex, and Speed | |
84 | parameters, see the "Speed and Duplex Configuration" section in | |
85 | this document. | |
1da177e4 | 86 | |
55be062d JB |
87 | For more information about the InterruptThrottleRate, |
88 | RxIntDelay, TxIntDelay, RxAbsIntDelay, and TxAbsIntDelay | |
89 | parameters, see the application note at: | |
90 | http://www.intel.com/design/network/applnots/ap450.htm | |
1da177e4 | 91 | |
55be062d | 92 | A descriptor describes a data buffer and attributes related to |
de3edab4 | 93 | the data buffer. This information is accessed by the hardware. |
1da177e4 | 94 | |
1da177e4 | 95 | |
55be062d JB |
96 | AutoNeg |
97 | ------- | |
98 | (Supported only on adapters with copper connections) | |
99 | Valid Range: 0x01-0x0F, 0x20-0x2F | |
1da177e4 | 100 | Default Value: 0x2F |
55be062d | 101 | |
de3edab4 AK |
102 | This parameter is a bit-mask that specifies the speed and duplex settings |
103 | advertised by the adapter. When this parameter is used, the Speed and | |
104 | Duplex parameters must not be specified. | |
55be062d JB |
105 | |
106 | NOTE: Refer to the Speed and Duplex section of this readme for more | |
107 | information on the AutoNeg parameter. | |
108 | ||
109 | ||
110 | Duplex | |
111 | ------ | |
112 | (Supported only on adapters with copper connections) | |
113 | Valid Range: 0-2 (0=auto-negotiate, 1=half, 2=full) | |
1da177e4 | 114 | Default Value: 0 |
55be062d | 115 | |
de3edab4 AK |
116 | This defines the direction in which data is allowed to flow. Can be |
117 | either one or two-directional. If both Duplex and the link partner are | |
118 | set to auto-negotiate, the board auto-detects the correct duplex. If the | |
119 | link partner is forced (either full or half), Duplex defaults to half- | |
120 | duplex. | |
55be062d | 121 | |
1da177e4 LT |
122 | |
123 | FlowControl | |
de3edab4 | 124 | ----------- |
55be062d JB |
125 | Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx) |
126 | Default Value: Reads flow control settings from the EEPROM | |
127 | ||
128 | This parameter controls the automatic generation(Tx) and response(Rx) | |
129 | to Ethernet PAUSE frames. | |
130 | ||
1da177e4 LT |
131 | |
132 | InterruptThrottleRate | |
55be062d | 133 | --------------------- |
de3edab4 AK |
134 | (not supported on Intel(R) 82542, 82543 or 82544-based adapters) |
135 | Valid Range: 0,1,3,100-100000 (0=off, 1=dynamic, 3=dynamic conservative) | |
136 | Default Value: 3 | |
137 | ||
138 | The driver can limit the amount of interrupts per second that the adapter | |
139 | will generate for incoming packets. It does this by writing a value to the | |
140 | adapter that is based on the maximum amount of interrupts that the adapter | |
141 | will generate per second. | |
142 | ||
143 | Setting InterruptThrottleRate to a value greater or equal to 100 | |
144 | will program the adapter to send out a maximum of that many interrupts | |
145 | per second, even if more packets have come in. This reduces interrupt | |
146 | load on the system and can lower CPU utilization under heavy load, | |
147 | but will increase latency as packets are not processed as quickly. | |
148 | ||
149 | The default behaviour of the driver previously assumed a static | |
150 | InterruptThrottleRate value of 8000, providing a good fallback value for | |
151 | all traffic types,but lacking in small packet performance and latency. | |
152 | The hardware can handle many more small packets per second however, and | |
153 | for this reason an adaptive interrupt moderation algorithm was implemented. | |
154 | ||
155 | Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in which | |
156 | it dynamically adjusts the InterruptThrottleRate value based on the traffic | |
157 | that it receives. After determining the type of incoming traffic in the last | |
158 | timeframe, it will adjust the InterruptThrottleRate to an appropriate value | |
159 | for that traffic. | |
160 | ||
161 | The algorithm classifies the incoming traffic every interval into | |
162 | classes. Once the class is determined, the InterruptThrottleRate value is | |
163 | adjusted to suit that traffic type the best. There are three classes defined: | |
164 | "Bulk traffic", for large amounts of packets of normal size; "Low latency", | |
165 | for small amounts of traffic and/or a significant percentage of small | |
166 | packets; and "Lowest latency", for almost completely small packets or | |
167 | minimal traffic. | |
168 | ||
169 | In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 | |
170 | for traffic that falls in class "Bulk traffic". If traffic falls in the "Low | |
171 | latency" or "Lowest latency" class, the InterruptThrottleRate is increased | |
172 | stepwise to 20000. This default mode is suitable for most applications. | |
173 | ||
174 | For situations where low latency is vital such as cluster or | |
175 | grid computing, the algorithm can reduce latency even more when | |
176 | InterruptThrottleRate is set to mode 1. In this mode, which operates | |
177 | the same as mode 3, the InterruptThrottleRate will be increased stepwise to | |
178 | 70000 for traffic in class "Lowest latency". | |
179 | ||
180 | Setting InterruptThrottleRate to 0 turns off any interrupt moderation | |
181 | and may improve small packet latency, but is generally not suitable | |
182 | for bulk throughput traffic. | |
55be062d JB |
183 | |
184 | NOTE: InterruptThrottleRate takes precedence over the TxAbsIntDelay and | |
de3edab4 | 185 | RxAbsIntDelay parameters. In other words, minimizing the receive |
55be062d JB |
186 | and/or transmit absolute delays does not force the controller to |
187 | generate more interrupts than what the Interrupt Throttle Rate | |
188 | allows. | |
189 | ||
de3edab4 | 190 | CAUTION: If you are using the Intel(R) PRO/1000 CT Network Connection |
55be062d JB |
191 | (controller 82547), setting InterruptThrottleRate to a value |
192 | greater than 75,000, may hang (stop transmitting) adapters | |
de3edab4 AK |
193 | under certain network conditions. If this occurs a NETDEV |
194 | WATCHDOG message is logged in the system event log. In | |
55be062d | 195 | addition, the controller is automatically reset, restoring |
de3edab4 | 196 | the network connection. To eliminate the potential for the |
55be062d JB |
197 | hang, ensure that InterruptThrottleRate is set no greater |
198 | than 75,000 and is not set to 0. | |
199 | ||
200 | NOTE: When e1000 is loaded with default settings and multiple adapters | |
201 | are in use simultaneously, the CPU utilization may increase non- | |
de3edab4 | 202 | linearly. In order to limit the CPU utilization without impacting |
55be062d JB |
203 | the overall throughput, we recommend that you load the driver as |
204 | follows: | |
205 | ||
de3edab4 | 206 | modprobe e1000 InterruptThrottleRate=3000,3000,3000 |
55be062d JB |
207 | |
208 | This sets the InterruptThrottleRate to 3000 interrupts/sec for | |
de3edab4 | 209 | the first, second, and third instances of the driver. The range |
55be062d JB |
210 | of 2000 to 3000 interrupts per second works on a majority of |
211 | systems and is a good starting point, but the optimal value will | |
de3edab4 | 212 | be platform-specific. If CPU utilization is not a concern, use |
55be062d JB |
213 | RX_POLLING (NAPI) and default driver settings. |
214 | ||
1da177e4 | 215 | |
de3edab4 | 216 | |
1da177e4 | 217 | RxDescriptors |
55be062d JB |
218 | ------------- |
219 | Valid Range: 80-256 for 82542 and 82543-based adapters | |
220 | 80-4096 for all other supported adapters | |
1da177e4 | 221 | Default Value: 256 |
1da177e4 | 222 | |
de3edab4 AK |
223 | This value specifies the number of receive buffer descriptors allocated |
224 | by the driver. Increasing this value allows the driver to buffer more | |
225 | incoming packets, at the expense of increased system memory utilization. | |
226 | ||
227 | Each descriptor is 16 bytes. A receive buffer is also allocated for each | |
228 | descriptor and can be either 2048, 4096, 8192, or 16384 bytes, depending | |
229 | on the MTU setting. The maximum MTU size is 16110. | |
230 | ||
231 | NOTE: MTU designates the frame size. It only needs to be set for Jumbo | |
232 | Frames. Depending on the available system resources, the request | |
233 | for a higher number of receive descriptors may be denied. In this | |
234 | case, use a lower number. | |
1da177e4 | 235 | |
1da177e4 LT |
236 | |
237 | RxIntDelay | |
55be062d JB |
238 | ---------- |
239 | Valid Range: 0-65535 (0=off) | |
1da177e4 | 240 | Default Value: 0 |
55be062d JB |
241 | |
242 | This value delays the generation of receive interrupts in units of 1.024 | |
243 | microseconds. Receive interrupt reduction can improve CPU efficiency if | |
de3edab4 | 244 | properly tuned for specific network traffic. Increasing this value adds |
55be062d | 245 | extra latency to frame reception and can end up decreasing the throughput |
de3edab4 | 246 | of TCP traffic. If the system is reporting dropped receives, this value |
55be062d JB |
247 | may be set too high, causing the driver to run out of available receive |
248 | descriptors. | |
249 | ||
250 | CAUTION: When setting RxIntDelay to a value other than 0, adapters may | |
de3edab4 | 251 | hang (stop transmitting) under certain network conditions. If |
55be062d | 252 | this occurs a NETDEV WATCHDOG message is logged in the system |
de3edab4 AK |
253 | event log. In addition, the controller is automatically reset, |
254 | restoring the network connection. To eliminate the potential | |
55be062d JB |
255 | for the hang ensure that RxIntDelay is set to 0. |
256 | ||
257 | ||
258 | RxAbsIntDelay | |
259 | ------------- | |
260 | (This parameter is supported only on 82540, 82545 and later adapters.) | |
261 | Valid Range: 0-65535 (0=off) | |
1da177e4 | 262 | Default Value: 128 |
55be062d JB |
263 | |
264 | This value, in units of 1.024 microseconds, limits the delay in which a | |
de3edab4 | 265 | receive interrupt is generated. Useful only if RxIntDelay is non-zero, |
55be062d JB |
266 | this value ensures that an interrupt is generated after the initial |
267 | packet is received within the set amount of time. Proper tuning, | |
268 | along with RxIntDelay, may improve traffic throughput in specific network | |
269 | conditions. | |
270 | ||
271 | ||
272 | Speed | |
273 | ----- | |
274 | (This parameter is supported only on adapters with copper connections.) | |
1da177e4 | 275 | Valid Settings: 0, 10, 100, 1000 |
55be062d JB |
276 | Default Value: 0 (auto-negotiate at all supported speeds) |
277 | ||
278 | Speed forces the line speed to the specified value in megabits per second | |
de3edab4 | 279 | (Mbps). If this parameter is not specified or is set to 0 and the link |
55be062d | 280 | partner is set to auto-negotiate, the board will auto-detect the correct |
de3edab4 | 281 | speed. Duplex should also be set when Speed is set to either 10 or 100. |
55be062d | 282 | |
1da177e4 LT |
283 | |
284 | TxDescriptors | |
55be062d JB |
285 | ------------- |
286 | Valid Range: 80-256 for 82542 and 82543-based adapters | |
287 | 80-4096 for all other supported adapters | |
1da177e4 | 288 | Default Value: 256 |
1da177e4 | 289 | |
55be062d | 290 | This value is the number of transmit descriptors allocated by the driver. |
de3edab4 | 291 | Increasing this value allows the driver to queue more transmits. Each |
55be062d JB |
292 | descriptor is 16 bytes. |
293 | ||
294 | NOTE: Depending on the available system resources, the request for a | |
295 | higher number of transmit descriptors may be denied. In this case, | |
296 | use a lower number. | |
297 | ||
1da177e4 LT |
298 | |
299 | TxIntDelay | |
55be062d JB |
300 | ---------- |
301 | Valid Range: 0-65535 (0=off) | |
1da177e4 | 302 | Default Value: 64 |
55be062d JB |
303 | |
304 | This value delays the generation of transmit interrupts in units of | |
de3edab4 AK |
305 | 1.024 microseconds. Transmit interrupt reduction can improve CPU |
306 | efficiency if properly tuned for specific network traffic. If the | |
55be062d JB |
307 | system is reporting dropped transmits, this value may be set too high |
308 | causing the driver to run out of available transmit descriptors. | |
309 | ||
310 | ||
311 | TxAbsIntDelay | |
312 | ------------- | |
313 | (This parameter is supported only on 82540, 82545 and later adapters.) | |
314 | Valid Range: 0-65535 (0=off) | |
1da177e4 | 315 | Default Value: 64 |
55be062d JB |
316 | |
317 | This value, in units of 1.024 microseconds, limits the delay in which a | |
de3edab4 | 318 | transmit interrupt is generated. Useful only if TxIntDelay is non-zero, |
55be062d JB |
319 | this value ensures that an interrupt is generated after the initial |
320 | packet is sent on the wire within the set amount of time. Proper tuning, | |
321 | along with TxIntDelay, may improve traffic throughput in specific | |
322 | network conditions. | |
323 | ||
324 | XsumRX | |
325 | ------ | |
326 | (This parameter is NOT supported on the 82542-based adapter.) | |
327 | Valid Range: 0-1 | |
1da177e4 | 328 | Default Value: 1 |
55be062d JB |
329 | |
330 | A value of '1' indicates that the driver should enable IP checksum | |
331 | offload for received packets (both UDP and TCP) to the adapter hardware. | |
332 | ||
1da177e4 LT |
333 | |
334 | Speed and Duplex Configuration | |
335 | ============================== | |
336 | ||
55be062d JB |
337 | Three keywords are used to control the speed and duplex configuration. |
338 | These keywords are Speed, Duplex, and AutoNeg. | |
1da177e4 | 339 | |
55be062d | 340 | If the board uses a fiber interface, these keywords are ignored, and the |
1da177e4 LT |
341 | fiber interface board only links at 1000 Mbps full-duplex. |
342 | ||
343 | For copper-based boards, the keywords interact as follows: | |
344 | ||
de3edab4 | 345 | The default operation is auto-negotiate. The board advertises all |
55be062d JB |
346 | supported speed and duplex combinations, and it links at the highest |
347 | common speed and duplex mode IF the link partner is set to auto-negotiate. | |
1da177e4 | 348 | |
55be062d JB |
349 | If Speed = 1000, limited auto-negotiation is enabled and only 1000 Mbps |
350 | is advertised (The 1000BaseT spec requires auto-negotiation.) | |
1da177e4 | 351 | |
de3edab4 AK |
352 | If Speed = 10 or 100, then both Speed and Duplex should be set. Auto- |
353 | negotiation is disabled, and the AutoNeg parameter is ignored. Partner | |
55be062d JB |
354 | SHOULD also be forced. |
355 | ||
356 | The AutoNeg parameter is used when more control is required over the | |
357 | auto-negotiation process. It should be used when you wish to control which | |
358 | speed and duplex combinations are advertised during the auto-negotiation | |
359 | process. | |
360 | ||
de3edab4 | 361 | The parameter may be specified as either a decimal or hexadecimal value as |
55be062d | 362 | determined by the bitmap below. |
1da177e4 | 363 | |
55be062d JB |
364 | Bit position 7 6 5 4 3 2 1 0 |
365 | Decimal Value 128 64 32 16 8 4 2 1 | |
366 | Hex value 80 40 20 10 8 4 2 1 | |
367 | Speed (Mbps) N/A N/A 1000 N/A 100 100 10 10 | |
368 | Duplex Full Full Half Full Half | |
1da177e4 | 369 | |
55be062d | 370 | Some examples of using AutoNeg: |
1da177e4 | 371 | |
55be062d JB |
372 | modprobe e1000 AutoNeg=0x01 (Restricts autonegotiation to 10 Half) |
373 | modprobe e1000 AutoNeg=1 (Same as above) | |
374 | modprobe e1000 AutoNeg=0x02 (Restricts autonegotiation to 10 Full) | |
375 | modprobe e1000 AutoNeg=0x03 (Restricts autonegotiation to 10 Half or 10 Full) | |
376 | modprobe e1000 AutoNeg=0x04 (Restricts autonegotiation to 100 Half) | |
377 | modprobe e1000 AutoNeg=0x05 (Restricts autonegotiation to 10 Half or 100 | |
378 | Half) | |
379 | modprobe e1000 AutoNeg=0x020 (Restricts autonegotiation to 1000 Full) | |
380 | modprobe e1000 AutoNeg=32 (Same as above) | |
1da177e4 | 381 | |
55be062d JB |
382 | Note that when this parameter is used, Speed and Duplex must not be specified. |
383 | ||
384 | If the link partner is forced to a specific speed and duplex, then this | |
385 | parameter should not be used. Instead, use the Speed and Duplex parameters | |
386 | previously mentioned to force the adapter to the same speed and duplex. | |
1da177e4 LT |
387 | |
388 | ||
389 | Additional Configurations | |
390 | ========================= | |
391 | ||
392 | Configuring the Driver on Different Distributions | |
393 | ------------------------------------------------- | |
55be062d | 394 | Configuring a network driver to load properly when the system is started |
de3edab4 | 395 | is distribution dependent. Typically, the configuration process involves |
55be062d | 396 | adding an alias line to /etc/modules.conf or /etc/modprobe.conf as well |
de3edab4 | 397 | as editing other system startup scripts and/or configuration files. Many |
55be062d JB |
398 | popular Linux distributions ship with tools to make these changes for you. |
399 | To learn the proper way to configure a network device for your system, | |
de3edab4 | 400 | refer to your distribution documentation. If during this process you are |
55be062d | 401 | asked for the driver or module name, the name for the Linux Base Driver |
de3edab4 | 402 | for the Intel(R) PRO/1000 Family of Adapters is e1000. |
1da177e4 | 403 | |
55be062d JB |
404 | As an example, if you install the e1000 driver for two PRO/1000 adapters |
405 | (eth0 and eth1) and set the speed and duplex to 10full and 100half, add | |
de3edab4 | 406 | the following to modules.conf or or modprobe.conf: |
1da177e4 LT |
407 | |
408 | alias eth0 e1000 | |
409 | alias eth1 e1000 | |
410 | options e1000 Speed=10,100 Duplex=2,1 | |
411 | ||
412 | Viewing Link Messages | |
413 | --------------------- | |
55be062d | 414 | Link messages will not be displayed to the console if the distribution is |
de3edab4 | 415 | restricting system messages. In order to see network driver link messages |
55be062d | 416 | on your console, set dmesg to eight by entering the following: |
1da177e4 LT |
417 | |
418 | dmesg -n 8 | |
419 | ||
420 | NOTE: This setting is not saved across reboots. | |
421 | ||
422 | Jumbo Frames | |
423 | ------------ | |
de3edab4 AK |
424 | Jumbo Frames support is enabled by changing the MTU to a value larger than |
425 | the default of 1500. Use the ifconfig command to increase the MTU size. | |
426 | For example: | |
55be062d JB |
427 | |
428 | ifconfig eth<x> mtu 9000 up | |
429 | ||
430 | This setting is not saved across reboots. It can be made permanent if | |
431 | you add: | |
432 | ||
433 | MTU=9000 | |
1da177e4 | 434 | |
55be062d JB |
435 | to the file /etc/sysconfig/network-scripts/ifcfg-eth<x>. This example |
436 | applies to the Red Hat distributions; other distributions may store this | |
437 | setting in a different location. | |
1da177e4 | 438 | |
55be062d | 439 | Notes: |
1da177e4 | 440 | |
55be062d JB |
441 | - To enable Jumbo Frames, increase the MTU size on the interface beyond |
442 | 1500. | |
de3edab4 AK |
443 | |
444 | - The maximum MTU setting for Jumbo Frames is 16110. This value coincides | |
55be062d | 445 | with the maximum Jumbo Frames size of 16128. |
de3edab4 | 446 | |
55be062d JB |
447 | - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or |
448 | loss of link. | |
de3edab4 | 449 | |
55be062d JB |
450 | - Some Intel gigabit adapters that support Jumbo Frames have a frame size |
451 | limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes. | |
de3edab4 AK |
452 | The adapters with this limitation are based on the Intel(R) 82571EB, |
453 | 82572EI, 82573L and 80003ES2LAN controller. These correspond to the | |
454 | following product names: | |
455 | Intel(R) PRO/1000 PT Server Adapter | |
456 | Intel(R) PRO/1000 PT Desktop Adapter | |
457 | Intel(R) PRO/1000 PT Network Connection | |
458 | Intel(R) PRO/1000 PT Dual Port Server Adapter | |
459 | Intel(R) PRO/1000 PT Dual Port Network Connection | |
460 | Intel(R) PRO/1000 PF Server Adapter | |
461 | Intel(R) PRO/1000 PF Network Connection | |
462 | Intel(R) PRO/1000 PF Dual Port Server Adapter | |
463 | Intel(R) PRO/1000 PB Server Connection | |
464 | Intel(R) PRO/1000 PL Network Connection | |
465 | Intel(R) PRO/1000 EB Network Connection with I/O Acceleration | |
466 | Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration | |
467 | Intel(R) PRO/1000 PT Quad Port Server Adapter | |
468 | ||
469 | - Adapters based on the Intel(R) 82542 and 82573V/E controller do not | |
470 | support Jumbo Frames. These correspond to the following product names: | |
471 | Intel(R) PRO/1000 Gigabit Server Adapter | |
472 | Intel(R) PRO/1000 PM Network Connection | |
473 | ||
474 | - The following adapters do not support Jumbo Frames: | |
475 | Intel(R) 82562V 10/100 Network Connection | |
476 | Intel(R) 82566DM Gigabit Network Connection | |
477 | Intel(R) 82566DC Gigabit Network Connection | |
478 | Intel(R) 82566MM Gigabit Network Connection | |
479 | Intel(R) 82566MC Gigabit Network Connection | |
480 | Intel(R) 82562GT 10/100 Network Connection | |
481 | Intel(R) 82562G 10/100 Network Connection | |
1da177e4 | 482 | |
1da177e4 LT |
483 | |
484 | Ethtool | |
485 | ------- | |
1da177e4 LT |
486 | The driver utilizes the ethtool interface for driver configuration and |
487 | diagnostics, as well as displaying statistical information. Ethtool | |
488 | version 1.6 or later is required for this functionality. | |
489 | ||
490 | The latest release of ethtool can be found from | |
55be062d | 491 | http://sourceforge.net/projects/gkernel. |
1da177e4 | 492 | |
de3edab4 | 493 | NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support |
55be062d JB |
494 | for a more complete ethtool feature set can be enabled by upgrading |
495 | ethtool to ethtool-1.8.1. | |
1da177e4 LT |
496 | |
497 | Enabling Wake on LAN* (WoL) | |
498 | --------------------------- | |
de3edab4 AK |
499 | WoL is configured through the Ethtool* utility. Ethtool is included with |
500 | all versions of Red Hat after Red Hat 7.2. For other Linux distributions, | |
55be062d | 501 | download and install Ethtool from the following website: |
1da177e4 LT |
502 | http://sourceforge.net/projects/gkernel. |
503 | ||
55be062d | 504 | For instructions on enabling WoL with Ethtool, refer to the website listed |
1da177e4 LT |
505 | above. |
506 | ||
55be062d JB |
507 | WoL will be enabled on the system during the next shut down or reboot. |
508 | For this driver version, in order to enable WoL, the e1000 driver must be | |
1da177e4 LT |
509 | loaded when shutting down or rebooting the system. |
510 | ||
de3edab4 AK |
511 | Wake On LAN is only supported on port A for the following devices: |
512 | Intel(R) PRO/1000 PT Dual Port Network Connection | |
513 | Intel(R) PRO/1000 PT Dual Port Server Connection | |
514 | Intel(R) PRO/1000 PT Dual Port Server Adapter | |
515 | Intel(R) PRO/1000 PF Dual Port Server Adapter | |
c3570acb | 516 | Intel(R) PRO/1000 PT Quad Port Server Adapter |
de3edab4 | 517 | |
1da177e4 LT |
518 | NAPI |
519 | ---- | |
c3570acb | 520 | NAPI (Rx polling mode) is enabled in the e1000 driver. |
1da177e4 LT |
521 | |
522 | See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. | |
523 | ||
524 | ||
525 | Known Issues | |
526 | ============ | |
527 | ||
de3edab4 AK |
528 | Dropped Receive Packets on Half-duplex 10/100 Networks |
529 | ------------------------------------------------------ | |
530 | If you have an Intel PCI Express adapter running at 10mbps or 100mbps, half- | |
531 | duplex, you may observe occasional dropped receive packets. There are no | |
532 | workarounds for this problem in this network configuration. The network must | |
533 | be updated to operate in full-duplex, and/or 1000mbps only. | |
534 | ||
535 | Jumbo Frames System Requirement | |
536 | ------------------------------- | |
537 | Memory allocation failures have been observed on Linux systems with 64 MB | |
538 | of RAM or less that are running Jumbo Frames. If you are using Jumbo | |
539 | Frames, your system may require more than the advertised minimum | |
540 | requirement of 64 MB of system memory. | |
541 | ||
542 | Performance Degradation with Jumbo Frames | |
543 | ----------------------------------------- | |
544 | Degradation in throughput performance may be observed in some Jumbo frames | |
545 | environments. If this is observed, increasing the application's socket | |
546 | buffer size and/or increasing the /proc/sys/net/ipv4/tcp_*mem entry values | |
547 | may help. See the specific application manual and | |
548 | /usr/src/linux*/Documentation/ | |
549 | networking/ip-sysctl.txt for more details. | |
550 | ||
551 | Jumbo Frames on Foundry BigIron 8000 switch | |
552 | ------------------------------------------- | |
553 | There is a known issue using Jumbo frames when connected to a Foundry | |
554 | BigIron 8000 switch. This is a 3rd party limitation. If you experience | |
555 | loss of packets, lower the MTU size. | |
556 | ||
557 | Allocating Rx Buffers when Using Jumbo Frames | |
558 | --------------------------------------------- | |
559 | Allocating Rx buffers when using Jumbo Frames on 2.6.x kernels may fail if | |
560 | the available memory is heavily fragmented. This issue may be seen with PCI-X | |
561 | adapters or with packet split disabled. This can be reduced or eliminated | |
562 | by changing the amount of available memory for receive buffer allocation, by | |
563 | increasing /proc/sys/vm/min_free_kbytes. | |
564 | ||
565 | Multiple Interfaces on Same Ethernet Broadcast Network | |
566 | ------------------------------------------------------ | |
567 | Due to the default ARP behavior on Linux, it is not possible to have | |
568 | one system on two IP networks in the same Ethernet broadcast domain | |
569 | (non-partitioned switch) behave as expected. All Ethernet interfaces | |
570 | will respond to IP traffic for any IP address assigned to the system. | |
571 | This results in unbalanced receive traffic. | |
572 | ||
573 | If you have multiple interfaces in a server, either turn on ARP | |
574 | filtering by entering: | |
575 | ||
576 | echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter | |
577 | (this only works if your kernel's version is higher than 2.4.5), | |
578 | ||
579 | NOTE: This setting is not saved across reboots. The configuration | |
580 | change can be made permanent by adding the line: | |
581 | net.ipv4.conf.all.arp_filter = 1 | |
582 | to the file /etc/sysctl.conf | |
583 | ||
584 | or, | |
585 | ||
586 | install the interfaces in separate broadcast domains (either in | |
587 | different switches or in a switch partitioned to VLANs). | |
588 | ||
589 | 82541/82547 can't link or are slow to link with some link partners | |
590 | ----------------------------------------------------------------- | |
591 | There is a known compatibility issue with 82541/82547 and some | |
592 | low-end switches where the link will not be established, or will | |
593 | be slow to establish. In particular, these switches are known to | |
594 | be incompatible with 82541/82547: | |
595 | ||
596 | Planex FXG-08TE | |
597 | I-O Data ETG-SH8 | |
598 | ||
599 | To workaround this issue, the driver can be compiled with an override | |
600 | of the PHY's master/slave setting. Forcing master or forcing slave | |
601 | mode will improve time-to-link. | |
602 | ||
603 | # make CFLAGS_EXTRA=-DE1000_MASTER_SLAVE=<n> | |
604 | ||
605 | Where <n> is: | |
606 | ||
607 | 0 = Hardware default | |
608 | 1 = Master mode | |
609 | 2 = Slave mode | |
610 | 3 = Auto master/slave | |
611 | ||
612 | Disable rx flow control with ethtool | |
613 | ------------------------------------ | |
614 | In order to disable receive flow control using ethtool, you must turn | |
615 | off auto-negotiation on the same command line. | |
616 | ||
617 | For example: | |
618 | ||
619 | ethtool -A eth? autoneg off rx off | |
620 | ||
621 | Unplugging network cable while ethtool -p is running | |
622 | ---------------------------------------------------- | |
623 | In kernel versions 2.5.50 and later (including 2.6 kernel), unplugging | |
624 | the network cable while ethtool -p is running will cause the system to | |
625 | become unresponsive to keyboard commands, except for control-alt-delete. | |
626 | Restarting the system appears to be the only remedy. | |
1da177e4 LT |
627 | |
628 | ||
629 | Support | |
630 | ======= | |
631 | ||
632 | For general information, go to the Intel support website at: | |
633 | ||
634 | http://support.intel.com | |
635 | ||
de3edab4 | 636 | or the Intel Wired Networking project hosted by Sourceforge at: |
55be062d JB |
637 | |
638 | http://sourceforge.net/projects/e1000 | |
639 | ||
1da177e4 | 640 | If an issue is identified with the released source code on the supported |
55be062d | 641 | kernel with a supported adapter, email the specific information related |
de3edab4 | 642 | to the issue to e1000-devel@lists.sf.net |