📄 readme
字号:
Linux* Base Driver for Intel(R) Network Connection===============================================================November 25, 2007Contents========- In This Release- Identifying Your Adapter- Building and Installation- Command Line Parameters- Speed and Duplex Configuration- Additional Configurations- Known Issues/Troubleshooting- SupportIn This Release===============This file describes the e1000 Linux* Base Driver for Intel Network Connection. This driver supports kernel versions 2.4.x and 2.6.x. This driver includes support for Itanium(R)2-based systems.This driver is only supported as a loadable module at this time. Intel isnot supplying patches against the kernel source to allow for static linkingof the driver. For questions related to hardware requirements, refer to thedocumentation supplied with your Intel Gigabit adapter. All hardwarerequirements listed apply to use with Linux.This release includes support for Intel(R) I/O Acceleration Technology,Intel(R) I/OAT. You can find additional information on Intel I/OAT at http://www.intel.com/technology/ioacceleration/index.htm.The following features are now available in supported kernels: - Native VLANs - Channel Bonding (teaming) - SNMPChannel Bonding documentation can be found in the Linux kernel source:/Documentation/networking/bonding.txtThe driver information previously displayed in the /proc filesystem is notsupported in this release. Alternatively, you can use ethtool (version 1.6or later), lspci, and ifconfig to obtain the same information.Instructions on updating ethtool can be found in the section "AdditionalConfigurations" later in this document.NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100support.Identifying Your Adapter========================For more information on how to identify your adapter, go to the Adapter &Driver ID Guide at: http://support.intel.com/support/go/network/adapter/idguide.htmFor the latest Intel network drivers for Linux, refer to the followingwebsite. In the search field, enter your adapter name or type, or use thenetworking link on the left to search for your adapter: http://downloadcenter.intel.com/scripts-df-external/Support_Intel.aspxBuilding and Installation=========================To build a binary RPM* package of this driver, run 'rpmbuild -tb<filename.tar.gz>'. Replace <filename.tar.gz> with the specific filenameof the driver.NOTE: For the build to work properly, the currently running kernel MUST match the version and configuration of the installed kernel sources. If you have just recompiled the kernel reboot the system now. RPM functionality has only been tested in Red Hat distributions.1. Move the base driver tar file to the directory of your choice. For example, use /home/username/e1000 or /usr/local/src/e1000.2. Untar/unzip archive: tar zxf e1000-x.x.x.tar.gz3. Change to the driver src directory: cd e1000-x.x.x/src/4. Compile the driver module: make install The binary will be installed as: /lib/modules/<KERNEL VERSION>/kernel/drivers/net/e1000/e1000.[k]o The install locations listed above are the default locations. They might not be correct for certain Linux distributions. 5. Load the module using either the insmod or modprobe command: modprobe e1000 insmod e1000 Note that for 2.6 kernels the insmod command can be used if the full path to the driver module is specified. For example: insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/e1000/e1000.ko With 2.6 based kernels also make sure that older e1000 drivers are removed from the kernel, before loading the new module: rmmod e1000; modprobe e10006. Assign an IP address to the interface by entering the following, where x is the interface number: ifconfig ethx <IP_address>7. Verify that the interface works. Enter the following, where <IP_address> is the IP address for another machine on the same subnet as the interface that is being tested: ping <IP_address> Command Line Parameters=======================If the driver is built as a module, the following optional parametersare used by entering them on the command line with the modprobe commandusing this syntax: modprobe e1000 [<option>=<VAL1>,<VAL2>,...]For example, with two Gigabit PCI adapters, entering: modprobe e1000 TxDescriptors=80,128loads the e1000 driver with 80 TX descriptors for the first adapter and128 TX descriptors for the second adapter.The default value for each parameter is generally the recommended setting,unless otherwise noted.NOTES: For more information about the AutoNeg, Duplex, and Speed parameters, see the "Speed and Duplex Configuration" section in this document. For more information about the InterruptThrottleRate, RxIntDelay, TxIntDelay, RxAbsIntDelay, and TxAbsIntDelay parameters, see the application note at: http://www.intel.com/design/network/applnots/ap450.htm A descriptor describes a data buffer and attributes related to the data buffer. This information is accessed by the hardware.AutoNeg-------(Supported only on adapters with copper connections)Valid Range: 0x01-0x0F, 0x20-0x2FDefault Value: 0x2FThis parameter is a bit-mask that specifies the speed and duplex settingsadvertised by the adapter. When this parameter is used, the Speed andDuplex parameters must not be specified.NOTE: Refer to the Speed and Duplex section of this readme for more information on the AutoNeg parameter.Duplex------(Supported only on adapters with copper connections)Valid Range: 0-2 (0=auto-negotiate, 1=half, 2=full)Default Value: 0This defines the direction in which data is allowed to flow. Can beeither one or two-directional. If both Duplex and the link partner areset to auto-negotiate, the board auto-detects the correct duplex. If thelink partner is forced (either full or half), Duplex defaults to half-duplex.FlowControl-----------Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx)Default Value: Reads flow control settings from the EEPROMThis parameter controls the automatic generation(Tx) and response(Rx)to Ethernet PAUSE frames.InterruptThrottleRate---------------------(not supported on Intel(R) 82542, 82543 or 82544-based adapters)Valid Range: 0,1,3,100-100000 (0=off, 1=dynamic, 3=dynamic conservative)Default Value: 3The driver can limit the amount of interrupts per second that the adapterwill generate for incoming packets. It does this by writing a value to the adapter that is based on the maximum amount of interrupts that the adapter will generate per second.Setting InterruptThrottleRate to a value greater or equal to 100will program the adapter to send out a maximum of that many interruptsper second, even if more packets have come in. This reduces interruptload on the system and can lower CPU utilization under heavy load,but will increase latency as packets are not processed as quickly.The default behaviour of the driver previously assumed a static InterruptThrottleRate value of 8000, providing a good fallback value for all traffic types,but lacking in small packet performance and latency. The hardware can handle many more small packets per second however, and for this reason an adaptive interrupt moderation algorithm was implemented.Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in whichit dynamically adjusts the InterruptThrottleRate value based on the traffic that it receives. After determining the type of incoming traffic in the lasttimeframe, it will adjust the InterruptThrottleRate to an appropriate value for that traffic.The algorithm classifies the incoming traffic every interval intoclasses. Once the class is determined, the InterruptThrottleRate value is adjusted to suit that traffic type the best. There are three classes defined: "Bulk traffic", for large amounts of packets of normal size; "Low latency",for small amounts of traffic and/or a significant percentage of smallpackets; and "Lowest latency", for almost completely small packets or minimal traffic.In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 for traffic that falls in class "Bulk traffic". If traffic falls in the "Low latency" or "Lowest latency" class, the InterruptThrottleRate is increased stepwise to 20000. This default mode is suitable for most applications.For situations where low latency is vital such as cluster orgrid computing, the algorithm can reduce latency even more whenInterruptThrottleRate is set to mode 1. In this mode, which operatesthe same as mode 3, the InterruptThrottleRate will be increased stepwise to 70000 for traffic in class "Lowest latency".Setting InterruptThrottleRate to 0 turns off any interrupt moderationand may improve small packet latency, but is generally not suitablefor bulk throughput traffic.NOTE: InterruptThrottleRate takes precedence over the TxAbsIntDelay and RxAbsIntDelay parameters. In other words, minimizing the receive and/or transmit absolute delays does not force the controller to generate more interrupts than what the Interrupt Throttle Rate allows.CAUTION: If you are using the Intel(R) PRO/1000 CT Network Connection (controller 82547), setting InterruptThrottleRate to a value greater than 75,000, may hang (stop transmitting) adapters under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang, ensure that InterruptThrottleRate is set no greater than 75,000 and is not set to 0.NOTE: When e1000 is loaded with default settings and multiple adapters are in use simultaneously, the CPU utilization may increase non- linearly. In order to limit the CPU utilization without impacting the overall throughput, we recommend that you load the driver as follows: modprobe e1000 InterruptThrottleRate=3000,3000,3000 This sets the InterruptThrottleRate to 3000 interrupts/sec for the first, second, and third instances of the driver. The range of 2000 to 3000 interrupts per second works on a majority of systems and is a good starting point, but the optimal value will be platform-specific. If CPU utilization is not a concern, use RX_POLLING (NAPI) and default driver settings.RxDescriptors-------------Valid Range: 80-256 for 82542 and 82543-based adapters
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -