Description of problem: I can't use ping6 to ping IPv6 ressources: # ping6 ::1 can't receive hop limit: Protocol not available # Another example: # ping6 irc6.ipv6.uni-erlangen.de can't receive hop limit: Protocol not available # IPv6 itself works very well on the system, look here for example: # mtr -6 -c 5 -r ::1 HOST: localhost Loss% Snt Last Avg Best Wrst StDev 1. ::1 0.0% 5 0.1 0.1 0.1 0.2 0.0 # Version-Release number of selected component (if applicable): iputils-20020927-31 How reproducible: Everytime, try yourself. Actual results: ping6 isn't working as expected. Expected results: Working ping6 like in the past ;-) Additional info: Maybe this problem is related to bug #173762, which we already had at traceroute.
May I also have a kernel version and glibc version? It might be the same problem as you pointed me to, but it seems to work on my rawhide machine.
I've got kernel-2.6.14-1.1697_FC5 and glibc-2.3.90-18, but with glibc-2.3.90-17 I had the same.
Hmm, you're right. Looks like IPV6_HOPLIMIT no longer works as setsockopt() option. Again I wonder what happened to this option. Addig glibc maintainer for some hints. Snip of a code which doesn't work as expected int on = 1; if (setsockopt(fd, SOL_IPV6, IPV6_HOPLIMIT, &on, sizeof(on))) { perror("IPV6_HOPLIMIT"); exit(1); }
Here's src rpm with IVP6_HOPLIMIT option removed. It should work but I'm not convinced this solution is good. http://people.redhat.com/rvokal/iputils/iputils-20020927-31.1.src.rpm
This has nothing to do with glibc. glibc has just a tiny setsockopt around kernel syscall, all the work is done in the kernel. So, if IPV6_HOPLIMIT used to be accepted before and now is not any longer, it is kernel's decision.
Is it possible, that some IPv6 specific parts of glibc-kernheaders are broken? IIRC, there is (was?) e.g. a bug which prevents ip6tables from a working reject option...maybe this is related - just guessing.
Adding glibc-kernheaders maintainer. But better would be really just read what the kernel does and whether something hasn't changed recently.
More likely to be 32/64 compat in the kernel which broke. Although it works for me with kernel-2.6.14-1.1718_FC5, iputils-20020927-30 and glibc-2.3.90-18. I'll upgrade that machine when I get home this week and try again.
ok, seems like old advanced API was using IPV6_HOPLIMIT but with the latest kernel update this was changed to IPV6_RECVHOPLIMIT. Fix is now in rawhide, iputils-xx-32 I'm afraid this will appear on RHEL with the latest kernel update.
Created attachment 122176 [details] ipv6-hoplimit patch