]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_community.h
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / bgpd / bgp_community.h
index e1545249d73dee637e33bcaa7d69d9abb0d09a74..74a3a6b50715be06cf8a3e1c6d1fa9e56f04d28b 100644 (file)
@@ -22,6 +22,7 @@
 #define _QUAGGA_BGP_COMMUNITY_H
 
 #include "lib/json.h"
+#include "bgpd/bgp_route.h"
 
 /* Communities attribute.  */
 struct community {
@@ -74,7 +75,7 @@ extern struct community *community_parse(uint32_t *, unsigned short);
 extern struct community *community_intern(struct community *);
 extern void community_unintern(struct community **);
 extern char *community_str(struct community *, bool make_json);
-extern unsigned int community_hash_make(struct community *);
+extern unsigned int community_hash_make(const struct community *);
 extern struct community *community_str2com(const char *);
 extern int community_match(const struct community *, const struct community *);
 extern bool community_cmp(const struct community *c1,
@@ -89,5 +90,18 @@ 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_compute_aggregate_community_val(
+                                              struct bgp_aggregate *aggregate);
+extern void bgp_compute_aggregate_community_hash(
+                                               struct bgp_aggregate *aggregate,
+                                               struct community *community);
+extern void bgp_remove_community_from_aggregate(struct bgp_aggregate *aggregate,
+                                               struct community *community);
+extern void bgp_remove_comm_from_aggregate_hash(struct bgp_aggregate *aggregate,
+                                               struct community *community);
+extern void bgp_aggr_community_remove(void *arg);
 
 #endif /* _QUAGGA_BGP_COMMUNITY_H */