geth has IPv6 support and listens on IPv6 as well. But I find, on my geth node, no IPv6 traffic. I tested both with
lsof -n -i | grep geth (shows no IPv6 address) and
tcpdump -n ip6. IPv6 works fine for other programs. Here, inside-generated (from the Ethereum node):
% ping6 -n -c 3 www.nic.fr PING www.nic.fr(2001:67c:2218:30::5) 56 data bytes 64 bytes from 2001:67c:2218:30::5: icmp_seq=1 ttl=58 time=7.60 ms 64 bytes from 2001:67c:2218:30::5: icmp_seq=2 ttl=58 time=7.31 ms 64 bytes from 2001:67c:2218:30::5: icmp_seq=3 ttl=58 time=7.28 ms --- www.nic.fr ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 7.281/7.401/7.605/0.145 ms
And also outside-generated (I can ssh into the node with
ssh -6 from the outside).
I cannot believe I'm the only one running an Ethereum node with IPv6 (but can I find somewhere authoritative info about that? In peer-to-peer networks, you cannot easily analyze all the nodes).
Is there a limit in the peer discovery protocol? Or some bug/bias that prevent IPv6 addresses to be selected?