summaryrefslogtreecommitdiffstats
path: root/lib/srv6.h
diff options
context:
space:
mode:
authorCarmine Scarpitta <cscarpit@cisco.com>2024-03-22 19:31:01 +0100
committerCarmine Scarpitta <cscarpit@cisco.com>2024-06-13 14:54:16 +0200
commit779d4c2702ac446cc4b96a1a9d2d62d1b0bbe232 (patch)
tree1a5447630cf2c4869cd40d44529bab15b7cc4120 /lib/srv6.h
parentlib: Add function to copy an SRv6 locator (diff)
downloadfrr-779d4c2702ac446cc4b96a1a9d2d62d1b0bbe232.tar.xz
frr-779d4c2702ac446cc4b96a1a9d2d62d1b0bbe232.zip
zebra: CLI to specify format of an SRv6 locator
Add the CLI to choose the SID format of a locator. When the SID format of a locator is changed, the SIDs allocated from that locator might no longer be valid (for example, because the new format might involve a different SID allocation schema). In such a case, it is necessary to notify all the zclients so that they can withdraw/uninstall the old SIDs that use the previous format and allocate/install/advertise the new SIDs based on the new format. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Diffstat (limited to 'lib/srv6.h')
-rw-r--r--lib/srv6.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/srv6.h b/lib/srv6.h
index 66f1854da..4a6ea5c72 100644
--- a/lib/srv6.h
+++ b/lib/srv6.h
@@ -129,6 +129,12 @@ struct srv6_locator {
uint8_t flags;
#define SRV6_LOCATOR_USID (1 << 0) /* The SRv6 Locator is a uSID Locator */
+ /* Pointer to the SID format. */
+ struct srv6_sid_format *sid_format;
+
+ /* Pointer to the parent SID block of the locator. */
+ void *sid_block;
+
QOBJ_FIELDS;
};
DECLARE_QOBJ_TYPE(srv6_locator);