annotate Documentation/networking/e1000.txt @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
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.