IBM Support

Netfinity 10/100: Runt / alignment errors on a Cisco Catalyst switch - Servers

Troubleshooting


Problem

Source RETAIN tip H176160 Symptom A Cisco Catalyst switch logged a high number of runt and alignment errors on a port connected to an IBM Netfinity 10/100 Ethernet adapter. NOTE: The number of errors varied depending on the version of the

Resolving The Problem

Source

RETAIN tip H176160

Symptom

A Cisco Catalyst switch logged a high number of runt and alignment errors on a port connected to an IBM Netfinity 10/100 Ethernet adapter.
 
Note: The number of errors varied depending on the version of the switch line card.

Affected configurations

The system may be any of the following IBM eServer xSeries servers:

  • An xSeries 440, type 8687, any model
  • An xSeries 380, type 8683, any model
  • An xSeries 370, type 8681, any model
  • An xSeries 360, type 8686, any model
  • An xSeries 350, type 8682, any model
  • An xSeries 342, type 8669, any model
  • An xSeries 330, type 8675, any model
  • An xSeries 330, type 8674, any model
  • An xSeries 330, type 8654, any model
  • An xSeries 300, type 8672, any model
  • An xSeries 250, type 8665, any model
  • An xSeries 240, type 8664, any model
  • An xSeries 232, type 8668, any model
  • An xSeries 230, type 8658, any model
  • An xSeries 220, type 8646, any model
  • An xSeries 220, type 8645, any model
  • An xSeries 200, type 8481, any model
  • An xSeries 200, type 8479, any model
  • An xSeries 200, type 8478, any model

The system may be any of the following IBM Netfinity servers:

  • A Netfinity 8500R server, type 8681, any model
  • A Netfinity 7600 server, type 8665, any model
  • A Netfinity 7100 server, type 8666, any model
  • A Netfinity 7000-M10 server, type 8680, any model
  • A Netfinity 7000 server, type 8651, any model
  • A Netfinity 6000R server, type 8682, any model
  • A Netfinity 5600 server, type 8664, any model
  • A Netfinity 5500-M20 server, type 8662, any model
  • A Netfinity 5500-M10 server, type 8661, any model
  • A Netfinity 5500 server, type 8660, any model
  • A Netfinity 5100 server, type 8658, any model
  • A Netfinity 5000 server, type 8659, any model
  • A Netfinity 4500R server, type 8656, any model
  • A Netfinity 3500-M20 server, type 8657, any model
  • A Netfinity 3000 server, type 8476, any model
  • A Netfinity 1000 server, type 8477, any model
  • A Netfinity A100 server, type 8652, any model

The system may be any of the following IBM IntelliStations:

  • An IntelliStation E Pro, type 6836, any model
  • An IntelliStation E Pro, type 6846, any model
  • An IntelliStation E Pro, type 6867, any model
  • An IntelliStation E Pro, type 6893, any model
  • An IntelliStation M Pro, type 6229, any model
  • An IntelliStation M Pro, type 6849, any model
  • An IntelliStation M Pro, type 6850, any model
  • An IntelliStation M Pro, type 6868, any model
  • An IntelliStation M Pro, type 6888, any model
  • An IntelliStation M Pro, type 6889, any model
  • An IntelliStation M Pro, type 6898, any model
  • An IntelliStation R Pro, type 8654, any model
  • An IntelliStation Z Pro, type 6865, any model
  • An IntelliStation Z Pro, type 6866, any model
  • An IntelliStation Z Pro, type 6894, any model
  • An IntelliStation Z Pro, type 6899, any model

The system is configured with the following option(s):

  • A Netfinity 10/100 Ethernet Adapter, option part number 34L0901, replacement part number (FRU) 30L7583
  • A Netfinity 10/100 Ethernet Adapter 2, option part number 34L1501, replacement part number (FRU) 30L1509
  • A 10/100 Ethernet Server Adapter, option part number 06P3601, replacement part number (FRU) 06P3609
  • A 10/100 Dual-Port Server Adapter, option part number 22P4901, replacement part number (FRU) 22P4909

The following network operating systems are affected:

  • Microsoft Windows NT WorkStation 4.0
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Server, Enterprise Edition
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server

The system is configured with a Cisco Catalyst switch.

Solution

Note: Unless a specific error is encountered along with the runt and alignment errors, customers should not modify these parameters.
 
If a customer believes that the Early Transmit function is causing a specific problem, they can verify this by turning off the Early Transmit function.
 
To turn off the Early Transmit function:

  • In PROset, set Adaptive Transmit Threshold = 190 or greater

If this resolves the specific problem, the customer can manually control the Early Transmit function to gain performance.
 
To manually control the Early Transmit function, set Adaptive Transmit Threshold to a static value:

  • In the registry, set TxPerUnderrun = 0.
  • In PROset, set Adaptive Transmit Threshold = to a value that solves the specific problem and provides the best possible performance. The customer will need to determine this value based on their unique environment.

Notes:

  • Intel recommends manually controlling the Early Transmit function rather then turning it off.
  • Although this issue was seen on a server running Windows 2000, it may also occur on an NT 4.0 server.
    The parameter names listed in this tip are correct for Windows 2000 only.
Details

To improve performance, Intel has implemented a function called Early Transmit.
 
The nature of this function may lead to transmit under-runs. (The age of the switch, and the server's bus speed have an influence, as well.)
 
These transmit under-run frames are usually logged by a switch as alignment or runt errors. Two (2) parameters may be used to control the Early Transmit function. Their default values were chosen because they maintain an acceptable rate of under-run frames while providing maximum performance.
 
In general, customers are advised not to adjust either parameter because an algorithm enforces this under-run rate dynamically.
 
However, some environments are less tolerant of packet loss then others. If the Early Transmit function is causing a specific failure, then manual control may be required.
 

Additional information

The Intel Pro 100 Family of Ethernet Adapters are designed for optimal performance in today's demanding, high-speed networking environments. In order to satisfy these demanding needs, Intel has designed Network Interface Cards that adapt to constant-changing network environments.
 
However, these cards may also be configured manually, and in some cases there may be a need to adjust some parameters to avoid error messages in some switches.
 
For example, the parameter Adaptive Transmit Threshold on these adapters by default is configured to maximize throughput performance.
 
There are two (2) bounds for the threshold; 1 as a lower bound, and 190 as the upper bound. (The default is 12.)
 
The lower the setting, the more aggressive the adapter is to push data to the wire.
 
In some cases, this early transmit feature may generate transmit under-runs which may show up on a switch as alignment errors or runts and in some older switches it may be interpreted as collisions.

In these cases, it may be necessary to adjust the adapter manually for optimal performance.
 
This threshold parameter can be set using Intel PROSet under the Advanced parameter "Adaptive Transmit Threshold" option.
 
If a user wishes to turn off the early transmit function of this feature a setting in the registry of 190 or higher should be set.
 
Note: The maximum number that can be set is 200, but any setting of 190 or higher will turn this feature off.
 

How Adaptive Transmit Threshold works

This function is designed to manage the transmit threshold by modifying the adapter's AiThreshold value that is programmed into each frame before transmit.
 
The threshold value represents the number of DWORDS that must be in the FIFO buffer before the frame will start being transmitted onto the wire.
 
In order to achieve higher throughput, early transmits may be utilized. This may cause some fragmentation of data or under-runs (runts).
 
A high transmit threshold value will prevent under-runs if the transmit data is fragmented. However, a lower value will cause the adapter to be more aggressive, and will provide superior performance as long as numerous under-runs (started transmit too early) are not occurring.
 
This adaptive algorithm constantly tries to adjust the threshold down by one, and responds to under-runs by raising the threshold.
 
Alternatively, in a system with a slower PCI bus, this algorithm could eventually raise the threshold to 190 that would disable the adaptive algorithm. Therefore since 190 * 8 = 1520 and 1520 > 1514, (max Ethernet frame size), 190 is the upper bound.
 
The driver default sets the number of bytes before the adapter empties its FIFO buffer. The actual value is 8 times this setting.
 
If the Adaptive Transmit Threshold Algorithm is enabled, then this parameter setting determines the starting value of the adapter's transmit threshold.
 
If the Adaptive Transmit Threshold Algorithm is disabled, then this parameter will determine the adapter's static transmit threshold value.
 
Another driver registry parameter that controls the adaptive transmit feature is called "TxPerUnderrun". The TxPerUnderrun parameter cannot be set using the PROSet Advanced parameters but can be manually added/modified in the registry.
 
The driver's Adaptive Transmit Threshold Algorithm also uses the TxPerUnderrun parameter. It determines how many successful transmits the driver wants to have occur for every transmit under-run frame that the adapter sends.
 
For instance, if this parameter is equal to 20,000, then the driver will adjust the transmit threshold value so that the adapter doesn't send more than one under-run for every 20,000 frames. (NOTE: The driver default: 20,000.)
 
The parameter will be passed to the driver to adjust the transmit threshold value, so that the hardware doesn't under-run more than once for every TxPerUnderrun frames. If this parameter was set to 0, then the adaptive transmit threshold algorithm is disabled, and the driver always sets the adapter's threshold value to the value of the Threshold parameter.

Document Location

Worldwide

Operating System

IntelliStation Pro:Windows NT

System x:Windows NT

IntelliStation Pro:Windows 2000

System x:Windows 2000

Older System x:All operating systems listed

[{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN01","label":"Older System x->Netfinity 7000"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN03","label":"Older System x->Netfinity 3000"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN04","label":"Older System x->Netfinity 5500"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN05","label":"Older System x->Netfinity 5000"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN06","label":"Older System x->Netfinity 1000"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN07","label":"Older System x->Netfinity 8500R"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN08","label":"Older System x->Netfinity 5600"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN10","label":"Older System x->Netfinity 5100"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN11","label":"Older System x->Netfinity 7100"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN12","label":"Older System x->Netfinity 6000R"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN13","label":"Older System x->Netfinity 4500R"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"HWN14","label":"Older System x->Netfinity A100"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN15","label":"Older System x->Netfinity 7600"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN17","label":"Older System x->Netfinity 3500 M20"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN18","label":"Older System x->Netfinity 5500 M10"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN19","label":"Older System x->Netfinity 5500 M20"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU016","label":"Multiple Vendor Support"},"Product":{"code":"HWN20","label":"Older System x->Netfinity 7000 M10"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"HWP01","label":"IntelliStation Pro->IntelliStation M Pro"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"HWP02","label":"IntelliStation Pro->IntelliStation Z Pro"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"HWP03","label":"IntelliStation Pro->IntelliStation E Pro"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}},{"Type":"HW","Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"HWP99","label":"IntelliStation Pro->IntelliStation R Pro"},"Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
28 January 2019

UID

ibm1MIGR-43673