fxp: stalled transfers

Bjoern Koenig bkoenig at alpha-tierchen.de
Fri Apr 10 06:46:11 UTC 2009


I wrote:
>
>> If you can easily reproduce the issue, can you capture stalled TCP
>> session with tcpdump on receiving host?(Make sure to disable Rx
>> checksum offload prior to capturing the session.)
>
> I transferred a 256 kiB file and these are the tcpdumps:
>
> http://www.alpha-tierchen.de/~bkoenig/fxp0-with-tso.txt
> http://www.alpha-tierchen.de/~bkoenig/fxp0-without-tso.txt
>
> Actually the transfer doesn't stall although ftp and scp told me so. It
> becomes incredibly slow. It seems like that the chunks are too large and a
> smaller packet will be resent. I decreased the MTU from 1500 to 1492 and
> it works fine with TSO enabled.
>
> I also captured the traffic on my router:
>
> http://www.alpha-tierchen.de/~bkoenig/fxp0-with-tso-router.txt
> http://www.alpha-tierchen.de/~bkoenig/fxp0-without-tso-router.txt
>
> It reveals a suspect information: "truncated-ip - 8 bytes missing!"
>
> I almost suppose that this is a PPPoE-related configuration issue and the
> fxp driver is not necessarily the problem since decreasing the MTU of the
> LAN host solves it.

Hello, it's me again. :)

It's not PPPoE-related. I was able to reproduce the behaviour within a
regular LAN from host to host. I also have another symptom which denies
the PPPoE assumption:

If I set MTU to value X then it doesn't work with MTU X+N anymore. I'll
get the message "N bytes missing!" in the tcpdump output. For example:

ifconfig fxp0 mtu 1448   # works
ifconfig fxp0 mtu 1412   # still works
ifconfig fxp0 mtu 1448   # doesn't work (36 bytes missing)
ifconfig fxp0 mtu 1400   # works
ifconfig fxp0 mtu 1412   # doesn't work (12 bytes missing)

Regards
Björn




More information about the freebsd-stable mailing list