summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_clist.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_clist.c')
-rw-r--r--bgpd/bgp_clist.c15
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;
}