Slow local TCP transfers on -CURRENT
Lawrence Stewart
lstewart at freebsd.org
Sat May 2 12:50:03 UTC 2009
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).
Cheers,
Lawrence
More information about the freebsd-net
mailing list