BNX2 driver drops packets - erratic behavior of UDP-based applications and TCP slowness

  • 7002506
  • 30-Jan-2009
  • 08-Nov-2012

Environment

SUSE Linux Enterprise Server 10 Support Pack 1
SUSE Linux Enterprise Server 10 Support Pack 2
BNX2 Kernel Module

Situation

High packet loss has been observed to cause:
  • UDP-based communications are unstable or have erratic behavior
  • OCFS2 Cluster instability, erratic behavior and cluster failure
  • LinuxHA Cluster instability, erratic behavior and cluster failure
  • NFS slowness, unreliability or failure
  • Xen DomU based applications may be slow
  • Periods of random TCP slowness
The ifconfig and netstat -i commands shows a significant number of dropped packets. Packet loss can be as high as 40%.

Resolution

The BNX2 kernel module that shipped with the SLES 10 has a significant bug where a high ratio of dropped packets has been observed. For application that are UDP-based, such as OCFS2 and clustering software, the dropped packets can result in failure of the application. TCP applications are not as affected, although they may experience periods of profound slowness.

This issue is fixed with the maintenance update to kernel 2.6.16.60-0.37 and the later maintenance kernels. This brings the module version to 1.7.6b.

Any system with symptoms described above should be updated to the latest maintenance kernel.

Additional Information

For ifconfig the following may appear:

eth0 Link encap:Ethernet HWaddr 00:1C:C4:96:DE:EA
inet addr:192.168.39.170 Bcast:192.168.39.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c4ff:fe96:deea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5307978 errors:0 dropped:3841189 overruns:0 frame:0
TX packets:1522673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1775345955 (1693.1 Mb) TX bytes:967976568 (923.1 Mb)
Interrupt:169 Memory:dc000000-dc012100



To determine the module version, use the modinfo command, for example "modinfo bnx2" The following is an example of a BNX2 driver needing to be patched:

filename: /lib/modules/2.6.16.60-0.33-xenpae/kernel/drivers/net/bnx2.ko
version: 1.6.7c
license: GPL
description: Broadcom NetXtreme II BCM5706/5708 Driver
author: Michael Chan <mchan@broadcom.com>
srcversion: D41ADC8BC49443A4DAE505E
alias: pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias: pci:v000014E4d00001639sv*sd*bc*sc*i*
alias: pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias: pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
supported: yes
vermagic: 2.6.16.60-0.33-xenpae SMP Xen 686 REGPARM gcc-4.1
parm: disable_msi:Disable Message Signaled Interrupt (MSI) (int)



Feedback service temporarily unavailable. For content questions or problems, please contact Support.