summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_ecommunity.h
diff options
context:
space:
mode:
authorNaveen Thanikachalam <nthanikachal@vmware.com>2019-02-06 15:31:37 +0100
committerNaveen Thanikachalam <nthanikachal@vmware.com>2019-03-01 05:22:41 +0100
commit5b820d9e8c2c05711061bd499d09756150e65f9e (patch)
tree29cfc82fff0b365e0e616ebda214e3ce8c955ffe /bgpd/bgp_ecommunity.h
parentbgpd: Code to handle BGP aggregate's communities. (diff)
downloadfrr-5b820d9e8c2c05711061bd499d09756150e65f9e.tar.xz
frr-5b820d9e8c2c05711061bd499d09756150e65f9e.zip
bgpd: Code to handle BGP aggregate's e-communities.
With this commit: 1) The code to manage the extended-communities attribute of the routes that are aggregatable under a configured aggregate-address is introduced. 2) The code to compute the aggregate-route's extended-communities attribute is introduced. Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
Diffstat (limited to 'bgpd/bgp_ecommunity.h')
-rw-r--r--bgpd/bgp_ecommunity.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/bgpd/bgp_ecommunity.h b/bgpd/bgp_ecommunity.h
index 519991da5..62b213775 100644
--- a/bgpd/bgp_ecommunity.h
+++ b/bgpd/bgp_ecommunity.h
@@ -21,6 +21,8 @@
#ifndef _QUAGGA_BGP_ECOMMUNITY_H
#define _QUAGGA_BGP_ECOMMUNITY_H
+#include "bgpd/bgp_route.h"
+
/* High-order octet of the Extended Communities type field. */
#define ECOMMUNITY_ENCODE_AS 0x00
#define ECOMMUNITY_ENCODE_IP 0x01
@@ -184,4 +186,12 @@ struct bgp_pbr_entry_action;
extern int ecommunity_fill_pbr_action(struct ecommunity_val *ecom_eval,
struct bgp_pbr_entry_action *api);
+extern void bgp_compute_aggregate_ecommunity(
+ struct bgp_aggregate *aggregate,
+ struct ecommunity *ecommunity);
+extern void bgp_remove_ecommunity_from_aggregate(
+ struct bgp_aggregate *aggregate,
+ struct ecommunity *ecommunity);
+extern void bgp_aggr_ecommunity_remove(void *arg);
+
#endif /* _QUAGGA_BGP_ECOMMUNITY_H */