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

Pyun YongHyeon pyunyh at gmail.com
Mon Mar 3 00:43:48 UTC 2008


On Sun, Mar 02, 2008 at 11:44:03PM +0100, Arnaud Houdelette wrote:
 > 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) ?
 > 

There had been several re(4) instability issues on PCIe based
controllers. Would you try the following patch and let me know the
result?
http://people.freebsd.org/~yongari/re/6.3R/re.busdma.patch

If you use 7.0-RELEASE use the following one.
http://people.freebsd.org/~yongari/re/7.0R/if_re.c
http://people.freebsd.org/~yongari/re/7.0R/if_rlreg.h

 > 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

-- 
Regards,
Pyun YongHyeon


More information about the freebsd-stable mailing list