From: Sridhar Samudrala Date: Wed, 22 Aug 2007 17:55:47 +0000 (-0700) Subject: Fix bug in display of ipv6 cloned/cached routes X-Git-Tag: v2.6.23-071016~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ab4c85b9af1373351991b55b1aa377b7f67aa32;p=thirdparty%2Fiproute2.git Fix bug in display of ipv6 cloned/cached routes 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. Signed-off-by: Sridhar Samudrala --- diff --git a/ip/iproute.c b/ip/iproute.c index 6fe4a700e..9694bc7b9 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; }