summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/zebra_rib.c3
-rw-r--r--zebra/zebra_vty.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index b78fe76761..dcc5a7acb0 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -608,6 +608,9 @@ static int nexthop_active(afi_t afi, struct route_entry *re,
if (!CHECK_FLAG(match->status,
ROUTE_ENTRY_INSTALLED))
continue;
+ if (CHECK_FLAG(newhop->flags,
+ NEXTHOP_FLAG_RECURSIVE))
+ continue;
if (set) {
SET_FLAG(nexthop->flags,
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 1833257863..537820f7ea 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -164,7 +164,8 @@ DEFUN (show_ip_rpf_addr,
static char re_status_output_char(struct route_entry *re, struct nexthop *nhop)
{
if (CHECK_FLAG(re->status, ROUTE_ENTRY_INSTALLED)) {
- if (!CHECK_FLAG(nhop->flags, NEXTHOP_FLAG_DUPLICATE))
+ if (!CHECK_FLAG(nhop->flags, NEXTHOP_FLAG_DUPLICATE) &&
+ !CHECK_FLAG(nhop->flags, NEXTHOP_FLAG_RECURSIVE))
return '*';
else
return ' ';