diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2022-09-26 08:43:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-26 08:43:40 -0400 |
| commit | 1e7602aa9bec59e79377f806d8923663c4729ae8 (patch) | |
| tree | 0a8c4ffc0cea95fe655ddceced4c2c128e41a3a4 /zebra/zebra_rib.c | |
| parent | 760863701e8c76f00982766e93222b8799ab9003 (diff) | |
| parent | 0d0f516c76eef90d2f9e0e5c4d1472b78b24991c (diff) | |
Merge pull request #12003 from anlancs/fix/fpm-crash
zebra: fix fpm crash
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index bd7e8bbbd0..fceaaaa9f0 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -76,6 +76,8 @@ static struct dplane_ctx_q rib_dplane_q; DEFINE_HOOK(rib_update, (struct route_node * rn, const char *reason), (rn, reason)); +DEFINE_HOOK(rib_shutdown, (struct route_node * rn), (rn)); + /* Meta Q's specific names */ enum meta_queue_indexes { @@ -944,6 +946,9 @@ void zebra_rtable_node_cleanup(struct route_table *table, if (node->info) { rib_dest_t *dest = node->info; + /* Remove from update queue of FPM module */ + hook_call(rib_shutdown, node); + rnh_list_fini(&dest->nht); XFREE(MTYPE_RIB_DEST, node->info); } |
