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. -- Eduardo