Bug 175471 - ping6 tells "can't receive hop limit: Protocol not available"
Summary: ping6 tells "can't receive hop limit: Protocol not available"
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: iputils
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Radek Vokál
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks: 175637
TreeView+ depends on / blocked
 
Reported: 2005-12-11 11:34 UTC by Robert Scheck
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-12-13 12:40:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
ipv6-hoplimit patch (1.11 KB, patch)
2005-12-13 12:46 UTC, Radek Vokál
no flags Details | Diff

Description Robert Scheck 2005-12-11 11:34:29 UTC
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.

Comment 1 Radek Vokál 2005-12-11 19:56:06 UTC
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. 

Comment 2 Robert Scheck 2005-12-11 22:56:36 UTC
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.

Comment 3 Radek Vokál 2005-12-12 08:38:00 UTC
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);
 	}

Comment 4 Radek Vokál 2005-12-12 11:24:59 UTC
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



Comment 5 Jakub Jelinek 2005-12-12 11:27:28 UTC
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.

Comment 6 Robert Scheck 2005-12-12 11:38:29 UTC
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.

Comment 7 Jakub Jelinek 2005-12-12 12:03:51 UTC
Adding glibc-kernheaders maintainer.  But better would be really just
read what the kernel does and whether something hasn't changed recently.

Comment 8 David Woodhouse 2005-12-12 12:51:48 UTC
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.

Comment 9 Radek Vokál 2005-12-13 12:40:43 UTC
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. 



Comment 10 Radek Vokál 2005-12-13 12:46:56 UTC
Created attachment 122176 [details]
ipv6-hoplimit patch


Note You need to log in before you can comment on or make changes to this bug.