Re: connect() with AF_INET6 freezes on some Debian/unstable machine
Hi.
On Tue, Apr 07, 2015 at 03:19:14PM +0200, Vincent Lefevre wrote:
> On 2015-04-07 15:57:48 +0300, Reco wrote:
> I now get a 3-second timeout (sometimes smaller), with a different
> error:
>
> ypig:~> time telnet -6 www.vinc17.net 80
> Trying 2001:4b98:dc0:45:216:3eff:fe9b:eb2f...
> telnet: Unable to connect to remote host: No route to host
> zsh: exit 1 telnet -6 www.vinc17.net 80
> telnet -6 www.vinc17.net 80 0.00s user 0.00s system 0% cpu 3.001 total
>
> > What's the result of:
> >
> > ip -6 ro get 2001:4b98:dc0:45:216:3eff:fe9b:eb2f
>
> On the machines where I get the "Network is unreachable" error:
>
> unreachable 2001:4b98:dc0:45:216:3eff:fe9b:eb2f from :: dev lo table unspec proto kernel src fe80::d6ae:52ff:fee5:7247 metric 4294967295 error -101
>
> unreachable 2001:4b98:dc0:45:216:3eff:fe9b:eb2f from :: dev lo table unspec proto kernel src fe80::224:e8ff:fe97:5f73 metric 4294967295 error -101
The way it should be.
>
> On ypig (where I now get a 3-second timeout):
>
> 2001:4b98:dc0:45:216:3eff:fe9b:eb2f from :: via fe80::21d:9ff:feb3:1563 dev eth0 src 2001:1::21f:29ff:fe04:3efb metric 0
> cache
So, the kernel tries to route your request via the link-local address. That's weird, I'd expect such behavior if your host accepted Routing Advertisement, but you say that all you have is 'scope global' (RA-assigned addresses are 'scope tentative').
Can I see the output of the following, please:
ip -6 a l dev eth0
ip -6 ro l
A quick fix to the problem should be
ip -6 ro a unreachable 2001::/96
but that's a really nasty hack. I'd like to investigate the problem further.
Reco
Reply to: