While going through the routing table implementation for linux-ipv6, I
found this piece of code.
struct fib6_node * fib6_lookup(struct fib6_node *root, struct in6_addr
*daddr, struct in6_addr *saddr)
{
struct lookup_args args[2];
struct rt6_info *rt = NULL;
struct fib6_node *fn;
args[0].offset = (u8*) &rt->rt6i_dst - (u8*) rt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
args[0].addr = daddr;
#ifdef CONFIG_IPV6_SUBTREES
args[1].offset = (u8*) &rt->rt6i_src - (u8*) rt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
args[1].addr = saddr;
#endif
.
.
.
.
}
I found out that this code is called from inet6_route_input() which will
always be called on the receiving end for IPv6 packets (ip6_rcv_finish()).
The underlined lines will be creating a kernel panic ALWAYS.
I am using 2.4.16 kernel. I have checked version 2.4.18 also and no
change in this part. Aren't these versions supposed to include a working
IPv6 implementation? Am I missing something?
regards
Madhavi.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/