diff --git a/src/sonic-frr/patch/0066-lib-fix-srv6-locator-flags-propagated-to-isis.patch b/src/sonic-frr/patch/0066-lib-fix-srv6-locator-flags-propagated-to-isis.patch new file mode 100644 index 000000000000..b872ff9cbf8c --- /dev/null +++ b/src/sonic-frr/patch/0066-lib-fix-srv6-locator-flags-propagated-to-isis.patch @@ -0,0 +1,41 @@ +From 03d2ad01a4fd4aa6df4b1ec64249fb391405a61f Mon Sep 17 00:00:00 2001 + +From: Philippe Guibert + +Subject: [PATCH] lib: fix srv6 locator flags propagated to isis + +When usid is not used, the isis_srv6_topo1 test does not work. +The SID prefix allocated by isis is different when the usid +flags is set or not. When the flags is not transmitted to isis, +the SID allocated is supposed to be a 128 bit mask length SID, +which is not what the isis_srv6_topo1 test is supposed to obtain. + +Fix this by exchanging the flags locator value in the zclient api. + +Fixes: 9b7491e1fc04 ("lib: Add support for flags to the SRv6 locator") + +Signed-off-by: Philippe Guibert +--- + lib/zclient.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/zclient.c b/lib/zclient.c +index 64515c754..269c3e9ba 100644 +--- a/lib/zclient.c ++++ b/lib/zclient.c +@@ -1125,6 +1125,7 @@ int zapi_srv6_locator_encode(struct stream *s, const struct srv6_locator *l) + stream_put(s, l->name, strlen(l->name)); + stream_putw(s, l->prefix.prefixlen); + stream_put(s, &l->prefix.prefix, sizeof(l->prefix.prefix)); ++ stream_putc(s, l->flags); + return 0; + } + +@@ -1140,6 +1141,7 @@ int zapi_srv6_locator_decode(struct stream *s, struct srv6_locator *l) + STREAM_GETW(s, l->prefix.prefixlen); + STREAM_GET(&l->prefix.prefix, s, sizeof(l->prefix.prefix)); + l->prefix.family = AF_INET6; ++ STREAM_GETC(s, l->flags); + return 0; + + stream_failure: diff --git a/src/sonic-frr/patch/series b/src/sonic-frr/patch/series index fc7841bb71d1..7f68378272ec 100644 --- a/src/sonic-frr/patch/series +++ b/src/sonic-frr/patch/series @@ -45,3 +45,4 @@ 0063-Patch-to-send-tag-value-associated-with-route-via-ne.patch 0064-SRv6-BGP-SID-reachability.patch 0065-zebra-display-srv6-encapsulation-source-address-when-configured.patch +0066-lib-fix-srv6-locator-flags-propagated-to-isis.patch