[EMAIL PROTECTED] wrote: > On Sun, 06 Aug 2006 03:08:09 PDT, Andrew Morton said: > >>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc3/2.6.18-rc3-mm2/ > > > Building a kernel with IPV6_MULTIPLE_TABLES=y breaks my IPv6 connectivity > quite badly. It basically totally refuses to answer an IPv6 Neighbor Solicit > packet or IPv6 Echo Request packet. I run a 'tcpdump -n ipv6', and I see the > requests come in, and no packets leaving. Interestingly enough, if I try to > ping6 *out* of the box, it's totally willing to send a Neighbor Solicit > outbound > (although it appears to totally ignore the Neighbor Advert packet that comes > back). Of course, things don't work very well at all with busticated Neighbor > Solicit. > > A kernel built with IPV6_MULTIPLE_TABLES=n works just fine.
It should be fixed by this patch (already contained in net-2.6.19).
[IPV6]: Fix policy routing lookup When the lookup in a table returns ip6_null_entry the policy routing lookup returns it instead of continuing in the next table, which effectively means it only searches the local table. Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]> Signed-off-by: David S. Miller <[EMAIL PROTECTED]> --- commit 2b885e76c2b2c74d2dfe86a8140f0b41149f327c tree 767711f03ea3e990ce02b3720718b77490027793 parent 5bd721a145d02a89a9b69adf3ede9d0b3647ae8b author Patrick McHardy <[EMAIL PROTECTED]> Sun, 06 Aug 2006 22:24:08 -0700 committer David S. Miller <[EMAIL PROTECTED]> Sun, 06 Aug 2006 22:24:08 -0700 net/ipv6/fib6_rules.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index c3c8195..94a46ec 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -94,8 +94,10 @@ int fib6_rule_action(struct fib_rule *ru if (rt != &ip6_null_entry) goto out; - dst_release(&rt->u.dst); + rt = NULL; + goto out; + discard_pkt: dst_hold(&rt->u.dst); out: