On Fri, Jan 6, 2012 at 3:09 PM, Michael Mol <mike...@gmail.com> wrote: > 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.
and to see the scope you can view the output of ifconfig, see something in there like this next to each address: scopeid 0x0<global> scopeid 0x20<link>