Advanced Linux Configuration for GbE Devices

This topic provides advanced configuration information about setting e1000 driver parameters when running Linux x86 systems and PCIe GbE ExpressModules.

Setting e1000 Driver Parameters

The e1000 driver controls the GbE UTP EM interfaces for Linux (RedHat and SUSE) systems. You can manually set the e1000 driver parameters to customize each device in your system.

In a Linux operating system, you can set the driver parameters only at the time the driver is loaded. If you have already loaded the driver and have not set the parameters at the same time, you will need to remove the driver and reinstall it, using the following procedure.

  1. Remove the GbE EM driver by entering the following command:

    # rmmod e1000

  2. Load the GbE EM driver by entering the following command:

    # modprobe e1000 option=VAL1, VAL2,...

    or you can use the insmod command as follows:

    # insmod e1000 option=VAL1, VAL2,...

    where VAL1 applies to the first e1000 interface and VAL2 to the next interface and so on.

The following table lists and describes the tunable e1000 driver parameters for Linux operating systems.

Keyword

Description

FlowControl

Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx)

Default: Read from the EEPROM

If EEPROM is not detected, default is 3.

This parameter controls the automatic generation (Tx) and response (Rx) to Ethernet PAUSE frames.

RxDescriptors

Valid Range: 80-4096

Default Value: 256

This value is the number of receive descriptors allocated by the driver. Increasing this value allows the driver to buffer more incoming packets. Each descriptor is 16 bytes. A receive buffer is also allocated for each descriptor and can be either 2048, 4056, 8192, or 16384 bytes, depending on the MTU setting. When the MTU size is 1500 or less, the receive buffer size is 2048 bytes. When the MTU is greater than 1500, the receive buffer size will be either 4056, 8192, or 16384 bytes. The maximum MTU size is 16114.

RxIntDelay

Valid Range: 0-65535 (0=off)

Default Value: 128

This value delays the generation of receive interrupts in units of 0.8192 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.

TxDescripors

Valid Range: 80-4096

Default Value: 256

This value is the number of transmit descriptors allocated by the driver. Increasing this value allows the driver to queue more transmits. Each descriptor is 16 bytes.

XsumRX

Valid Range: 0-1

Default Value: 1

A value of 1 indicates that the driver should enable IP checksum offload for received packets (both UDP and TCP) to the adapter hardware.