On Wed, 2007-07-11 at 20:46 +0200, Patrick McHardy wrote: > Sridhar Samudrala wrote: > > This patch fixes a bug in the 'ip' command to display > > IPv6 cloned routes. > > ip -6 route ls cache > > returns empty even when there are cloned routes because of > > of a missing else in print_route() routine. > > > Looks good. The ip6_multiple_tables case seems to be missing > filtering for cloned entries entirely, would you mind adding > that as well? >
I found an issue with my original patch. If cache/cloned is specified, it dumps the cloned routes irrespective of the table specified. I think this is a better fix and also should address the case you were mentioning above. Thanks Sridhar Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> diff --git a/ip/iproute.c b/ip/iproute.c index 6fe4a70..9694bc7 100644 --- a/ip/iproute.c +++ b/ip/iproute.c @@ -178,7 +178,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) return 0; } if (filter.tb) { - if (r->rtm_flags&RTM_F_CLONED) + if (!filter.cloned && r->rtm_flags&RTM_F_CLONED) return 0; if (filter.tb == RT_TABLE_LOCAL) { if (r->rtm_type != RTN_LOCAL) @@ -191,6 +191,10 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) } } } else { + if (filter.cloned) { + if (!(r->rtm_flags&RTM_F_CLONED)) + return 0; + } if (filter.tb > 0 && filter.tb != table) return 0; } - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html