diff options
| author | Mark Stapp <mjs@voltanet.io> | 2020-03-05 13:20:53 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-05 13:20:53 -0500 |
| commit | 01abb5acde5891f48491282b32a06b873be1f98a (patch) | |
| tree | 46f91cf72d2526824e6f9184bdb5fbe37fbdd556 | |
| parent | fbb0740683a78df5f7f06829b6bb0ddfd3a56625 (diff) | |
| parent | 34b2ac58c5cdde140f73ec4d66a31297140a57e9 (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.c | 4 | ||||
| -rw-r--r-- | zebra/zebra_rnh.c | 3 |
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", |
