summaryrefslogtreecommitdiffstats
path: root/isisd/isis_srv6.h
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-02-15 11:23:34 +0100
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-09-11 22:11:36 +0200
commit791ca51ecf3b31aa6b43f7c3da379da3a45d5f37 (patch)
tree797a0c1c58d92c01bf96d56a846ea10ec278d6c7 /isisd/isis_srv6.h
parentisisd: Bind SRv6 SID Struct ops to TLV type (diff)
downloadfrr-791ca51ecf3b31aa6b43f7c3da379da3a45d5f37.tar.xz
frr-791ca51ecf3b31aa6b43f7c3da379da3a45d5f37.zip
isisd: Add SRv6 locator data structure
Add a data structure to represent an SRv6 locator (RFC 9352 section 7.1) Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to '')
-rw-r--r--isisd/isis_srv6.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/isisd/isis_srv6.h b/isisd/isis_srv6.h
index 094374e89..943a6c8b8 100644
--- a/isisd/isis_srv6.h
+++ b/isisd/isis_srv6.h
@@ -52,6 +52,21 @@ struct isis_srv6_sid {
struct isis_area *area;
};
+/* SRv6 Locator */
+struct isis_srv6_locator {
+ struct isis_srv6_locator *next;
+
+ uint32_t metric;
+
+ uint8_t flags;
+#define ISIS_SRV6_LOCATOR_FLAG_D 1 << 7
+
+ uint8_t algorithm;
+ struct prefix_ipv6 prefix;
+
+ struct list *srv6_sid;
+};
+
/* Per-area IS-IS SRv6 Data Base (SRv6 DB) */
struct isis_srv6_db {