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 <sri@us.ibm.com>
This commit is contained in:
Sridhar Samudrala 2007-08-22 10:55:47 -07:00 committed by Stephen Hemminger
parent 6140785236
commit 9ab4c85b9a

View File

@ -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;
}