[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kirkwood mv643xx_eth wrong tcp checksums

I have a QNAP TS-119 device and flashed debian squeeze on it as
described on this website:
Thanks a lot for this great debian port. It's nice to have such a
powerful nas running with a native debian system.

But I am unable to use jumbo frames with the mv643xx_eth kernel module.
My network supports jumbo frames and I had no problems in using jumbo
frames on the previously installed qnap os.

If I now enable jumbo frames (ifconfig eth0 mtu 9000) all outgoing
ethernet frames which are larger than 1500 bytes have incorrect tcp
checksums and are discarded by the other hosts. I captured it with
wireshark and frames <= 1500 bytes all have a correct checksum. It is
also a bit strange that frames > 1500 byte all have the same tcp
checksum 0x81d5.

I gues that there is something going wrong with the tcp checksum
(offload?) engine.

Are there any known problems concerning jumbo frames and/or tcp checksums?

I am using a QNAP TS-119 with debian squeeze, kernel 2.6.30-2-kirkwood.

Here are some screenshots of the wireshark capture with mtu 9000:

The whole wireshark capture can be downloaded here:

The tcp performance with 1500B mtu is not bad but I hope to get a little
more throughput when offloading the cpu with larger mtu.

root@server:~# iperf -c nas.lan.froehlich.ws -N
Client connecting to nas.lan.froehlich.ws, TCP port 5001
TCP window size:   640 KByte (default)
[  3] local port 36931 connected with port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec    447 MBytes    375 Mbits/sec

Any hints are welcome.
Should you need any further information, just let me know.


Reply to: