summaryrefslogtreecommitdiff
path: root/lib/plist.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plist.c')
-rw-r--r--lib/plist.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/plist.c b/lib/plist.c
index 662221beec..e465963f21 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -303,6 +303,8 @@ static void prefix_list_delete(struct prefix_list *plist)
/* If prefix-list contain prefix_list_entry free all of it. */
for (pentry = plist->head; pentry; pentry = next) {
+ route_map_notify_pentry_dependencies(plist->name, pentry,
+ RMAP_EVENT_PLIST_DELETED);
next = pentry->next;
prefix_list_trie_del(plist, pentry);
prefix_list_entry_free(pentry);
@@ -385,7 +387,7 @@ static int64_t prefix_new_seq_get(struct prefix_list *plist)
int64_t newseq;
struct prefix_list_entry *pentry;
- maxseq = newseq = 0;
+ maxseq = 0;
for (pentry = plist->head; pentry; pentry = pentry->next) {
if (maxseq < pentry->seq)
@@ -518,6 +520,8 @@ static void prefix_list_entry_delete(struct prefix_list *plist,
else
plist->tail = pentry->prev;
+ route_map_notify_pentry_dependencies(plist->name, pentry,
+ RMAP_EVENT_PLIST_DELETED);
prefix_list_entry_free(pentry);
plist->count--;
@@ -631,6 +635,9 @@ static void prefix_list_entry_add(struct prefix_list *plist,
/* Increment count. */
plist->count++;
+ route_map_notify_pentry_dependencies(plist->name, pentry,
+ RMAP_EVENT_PLIST_ADDED);
+
/* Run hook function. */
if (plist->master->add_hook)
(*plist->master->add_hook)(plist);