summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2020-03-05 13:20:53 -0500
committerGitHub <noreply@github.com>2020-03-05 13:20:53 -0500
commit01abb5acde5891f48491282b32a06b873be1f98a (patch)
tree46f91cf72d2526824e6f9184bdb5fbe37fbdd556
parentfbb0740683a78df5f7f06829b6bb0ddfd3a56625 (diff)
parent34b2ac58c5cdde140f73ec4d66a31297140a57e9 (diff)
Merge pull request #5856 from pguibert6WIND/nhrp_override_fix
zebra: when FIB_OVERRIDE flag is set, update nexthop-tracking clients properly
-rw-r--r--nhrpd/nhrp_route.c4
-rw-r--r--zebra/zebra_rnh.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/nhrpd/nhrp_route.c b/nhrpd/nhrp_route.c
index a23ac34745..ddb69a1aca 100644
--- a/nhrpd/nhrp_route.c
+++ b/nhrpd/nhrp_route.c
@@ -199,6 +199,10 @@ int nhrp_route_read(ZAPI_CALLBACK_ARGS)
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_SRCPFX))
return 0;
+ /* ignore our routes */
+ if (api.type == ZEBRA_ROUTE_NHRP)
+ return 0;
+
sockunion_family(&nexthop_addr) = AF_UNSPEC;
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_NEXTHOP)) {
api_nh = &api.nexthops[0];
diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c
index 74c3ac3712..8d99ce840e 100644
--- a/zebra/zebra_rnh.c
+++ b/zebra/zebra_rnh.c
@@ -669,7 +669,8 @@ zebra_rnh_resolve_nexthop_entry(struct zebra_vrf *zvrf, afi_t afi,
zebra_route_string(re->type));
continue;
}
- if (!CHECK_FLAG(re->flags, ZEBRA_FLAG_SELECTED)) {
+ if (!CHECK_FLAG(re->flags, ZEBRA_FLAG_SELECTED) &&
+ !CHECK_FLAG(re->flags, ZEBRA_FLAG_FIB_OVERRIDE)) {
if (IS_ZEBRA_DEBUG_NHT_DETAILED)
zlog_debug(
"\tRoute Entry %s !selected",