On Tue, Oct 14, 2014 at 14:54:17 +0200, Joerg Sonnenberger wrote: > On Tue, Oct 14, 2014 at 12:56:48AM +0000, Valeriy E. Ushakov wrote: > > Module Name: src > > Committed By: uwe > > Date: Tue Oct 14 00:56:48 UTC 2014 > > > > Modified Files: > > src/sys/dev/ic: rtl8169.c > > > > Log Message: > > RealTek 8139C+ incorrectly identifies UDP checksum 0xffff as bad. > > Force software recalculation of UDP checksum if bad checksum is > > reported by the hardware. > > Is the problem just the one-complement handling? Could we check if the > UDP checksum in the header is 0 first
FFFF, not 0 (which means "no checksum"). > and only do the recalculation then? We can, but I didn't feel like trying to squeeze that logic into 24 character width available or restructuring the code to avoid deep nesting. Since I didn't get around to do that in the last year or so, I decided that committing a fix that makes things work is more important. -uwe