summaryrefslogtreecommitdiff
path: root/bgpd/bgp_community.h
diff options
context:
space:
mode:
authorNaveen Thanikachalam <nthanikachal@vmware.com>2019-02-06 06:28:18 -0800
committerNaveen Thanikachalam <nthanikachal@vmware.com>2019-02-28 20:22:41 -0800
commitc0d7a6ccb9c51fc81a807da19f9ac8b1e04a9a2e (patch)
treeb5dbde2b2e8a4ee5900582cf5a77b89e9b65e632 /bgpd/bgp_community.h
parente00d800877ef7fc20b1887c2883e855dedcbb442 (diff)
bgpd: Code to handle BGP aggregate's communities.
With this commit: 1) The code to manage the communities attribute of the routes that are aggregatable under a configured aggregate-address is introduced. 2) The code to compute the aggregate-route's communities attribute is introduced. Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Diffstat (limited to 'bgpd/bgp_community.h')
-rw-r--r--bgpd/bgp_community.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/bgpd/bgp_community.h b/bgpd/bgp_community.h
index e1545249d7..4ff4d214a5 100644
--- a/bgpd/bgp_community.h
+++ b/bgpd/bgp_community.h
@@ -22,6 +22,7 @@
#define _QUAGGA_BGP_COMMUNITY_H
#include "lib/json.h"
+#include "bgpd/bgp_route.h"
/* Communities attribute. */
struct community {
@@ -89,5 +90,10 @@ extern void community_del_val(struct community *, uint32_t *);
extern unsigned long community_count(void);
extern struct hash *community_hash(void);
extern uint32_t community_val_get(struct community *com, int i);
+extern void bgp_compute_aggregate_community(struct bgp_aggregate *aggregate,
+ struct community *community);
+extern void bgp_remove_community_from_aggregate(struct bgp_aggregate *aggregate,
+ struct community *community);
+extern void bgp_aggr_community_remove(void *arg);
#endif /* _QUAGGA_BGP_COMMUNITY_H */