diff options
author | Philippe Guibert <philippe.guibert@6wind.com> | 2023-11-19 09:38:26 +0100 |
---|---|---|
committer | Philippe Guibert <philippe.guibert@6wind.com> | 2024-04-23 14:27:01 +0200 |
commit | 196f0d69fa26065943088eeb25e12103817cd96f (patch) | |
tree | 3e704da946c0140fd535abf2260d01ced756b7ba /lib/link_state.h | |
parent | Merge pull request #15815 from donaldsharp/blackhole_reinstall (diff) | |
download | frr-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.h | 14 |
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 */ }; |