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