Re: Bogus frames transmitted with r8169 & fragmentation & large mtu

Francois Romieu
2012-02-21T11:10:36Z

[-- Attachment #1: Type: text/plain, Size: 1735 bytes --]

hayeswang <hayeswang@realtek.com> :
> > Francois Romieu <romieu@fr.zoreil.com> :
[...]
> > Trying with 'ping -qf -c 100 -l 2 -s 65507 10.0.7.1'
>
> It works fine for me. I use Linux platform (Fedora 16 with kernel 3.2.0 with
> that patch) with the realtek nic to ping Windows platform with the NVIDIA nic,
> and I connect the two PCs directly without the switch. It works well except for
> the first packet after I set the new mtu.

No switch, old PCI e1000, Fedora 15, d5ef8a4d87ab21d575ac86366599c9152a28028d
(post -rc3) from davem here. Imvho you are not trying hard enough to break
your toys :o)

What about :

# sysctl -w net.core.rmem_max=1000000
# ping -qf -c 10000 -l 8 -s 65507 10.0.7.1

If it's not enough you can increase '-c' and '-l' further. I see no loss
with '-l 1', event after 100k packets.

> > So far I have only seen it with the 2nd and last fragment.

... which should have read as "the hardware problem is gone, stop using SLUB
if you do not want to see intra-packet corruption".

However I still see it with SLAB (.config attached):

# ping -qf -c 10000 -l 2 -s 65507 10.0.7.1
PING 10.0.7.1 (10.0.7.1) 65507(65535) bytes of data.

--- 10.0.7.1 ping statistics ---
10000 packets transmitted, 9916 received, 0% packet loss, time 15898ms
rtt min/avg/max/mdev = 2.154/2.847/3.256/0.138 ms, pipe 2, ipg/ewma 1.589/2.867 ms

Almost mundane .5 %. Alas:

# ping -qf -c 6 -l 4 -s 65507 10.0.7.1
PING 10.0.7.1 (10.0.7.1) 65507(65535) bytes of data.

--- 10.0.7.1 ping statistics ---
6 packets transmitted, 4 received, 33% packet loss, time 4ms
rtt min/avg/max/mdev = 2.831/3.872/4.896/0.765 ms, pipe 4, ipg/ewma 0.874/3.309 ms

I'll follow Eric's suggestion with checking the packet content in start_xmit.

--
Ueimor

[-- Attachment #2: config-3.3.0-rc3-dmn+.gz --]
[-- Type: application/x-gzip, Size: 21527 bytes --]