Re: TCP-MD5 checksum failure on x86_64 SMP

Eric Dumazet
2010-05-11T06:28:30Z

Le mardi 11 mai 2010 à 04:08 +0000, Bijay Singh a écrit :
> Hi Eric,
>
> I guess that makes me the enviable one. So I am keen to test out this feature

> completely, as long as I know what to do as a next step, directions, patches.
>

MTU > 4000 is not reliable because of high order allocations on typical
NICS. I am afraid you need NIC able to deliver page fragments.

Its working here (32bit kernel) with a tg3 NIC, but I got following
message :

ifconfig eth3 mtu 9000
...
[51492.936500] 167731 total pagecache pages
[51492.936500] 0 pages in swap cache
[51492.936500] Swap cache stats: add 0, delete 0, find 0/0
[51492.936500] Free swap = 4192928kB
[51492.936500] Total swap = 4192928kB
[51492.936500] 1114110 pages RAM
[51492.936500] 885761 pages HighMem
[51492.936500] 77073 pages reserved
[51492.936500] 134483 pages shared
[51492.936500] 159131 pages non-shared
[51492.953027] tg3 0000:14:04.1: eth3: Using a smaller RX standard ring.
Only 183 out of 511 buffers were allocated successfully

$ ethtool -g eth3
Ring parameters for eth3:
Pre-set maximums:
RX: 511
RX Mini: 0
RX Jumbo: 0
TX: 511
Current hardware settings:
RX: 183
RX Mini: 0
RX Jumbo: 0
TX: 511

$ cat /proc/buddyinfo
Node 0, zone DMA 5 2 1 1 2 2 2 1 0 1 0
Node 0, zone Normal 4285 1823 248 73 9 5 0 0 0 0 0
Node 0, zone HighMem 97 199 921 583 383 261 155 117 69 41 649

I know that if I try to stress RX path, I'll get failures.

Could you explain me why you need both big MTUS and TCP-MD5 ?