summaryrefslogtreecommitdiffstats
path: root/isisd/isis_srv6.h
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-09-03 08:54:57 +0200
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-09-11 22:11:51 +0200
commitbfec26bc7a59698f82e66d1c7a6ae64909191a83 (patch)
treefad612f17f878dc78f297cfaac56cad557372fa2 /isisd/isis_srv6.h
parentyang: Add SRv6 interface to IS-IS YANG model (diff)
downloadfrr-bfec26bc7a59698f82e66d1c7a6ae64909191a83.tar.xz
frr-bfec26bc7a59698f82e66d1c7a6ae64909191a83.zip
isisd: Make SRv6 interface configurable
Add CLI command and functions to configure the interface used for installing SRv6 SIDs into Linux data plane Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'isisd/isis_srv6.h')
-rw-r--r--isisd/isis_srv6.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/isisd/isis_srv6.h b/isisd/isis_srv6.h
index c0f4a477d..65c0978bc 100644
--- a/isisd/isis_srv6.h
+++ b/isisd/isis_srv6.h
@@ -13,9 +13,6 @@
#include "lib/srv6.h"
#include "isisd/isis_tlvs.h"
-/* Name of the interface used for installing SRv6 SIDs into the data plane */
-#define SRV6_IFNAME "sr0"
-
/* SRv6 SID structure */
struct isis_srv6_sid_structure {
uint8_t loc_block_len;
@@ -135,11 +132,16 @@ struct isis_srv6_db {
/* Maximum End D MSD supported by the router */
uint8_t max_end_d_msd;
+
+ /* Interface used for installing SRv6 SIDs into the data plane */
+ char srv6_ifname[IF_NAMESIZE];
} config;
};
bool isis_srv6_locator_unset(struct isis_area *area);
+void isis_srv6_interface_set(struct isis_area *area, const char *ifname);
+
struct isis_srv6_sid *
isis_srv6_sid_alloc(struct isis_area *area, struct srv6_locator_chunk *chunk,
enum srv6_endpoint_behavior_codepoint behavior,
@@ -168,4 +170,6 @@ struct srv6_adjacency *isis_srv6_endx_sid_find(struct isis_adjacency *adj,
enum srv6_adj_type type);
void isis_area_delete_backup_srv6_endx_sids(struct isis_area *area, int level);
+int isis_srv6_ifp_up_notify(struct interface *ifp);
+
#endif /* _FRR_ISIS_SRV6_H */