Differences

This shows you the differences between two versions of the page.

Link to this comparison view

hpdl385-bnx2-nic [2008/01/15 10:39]
pegasus
hpdl385-bnx2-nic [2009/05/25 00:35]
Line 1: Line 1:
-I recently found out that drbd link between two HP DL385 machines tends to stall under high io load. Investigations turned out that tcp segmentation performed by the nic is faulty. 
  
-Problem is easy to reproduce. You need some traffic generator (I used xinetd chargen), some traffic sink (I used nc > /dev/null) and iptraf or tcpdump.  Set up traffic generator on the machine you want to test and connect to it from outside. You can observe with "iptraf -d ethX" or "tcpdump -vi ethX | grep bad" that ammount of tcp packets with incorrect checksum is unusualy high (I observed around 10%). You can also see these bad packets on the sink machine with tcpdump. 
- 
-After playing with ethtool -K settings I found out that tcp segmentation offload is to blame. You can turn it off simply with ethtool -K ethX tso off and bad packets magically disappear. 
- 
-I verified this to be true with bnx2 driver version 1.4.43, 1.4.52d and 1.5.11-rh. I'll repeat tests with 1.6.7 (directly from broadcom site) in about two weeks. There are some reports that it fixes the problem. 
- 
-Update: the fix went in just after 1.5.11, so all versions after it work properly, including 1.6.7. 
hpdl385-bnx2-nic.txt ยท Last modified: 2009/05/25 00:35 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready