diff options
| author | Mark Stapp <mjs@voltanet.io> | 2019-12-02 12:03:57 -0500 |
|---|---|---|
| committer | Mark Stapp <mjs@voltanet.io> | 2019-12-09 16:19:14 -0500 |
| commit | 1c30d64bb63aedd0104aa3525815d3ff16c45522 (patch) | |
| tree | 8a7f6f0036676c5c183d0633164bbadaf57c91c4 /zebra/zebra_rib.c | |
| parent | 0dcbec72aa2b508c194ec4391b6d821ea996fb08 (diff) | |
zebra: align dplane notify processing with nhg work
The processing of dataplane route notifications was a little
off-target after the nexthop-group re-work. This should allow
notifications to work better.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index d525da26ee..dbd6daae9f 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1808,9 +1808,12 @@ static void rib_process_dplane_notify(struct zebra_dplane_ctx *ctx) * and then again if there's been a change. */ start_count = 0; - for (ALL_NEXTHOPS_PTR(rib_active_nhg(re), nexthop)) { - if (CHECK_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB)) - start_count++; + + if (CHECK_FLAG(re->status, ROUTE_ENTRY_INSTALLED)) { + for (ALL_NEXTHOPS_PTR(rib_active_nhg(re), nexthop)) { + if (CHECK_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB)) + start_count++; + } } /* Update zebra's nexthop FIB flags based on the context struct's @@ -1820,10 +1823,8 @@ static void rib_process_dplane_notify(struct zebra_dplane_ctx *ctx) if (!fib_changed) { if (debug_p) - zlog_debug("%u:%s No change from dplane notification", + zlog_debug("%u:%s dplane notification: rib_update returns FALSE", dplane_ctx_get_vrf(ctx), dest_str); - - goto done; } /* |
