[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