IP header checksum missing with Realtek 8168, jumbo frames and offloading.

Arnaud Houdelette arnaud.houdelette at tzim.net
Sun Mar 2 22:44:07 UTC 2008


I encountered connectivity issues with an integrated Realtek 8168 on my 
MSI motherboard after enabling jumbo frames on my other box. 
Investigating the issue, I found that the packets with an ethernet frame 
of length > 2048 get an IP header of 0x0000.
ping -s 3000 192.168.0.11  ==> fail (ethereal on the other box show the 
0x0000 checksum on IP header)
ping -s 2008 192.168.0.11  ==> fail
ping -s 2006 192.168.0.11  ==> succeed


re0: <RealTek 8168/8111B PCIe Gigabit Ethernet> port 0xd800-0xd8ff mem 
0xfeaff000-0xfeafffff irq 19 at device 0.0 on pci2
re0: Using 2 MSI messages
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto


The interface re0 is configured with :
ifconfig inet 192.168.0.1/24 media auto mtu 7422 polling
ifconfig re0 -txcsum  solves the issue.

I tried to reproduce the issue with a Realtek 8169 (using re(4) too). I 
couln't : checksum offloading works ok on this card.
Is this a known issue (or maybe a bug in the 8168) ?

I can provide some network capture if needed. In the meantime I swapped 
the two cards as I don't need jumbo on one of them.

Thanks

Arnaud


More information about the freebsd-stable mailing list