From 02b1544a5c181b8ed24aa084982da1f986325927 Mon Sep 17 00:00:00 2001 From: Carmine Scarpitta Date: Thu, 27 Oct 2022 18:41:54 +0200 Subject: [PATCH] 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 --- lib/srv6.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/srv6.h b/lib/srv6.h index a3575583ae..c5fd40fa53 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; }; -- 2.39.5