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_flagsRTM_F_CLONED)
+ if (!filter.cloned r-rtm_flagsRTM_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_flagsRTM_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