summaryrefslogtreecommitdiffstats
path: root/lib/srv6.h
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2022-10-27 18:41:54 +0200
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2022-10-29 02:04:57 +0200
commit02b1544a5c181b8ed24aa084982da1f986325927 (patch)
tree21f62006e7e8a0f9e487181b51fb018464c7993a /lib/srv6.h
parentlib: Add support for flags to the SRv6 locator (diff)
downloadfrr-02b1544a5c181b8ed24aa084982da1f986325927.tar.xz
frr-02b1544a5c181b8ed24aa084982da1f986325927.zip
lib: Add `SRV6_LOCATOR_USID` flag to SRv6 locator
In this commit, we add support for a new flag called `SRV6_LOCATOR_USID`. When the `SRV6_LOCATOR_USID` flag is set, the routing protocols will install SRv6 behaviors with the uSID in the dataplane. This flag is used to specify a locator as a uSID locator. When a locator is specified as a uSID locator, all the SRv6 SIDs allocated from the locator by the routing protocols (like BGP) are bound to the SRv6 uSID behaviors and use the SRv6 uSID codepoints in the BGP update message. We extend the SRv6 locator implementation to add support for a `usid` flag. When the `usid` flag is set, the bgpd will install SRv6 behaviors with the uSID in the dataplane and use the proper SRv6 Endpoint Behavior codepoint in the BGP advertisement. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'lib/srv6.h')
-rw-r--r--lib/srv6.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/srv6.h b/lib/srv6.h
index a3575583a..c5fd40fa5 100644
--- a/lib/srv6.h
+++ b/lib/srv6.h
@@ -93,6 +93,7 @@ struct srv6_locator {
struct list *chunks;
uint8_t flags;
+#define SRV6_LOCATOR_USID (1 << 0) /* The SRv6 Locator is a uSID Locator */
QOBJ_FIELDS;
};