summaryrefslogtreecommitdiffstats
path: root/lib/link_state.h
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2023-11-19 09:38:26 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2024-04-23 14:27:01 +0200
commit196f0d69fa26065943088eeb25e12103817cd96f (patch)
tree3e704da946c0140fd535abf2260d01ced756b7ba /lib/link_state.h
parentMerge pull request #15815 from donaldsharp/blackhole_reinstall (diff)
downloadfrr-196f0d69fa26065943088eeb25e12103817cd96f.tar.xz
frr-196f0d69fa26065943088eeb25e12103817cd96f.zip
isisd, lib: add link state support for srv6 adjacencies
Add support for endx_lan and endx adjacency. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'lib/link_state.h')
-rw-r--r--lib/link_state.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/link_state.h b/lib/link_state.h
index d3a0ce39d..aaf97a28b 100644
--- a/lib/link_state.h
+++ b/lib/link_state.h
@@ -161,6 +161,8 @@ struct ls_node {
#define LS_ATTR_BCK_ADJ_SID6 0x08000000
#define LS_ATTR_SRLG 0x10000000
#define LS_ATTR_EXT_ADM_GRP 0x20000000
+#define LS_ATTR_ADJ_SRV6SID 0x40000000
+#define LS_ATTR_BCK_ADJ_SRV6SID 0x80000000
/* Link State Attributes */
struct ls_attributes {
@@ -209,6 +211,18 @@ struct ls_attributes {
uint8_t sysid[ISO_SYS_ID_LEN]; /* or Sys-ID for ISIS */
} neighbor;
} adj_sid[4]; /* IPv4/IPv6 & Primary/Backup (LAN)-Adj. SID */
+#define ADJ_SRV6_PRI_IPV6 0
+#define ADJ_SRV6_BCK_IPV6 1
+#define ADJ_SRV6_MAX 2
+ struct ls_srv6_adjacency { /* Adjacency SID for IS-IS */
+ struct in6_addr sid; /* SID as IPv6 address */
+ uint8_t flags; /* Flags */
+ uint8_t weight; /* Administrative weight */
+ uint16_t endpoint_behavior; /* Endpoint Behavior */
+ union {
+ uint8_t sysid[ISO_SYS_ID_LEN]; /* Sys-ID for ISIS */
+ } neighbor;
+ } adj_srv6_sid[2];
uint32_t *srlgs; /* List of Shared Risk Link Group */
uint8_t srlg_len; /* number of SRLG in the list */
};