[radvd-devel-l] radvd on freetz (Fritzbox mod) - radvd[1865]: setsockopt(IPV6_RECVPKTINFO): Protocol not available

Pekka Savola pekkas at netcore.fi
Tue Jan 13 04:13:05 EST 2009


On Tue, 13 Jan 2009, Paul Oranje wrote:
> <patch>
> -/* Note: these are applicable to receiving sockopts only */
> -#if defined IPV6_HOPLIMIT && !defined IPV6_RECVHOPLIMIT
> +#include <linux/version.h>
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
> +# undef IPV6_RECVHOPLIMIT
> +# undef IPV6_RECVPKTINFO
> +# define IPV6_HOPLIMIT 8
> +# define IPV6_PKTINFO  2
>  # define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT
> -#endif
> -
> -#if defined IPV6_PKTINFO && !defined IPV6_RECVPKTINFO
>  # define IPV6_RECVPKTINFO IPV6_PKTINFO
>  #endif
> </patch>

This IPV6_RECVPKTINFO is not the same thing as IPV6_PKTINFO and 
likewise for IPV6_RECVHOPLIMIT.  So it's not a surprise this does not 
work.

The following decimal values are correct (from Centos 5 system):

/usr/include/linux/in6.h:#define IPV6_RECVPKTINFO       49
/usr/include/linux/in6.h:#define IPV6_RECVHOPLIMIT      51

The working strace shows these as follows:

setsockopt(3, SOL_IPV6, 0x31 /* IPV6_??? */, [1], 4) = 0
setsockopt(3, SOL_IPV6, 0x33 /* IPV6_??? */, [1], 4) = 0

So the problem is clearly that either the kernel or uclibc doesn't 
support IPV6_RECVPKTINFO and/or IPV6_RECVHOPLIMIT or there is some 
problem with them.  There isn't much I as a radvd maintainer can do 
about that.  I think the issue investigation needs to be continued in 
the trac you referenced.

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings



More information about the radvd-devel-l mailing list