diff options
Diffstat (limited to 'bgpd/bgp_clist.c')
-rw-r--r-- | bgpd/bgp_clist.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/bgpd/bgp_clist.c b/bgpd/bgp_clist.c index bb06028b..4abdf0c7 100644 --- a/bgpd/bgp_clist.c +++ b/bgpd/bgp_clist.c @@ -24,6 +24,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA #include "prefix.h" #include "memory.h" #include "filter.h" +#include "linklist.h" #include "bgpd/bgpd.h" #include "bgpd/bgp_community.h" @@ -707,7 +708,10 @@ community_list_set (struct community_list_handler *ch, if (community_list_dup_check (list, entry)) community_entry_free (entry); else - community_list_entry_add (list, entry); + { + community_list_entry_add (list, entry); + route_map_notify_dependencies(name, RMAP_EVENT_CLIST_ADDED); + } return 0; } @@ -733,6 +737,7 @@ community_list_unset (struct community_list_handler *ch, if (!str) { community_list_delete (list); + route_map_notify_dependencies(name, RMAP_EVENT_CLIST_DELETED); return 0; } @@ -758,6 +763,7 @@ community_list_unset (struct community_list_handler *ch, return COMMUNITY_LIST_ERR_CANT_FIND_LIST; community_list_entry_delete (list, entry, style); + route_map_notify_dependencies(name, RMAP_EVENT_CLIST_DELETED); return 0; } @@ -826,7 +832,10 @@ extcommunity_list_set (struct community_list_handler *ch, if (community_list_dup_check (list, entry)) community_entry_free (entry); else - community_list_entry_add (list, entry); + { + community_list_entry_add (list, entry); + route_map_notify_dependencies(name, RMAP_EVENT_ECLIST_ADDED); + } return 0; } @@ -852,6 +861,7 @@ extcommunity_list_unset (struct community_list_handler *ch, if (!str) { community_list_delete (list); + route_map_notify_dependencies(name, RMAP_EVENT_ECLIST_DELETED); return 0; } @@ -877,6 +887,7 @@ extcommunity_list_unset (struct community_list_handler *ch, return COMMUNITY_LIST_ERR_CANT_FIND_LIST; community_list_entry_delete (list, entry, style); + route_map_notify_dependencies(name, RMAP_EVENT_ECLIST_DELETED); return 0; } |