Commit 51c50deded for frr
commit 51c50dededb687d47fb4b0f639bbb54a1298b2d2
Author: Carmine Scarpitta <cscarpit@cisco.com>
Date: Sat Oct 17 17:29:51 2026 +0200
tests: Cover repeated SRv6 SID Information Sub-TLVs
Add a Prefix-SID test with repeated SRv6 SID Information Sub-TLVs and
verify that the parser accepts the first instance and ignores all
others.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
diff --git a/tests/bgpd/test_mp_attr.c b/tests/bgpd/test_mp_attr.c
index b01b5acc4f..a335acc602 100644
--- a/tests/bgpd/test_mp_attr.c
+++ b/tests/bgpd/test_mp_attr.c
@@ -1083,6 +1083,37 @@ static struct test_segment mp_prefix_sid[] = {
.len = 37,
.parses = SHOULD_WITHDRAW,
},
+ {
+ .name = "PREFIX-SID-SRv6-L3-Service-repeated-sid-info",
+ .desc = "PREFIX-SID accepts repeated SRv6 SID Information Sub-TLVs",
+ .data = {
+ 0x05, /* Type 0x05: SRv6 L3 Service */
+ 0x00, 0x31, /* Length */
+ 0x00, /* Reserved */
+ 0x01, /* Sub-TLV type: SID Information */
+ 0x00, 0x15, /* Sub-TLV length */
+ 0x00, /* Reserved */
+ 0xfc, 0xbb, 0xbb, 0xbb, /* First SID: fcbb:bbbb:1:e000:: */
+ 0x00, 0x01, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, /* SID flags */
+ 0x00, 0x40, /* Endpoint behavior */
+ 0x00, /* Reserved */
+ 0x01, /* Repeated Sub-TLV type: SID Information */
+ 0x00, 0x15, /* Sub-TLV length */
+ 0x00, /* Reserved */
+ 0xfc, 0xbb, 0xbb, 0xbb, /* Second SID: fcbb:bbbb:1:e001:: */
+ 0x00, 0x01, 0xe0, 0x01,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, /* SID flags */
+ 0x00, 0x3e, /* Endpoint behavior */
+ 0x00, /* Reserved */
+ },
+ .len = 52,
+ .parses = SHOULD_PARSE,
+ },
{NULL, NULL, { 0 }, 0, 0},
};
diff --git a/tests/bgpd/test_mp_attr.py b/tests/bgpd/test_mp_attr.py
index e77220c0ed..ae311be6aa 100644
--- a/tests/bgpd/test_mp_attr.py
+++ b/tests/bgpd/test_mp_attr.py
@@ -67,3 +67,6 @@ TestMpAttr.okfail(
TestMpAttr.okfail(
"PREFIX-SID-SRv6-L3-Service-sid-structure-bad-transposition: PREFIX-SID rejects an SRv6 SID Structure Sub-Sub-TLV with bad transposition"
)
+TestMpAttr.okfail(
+ "PREFIX-SID-SRv6-L3-Service-repeated-sid-info: PREFIX-SID accepts repeated SRv6 SID Information Sub-TLVs"
+)