summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2008-03-28 01:21:21 +0000
committeryongari <yongari@FreeBSD.org>2008-03-28 01:21:21 +0000
commite8dec714c152599d2c50ced87a4f8feac69f47be (patch)
tree5c0f9b16502a0566dcc1156adef8feb1da3df8bf /lib/libc
parentcee246254050beb0770a8ab9cdff03f44c2db3c9 (diff)
downloadFreeBSD-src-e8dec714c152599d2c50ced87a4f8feac69f47be.zip
FreeBSD-src-e8dec714c152599d2c50ced87a4f8feac69f47be.tar.gz
In revision 1.70, 1.71 and 1.84 re(4) tried to workaround checksum
offload bugs by manual padding for short IP/UDP frames. Unfortunately it seems that these workaround does not work reliably on newer PCIe variants of RealTek chips. To workaround the hardware bug, always pad short frames if Tx IP checksum offload is requested. It seems that the hardware has a bug in IP checksum offload handling. NetBSD manually pads short frames only when the length of IP frame is less than 28 bytes but I chose 60 bytes to safety. Also unconditionally set IP checksum offload bit in Tx descriptor if any TCP or UDP checksum offload is requested. This is the same way as Linux does but it's not mentioned in data sheet. Obtained from: NetBSD Tested by: remko, danger
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud