Merge pull request #5856 from pguibert6WIND/nhrp_override_fix

zebra: when FIB_OVERRIDE flag is set, update nexthop-tracking clients properly
This commit is contained in:
Mark Stapp 2020-03-05 13:20:53 -05:00 committed by GitHub
commit 01abb5acde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -199,6 +199,10 @@ int nhrp_route_read(ZAPI_CALLBACK_ARGS)
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_SRCPFX)) if (CHECK_FLAG(api.message, ZAPI_MESSAGE_SRCPFX))
return 0; return 0;
/* ignore our routes */
if (api.type == ZEBRA_ROUTE_NHRP)
return 0;
sockunion_family(&nexthop_addr) = AF_UNSPEC; sockunion_family(&nexthop_addr) = AF_UNSPEC;
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_NEXTHOP)) { if (CHECK_FLAG(api.message, ZAPI_MESSAGE_NEXTHOP)) {
api_nh = &api.nexthops[0]; api_nh = &api.nexthops[0];

View File

@ -669,7 +669,8 @@ zebra_rnh_resolve_nexthop_entry(struct zebra_vrf *zvrf, afi_t afi,
zebra_route_string(re->type)); zebra_route_string(re->type));
continue; 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) if (IS_ZEBRA_DEBUG_NHT_DETAILED)
zlog_debug( zlog_debug(
"\tRoute Entry %s !selected", "\tRoute Entry %s !selected",