ia64/linux-2.6.18-xen.hg

annotate Documentation/networking/e1000.txt @ 0:831230e53067

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