On Fri, Oct 18, 2019 at 06:00:19PM +0200, Samuel Thibault wrote: > Philippe Mathieu-Daudé, le ven. 18 oct. 2019 16:58:00 +0200, a ecrit: > > On 10/18/19 4:29 PM, Eduardo Habkost wrote: > > > On Fri, Oct 18, 2019 at 12:44:39PM +0200, Gerd Hoffmann wrote: > > > > Hi, > > > > > > > > > > Running with V=1, I see packages being downloaded at reasonable > > > > > > speeds, but > > > > > > there's a huge interval (of various minutes) between each package > > > > > > download. > > > > > > > > > > I've found the cause for the slowness I'm seeing: for each file > > > > > being downloaded, the guest spents at least 75 seconds trying to > > > > > connect to the IPv6 address of ftp.NetBSD.org, before trying > > > > > IPv4. > > > > > > > > Ah, that nicely explains why it worked just fine for me. First, I have > > > > a local proxy configured so the installer isn't going to connect to > > > > ftp.NetBSD.org directly. Second I have IPv6 connectivity. > > > > > > > > > I don't know if this is a NetBSD bug, or a slirp bug. > > > > > > > > Both I'd say ... > > > > > > > > First, by default slirp should not send IPv6 router announcements > > > > to the user network if the host has no IPv6 connectivity. > > > > > > > > Second, the recommended way to connect is to try ipv4 and ipv6 in > > > > parallel, then use whatever connects first. Web browsers typically > > > > do it that way. wget and curl don't do that though, they try one > > > > address after the other, and I guess this is where the delay comes > > > > from ... > > > > > > In addition to that, the connect() error should be generating a > > > ICMP6_UNREACH message, and I'd expect the NetBSD guest to notice > > > it instead of waiting for timeout. > > > > Is this missing in SLiRP? > > It was implemented at the time of introduction of IPv6 in SLIRP. Perhaps > NetBSD has a slightly different behavior which makes the implementation > fail to notice the error.
If anybody is interested in investigating it, a network traffic dump generated by `-object filter-dump` is attached. -- Eduardo
dump.pcap.gz
Description: application/gzip