diff options
author | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-09-03 08:54:57 +0200 |
---|---|---|
committer | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-09-11 22:11:51 +0200 |
commit | bfec26bc7a59698f82e66d1c7a6ae64909191a83 (patch) | |
tree | fad612f17f878dc78f297cfaac56cad557372fa2 /isisd/isis_srv6.h | |
parent | yang: Add SRv6 interface to IS-IS YANG model (diff) | |
download | frr-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.h | 10 |
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 */ |