summaryrefslogtreecommitdiffstats
path: root/lib/plist.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plist.c')
-rw-r--r--lib/plist.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/plist.c b/lib/plist.c
index 699c9b13..16533881 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -29,6 +29,7 @@
#include "buffer.h"
#include "stream.h"
#include "log.h"
+#include "routemap.h"
#include "plist_int.h"
@@ -330,13 +331,16 @@ prefix_list_delete (struct prefix_list *plist)
cleared. */
master->recent = NULL;
+ route_map_notify_dependencies(plist->name, RMAP_EVENT_PLIST_DELETED);
+
+ if (master->delete_hook)
+ (*master->delete_hook) (NULL);
+
if (plist->name)
XFREE (MTYPE_PREFIX_LIST_STR, plist->name);
-
+
prefix_list_free (plist);
-
- if (master->delete_hook)
- (*master->delete_hook) (NULL);
+
}
static struct prefix_list_entry *
@@ -457,6 +461,7 @@ prefix_list_entry_delete (struct prefix_list *plist,
if (update_list)
{
+ route_map_notify_dependencies(plist->name, RMAP_EVENT_PLIST_DELETED);
if (plist->master->delete_hook)
(*plist->master->delete_hook) (plist);
@@ -519,6 +524,7 @@ prefix_list_entry_add (struct prefix_list *plist,
if (plist->master->add_hook)
(*plist->master->add_hook) (plist);
+ route_map_notify_dependencies(plist->name, RMAP_EVENT_PLIST_ADDED);
plist->master->recent = plist;
}