diff options
Diffstat (limited to 'lib/plist.c')
-rw-r--r-- | lib/plist.c | 14 |
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; } |