diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2021-10-28 07:59:54 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-28 07:59:54 -0400 |
| commit | 68275b093b472cf60c679566b87ab27809841f9e (patch) | |
| tree | 6ce0103b965b102e334591cc212f463184c54cd6 /zebra/zebra_rib.c | |
| parent | 808d0960f34c8e3dfec139b879591434e2a1d31d (diff) | |
| parent | f68ce9762785c0d33a4a983e6aa7e64c1107f198 (diff) | |
Merge pull request #9870 from opensourcerouting/zebra-rib-select-order
zebra: set SELECTED before going into dplane code
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 8861ac7bec..42fa927d9e 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1257,14 +1257,6 @@ static void rib_process(struct route_node *rn) bool selected_changed = new_selected && CHECK_FLAG(new_selected->status, ROUTE_ENTRY_CHANGED); - /* Update fib according to selection results */ - if (new_fib && old_fib) - rib_process_update_fib(zvrf, rn, old_fib, new_fib); - else if (new_fib) - rib_process_add_fib(zvrf, rn, new_fib); - else if (old_fib) - rib_process_del_fib(zvrf, rn, old_fib); - /* Update SELECTED entry */ if (old_selected != new_selected || selected_changed) { @@ -1292,6 +1284,14 @@ static void rib_process(struct route_node *rn) } } + /* Update fib according to selection results */ + if (new_fib && old_fib) + rib_process_update_fib(zvrf, rn, old_fib, new_fib); + else if (new_fib) + rib_process_add_fib(zvrf, rn, new_fib); + else if (old_fib) + rib_process_del_fib(zvrf, rn, old_fib); + /* Remove all RE entries queued for removal */ RNODE_FOREACH_RE_SAFE (rn, re, next) { if (CHECK_FLAG(re->status, ROUTE_ENTRY_REMOVED)) { |
