]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: Add `SRV6_LOCATOR_USID` flag to SRv6 locator
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Thu, 27 Oct 2022 16:41:54 +0000 (18:41 +0200)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Sat, 29 Oct 2022 00:04:57 +0000 (02:04 +0200)
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>
lib/srv6.h

index a3575583ae44c640260a31fb99462347f752552b..c5fd40fa53114cd6678307180b2d666c36bfeec7 100644 (file)
@@ -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;
 };