Grant Edwards wrote: > I've enabled ipv6 support in my kernel and it appears to be working on > the "lo" interface: > > # ip -6 addr show lo > > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 > inet6 ::1/128 scope host > valid_lft forever preferred_lft forever > > # ping6 -c3 ::1 > > PING ::1(::1) 56 data bytes > 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.022 ms > 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.021 ms > 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.021 ms > > --- ::1 ping statistics --- > 3 packets transmitted, 3 received, 0% packet loss, time 1998ms > rtt min/avg/max/mdev = 0.021/0.021/0.022/0.003 ms > > And the other interfaces all have link-local addresses: > > # ip -6 addr show eth1 > 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 > inet6 fe80::216:17ff:fe84:a7b3/64 scope link > valid_lft forever preferred_lft forever > > But I can't ping6 any of the "real" interfaces (or any external > address): > > # ping6 -c3 fe80::216:17ff:fe84:a7b3 > > connect: Invalid argument > > Why can I ping "lo" at ::1 and not "eth1" at fe80::216:17ff:fe84:a7b3? > > I'm guessing there might other packages I have to re-emerge with the > ipv6 use flag. But, I do not want to rebuild everything capable of > supporting ipv6, since there are only a few selected programs that > I'll be using with ipv6. I thought I might have to rebuild glibc, but > it doens't list ipv6 as one of it's use flags. > > Any hints? >
ping6 -c3 fe80::216:17ff:fe84:a7b3%eth0 Link-local addresses are only valid at the link-level scope, and you have to specify which link you're referring to. Global-scope addresses don't have the same limitation. Also, for fun, try this: ping6 -c3 ff02::1%eth0