[Bug 224346] [regression] e1000 rxcsum corruption

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Dec 14 18:59:00 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224346

            Bug ID: 224346
           Summary: [regression] e1000 rxcsum corruption
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: regression
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: gjb at FreeBSD.org
                CC: sbruno at FreeBSD.org

There appears to be a regression in e1000-based drivers (em(4), igb(4)) which
intermittently causes data corruption with rxcsum enabled.  I do not have an
exact timeframe, but it appears to be roughly within the past two months or so.

When building arm snapshots, math/mpfr is a dependent port which, for the past
several weeks had caused build failures due to a checksum mismatch.  It is not
100% reproducible, but this port specifically has been the consistent cause of
the build failures.

When looking into the root cause of the checksum mismatch, I noticed that
manually fetching the distfile for the math/mpfr port did not always produce an
incorrect checksum.  Looking closer at several different machines running
various versions of 12-CURRENT ranging from September through early November,
some with different NICs (bge(4) being the most common non-e1000 NIC), it
became apparent that the key common element for the intermittent corrupted
distfile was the network driver.

Looking further, I discovered that when rxcsum is turned off via ifconfig(8),
the problem is no longer reproducible.

It should be noted that the failures have not been observed with other ports,
and I am uncertain what about the master site for math/mpfr is special in this
regard, but this testing has been repeated numerous times with similar results.

With rxcsum enabled:

# ifconfig igb0
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       
options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
# for i in $(seq 1 9); do fetch -4 -o ${i}.tar.xz
http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz; sha256 -q ${i}.tar.xz; done
1.tar.xz                                      100% of 1107 kB  585 kBps 00m02s  
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950              
2.tar.xz                                      100% of 1107 kB  597 kBps 00m02s
3cf25a685c0dda614e320e7263299f2897425a55302a51bc69a2df449d7d34a6
3.tar.xz                                      100% of 1107 kB  704 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
4.tar.xz                                      100% of 1107 kB  565 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
5.tar.xz                                      100% of 1107 kB  627 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
6.tar.xz                                      100% of 1107 kB  633 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
7.tar.xz                                      100% of 1107 kB  637 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
8.tar.xz                                      100% of 1107 kB  290 kBps 00m04s
8f429167a0225c62063b62f3fe6eff70a0dafcdee15d3ead7d90bb533d1b64bd
9.tar.xz                                      100% of 1107 kB  492 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950


With rxcsum disabled:

# ifconfig igb0
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       
options=c505ba<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,TXCSUM_IPV6>
# for i in $(seq 1 9); do fetch -4 -o ${i}.tar.xz
http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz; sha256 -q ${i}.tar.xz; done
1.tar.xz                                      100% of 1107 kB  202 kBps 00m06s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
2.tar.xz                                      100% of 1107 kB  269 kBps 00m04s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
3.tar.xz                                      100% of 1107 kB  445 kBps 00m03s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
4.tar.xz                                      100% of 1107 kB  127 kBps 00m09s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
5.tar.xz                                      100% of 1107 kB  384 kBps 00m03s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
6.tar.xz                                      100% of 1107 kB  182 kBps 00m06s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
7.tar.xz                                      100% of 1107 kB  451 kBps 00m02s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
8.tar.xz                                      100% of 1107 kB  310 kBps 00m03s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950
9.tar.xz                                      100% of 1107 kB  223 kBps 00m05s
7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list