summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2019-02-07 19:22:29 +0100
committerGitHub <noreply@github.com>2019-02-07 19:22:29 +0100
commitb7777b57c48a08b50e77f85663067609808b408d (patch)
treea9017c8fc71a401274d3dc73232156bc4f6bda95
parente7f0060c12c4f37796df100fd205dbbaa7dfcf1a (diff)
parente625a783edd61eaab798d3264fa73ea208836821 (diff)
Merge pull request #3722 from donaldsharp/static_recursive
Zebra fixes
-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 ' ';