summaryrefslogtreecommitdiff
path: root/isisd/isis_srv6.h
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_srv6.h')
-rw-r--r--isisd/isis_srv6.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/isisd/isis_srv6.h b/isisd/isis_srv6.h
index 7f16712ae3..bde14965f6 100644
--- a/isisd/isis_srv6.h
+++ b/isisd/isis_srv6.h
@@ -44,7 +44,7 @@ struct isis_srv6_sid {
struct isis_srv6_sid_structure structure;
/* Parent SRv6 locator */
- struct srv6_locator_chunk *locator;
+ struct srv6_locator *locator;
/* Backpointer to IS-IS area */
struct isis_area *area;
@@ -89,7 +89,7 @@ struct srv6_adjacency {
struct isis_srv6_sid_structure structure;
/* Parent SRv6 locator */
- struct srv6_locator_chunk *locator;
+ struct srv6_locator *locator;
/* Adjacency-SID nexthop information */
struct in6_addr nexthop;
@@ -109,6 +109,8 @@ struct srv6_adjacency {
/* Per-area IS-IS SRv6 Data Base (SRv6 DB) */
struct isis_srv6_db {
+ /* List of SRv6 Locator */
+ struct srv6_locator *srv6_locator;
/* List of SRv6 Locator chunks */
struct list *srv6_locator_chunks;
@@ -149,9 +151,9 @@ 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,
+isis_srv6_sid_alloc(struct isis_area *area, struct srv6_locator *locator,
enum srv6_endpoint_behavior_codepoint behavior,
- int sid_func);
+ struct in6_addr *sid_value);
extern void isis_srv6_sid_free(struct isis_srv6_sid *sid);
extern void isis_srv6_area_init(struct isis_area *area);
@@ -169,8 +171,8 @@ void isis_srv6_locator2tlv(const struct isis_srv6_locator *loc,
struct isis_srv6_locator_tlv *loc_tlv);
void srv6_endx_sid_add_single(struct isis_adjacency *adj, bool backup,
- struct list *nexthops);
-void srv6_endx_sid_add(struct isis_adjacency *adj);
+ struct list *nexthops, struct in6_addr *sid_value);
+void srv6_endx_sid_add(struct isis_adjacency *adj, struct in6_addr *sid_value);
void srv6_endx_sid_del(struct srv6_adjacency *sra);
struct srv6_adjacency *isis_srv6_endx_sid_find(struct isis_adjacency *adj,
enum srv6_adj_type type);