Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 May 2009 22:16:04 +1000
From:      Lawrence Stewart <lstewart@freebsd.org>
To:        Kevin Day <toasty@dragondata.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Slow local TCP transfers on -CURRENT
Message-ID:  <49FC3984.8050609@freebsd.org>
In-Reply-To: <00C19FCC-837A-44B8-A0C9-C56E3D02F8EF@dragondata.com>
References:  <00C19FCC-837A-44B8-A0C9-C56E3D02F8EF@dragondata.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49FC3984.8050609>