summaryrefslogtreecommitdiff
path: root/bgpd/bgp_addpath.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_addpath.h')
-rw-r--r--bgpd/bgp_addpath.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/bgpd/bgp_addpath.h b/bgpd/bgp_addpath.h
index 909a9710c4..c267ebe43e 100644
--- a/bgpd/bgp_addpath.h
+++ b/bgpd/bgp_addpath.h
@@ -15,6 +15,18 @@
#include "bgpd/bgp_table.h"
#include "lib/json.h"
+struct bgp_addpath_capability {
+ uint16_t afi;
+ uint8_t safi;
+ uint8_t flags;
+};
+
+struct bgp_paths_limit_capability {
+ uint16_t afi;
+ uint8_t safi;
+ uint16_t paths_limit;
+} __attribute__((packed));
+
#define BGP_ADDPATH_TX_ID_FOR_DEFAULT_ORIGINATE 1
void bgp_addpath_init_bgp_data(struct bgp_addpath_bgp_data *d);
@@ -50,10 +62,13 @@ bool bgp_addpath_tx_path(enum bgp_addpath_strat strat,
* Change the type of addpath used for a peer.
*/
void bgp_addpath_set_peer_type(struct peer *peer, afi_t afi, safi_t safi,
- enum bgp_addpath_strat addpath_type);
+ enum bgp_addpath_strat addpath_type,
+ uint8_t paths);
void bgp_addpath_update_ids(struct bgp *bgp, struct bgp_dest *dest, afi_t afi,
safi_t safi);
void bgp_addpath_type_changed(struct bgp *bgp);
+extern int bgp_addpath_capability_action(enum bgp_addpath_strat addpath_type,
+ uint8_t paths);
#endif