forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FRR]: Bring PR FRRouting/frr#15673 from FRR mainline
This commit brings PR FRRouting/frr#15673 from FRR mainline to SONiC lib: fix srv6 locator flags propagated to isis FRRouting/frr#15673 Signed-off-by: cscarpitta <cscarpit@cisco.com>
- Loading branch information
1 parent
b6004ec
commit 802afb1
Showing
2 changed files
with
42 additions
and
0 deletions.
There are no files selected for viewing
41 changes: 41 additions & 0 deletions
41
src/sonic-frr/patch/0066-lib-fix-srv6-locator-flags-propagated-to-isis.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
From 03d2ad01a4fd4aa6df4b1ec64249fb391405a61f Mon Sep 17 00:00:00 2001 | ||
|
||
From: Philippe Guibert <philippe.guibert@6wind.com> | ||
|
||
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 <philippe.guibert@6wind.com> | ||
--- | ||
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: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters