cvs commit: src/sys/dev/netif/xl if_xl.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Jan 23 22:41:54 PST 2004
dillon 2004/01/23 22:40:34 PST
DragonFly src repository
Modified files:
sys/dev/netif/xl if_xl.c
Log:
Turn off hardware assisted transmit checksums by default. In buildworld
loop tests this has been conclusively shown to corrupt transmit packets
about one out of every million packets. The receive will not know the the
packet is bad because hardware assist also apples the correct checksum
to the corrupted packet. The result are random failures or corruption
of network data in certain situations. On DragonFly, for some reason, doing
a 'resident /usr/bin/*' seems to bring the problem out every few buildworlds
with (primarily) mkdep's cpp complaining about odd errors trying to open
non-existant header files (during a header file search), such as
EPROTONOSUPPORT. A tcpdump on both NFS client and server showed the
client transmitting an access RPC and the server seeing a corrupted access
RPC on its end, and then responding with EPROTONOSUPPORT. Other uncaught
errors are also almost certainly occuring. mkdep is more likely to catch
them because it actually checks the errno of a failed open() and does a
huge number of open()'s (and as an NFS client this generates a huge amount
of packet traffic).
Revision Changes Path
1.8 +9 -2 src/sys/dev/netif/xl/if_xl.c
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/xl/if_xl.c.diff?r1=1.7&r2=1.8&f=h
More information about the Commits
mailing list