Slow local TCP transfers on -CURRENT
Lawrence Stewart
lstewart at freebsd.org
Mon May 4 16:24:20 UTC 2009
George Neville-Neil wrote:
>
> On May 2, 2009, at 08:16 , Lawrence Stewart wrote:
>
>> Kevin Day wrote:
>>> I've been seeing this for a few months now on -CURRENT. TCP transfers
>>> to local IP addresses (but not 127.0.0.1) are incredibly slow.
>>> Transfer from localhost:
>>> # scp "root at 127.0.0.1:/boot/kernel/kernel" .
>>> kernel
>>> 100% 11MB 11.1MB/s 00:00
>>> Appropriately fast.
>>> Transfer from an IP on a local interface:
>>> # scp "root at 216.14.96.4:/boot/kernel/kernel" .
>>> kernel
>>> 0% 16KB 13.0KB/s 14:37 ETA
>>> The routes seem normal:
>>> # route get 127.0.0.1
>>> route to: localhost
>>> destination: localhost
>>> interface: lo0
>>> flags: <UP,HOST,DONE,LOCAL>
>>> recvpipe sendpipe ssthresh rtt,msec mtu weight expire
>>> 0 0 0 0 16384 1 0
>>> # route -n get 216.14.96.4
>>> route to: 216.14.96.4
>>> destination: 216.14.96.0
>>> mask: 255.255.255.128
>>> interface: nfe0
>>> flags: <UP,DONE>
>>> recvpipe sendpipe ssthresh rtt,msec mtu weight expire
>>> 0 0 0 0 1500 1 0
>>> nfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
>>> 1500
>>>
>>> options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
>>> ether 00:30:48:c6:dd:9c
>>> inet 216.14.96.4 netmask 0xffffff80 broadcast 216.14.96.127
>>> Takes 10-60 minutes to copy, stalling frequently during the transfer.
>>> It's not limited to just scp either, all TCP transfers seem to stall
>>> this way.
>>> I don't believe I'm doing anything unusual, has anyone seen anything
>>> like this?
>>
>> Known fallout from the ARPv2 work I believe. As a workaround until it
>> gets fixed:
>>
>> route add -host (if-ip) -iface lo0 (note I haven't tested this myself)
>>
>> (see the Jan 2009 freebsd-net@ thread "Bacula: VERY SLOW on SAME host"
>> for some details).
>>
>
> Anyone know if there is a fix in the offing?
Qing (added to CC) is aware of the problem. Not sure how far off the fix is.
Cheers,
Lawrence
More information about the freebsd-net
mailing list