summaryrefslogtreecommitdiff
path: root/isisd/isis_tlvs.c
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-02-15 12:00:24 +0100
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-09-11 22:11:39 +0200
commit81579d7de29cdb57fc4b37d461b9dc3a0e96597d (patch)
tree4686ab13e0a8f90a5061ce893cb5a72bac6ed495 /isisd/isis_tlvs.c
parentcfc90fc490940752b2e3e2abeeb399942bde1541 (diff)
isisd: Add func to build Sub-Sub-TLV from End SID
Add a function to build an SRv6 SID Structure Sub-Sub-TLV (RFC 9352 section #9) to advertise the structure of a specific SRv6 End SID passed as an argument. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'isisd/isis_tlvs.c')
-rw-r--r--isisd/isis_tlvs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c
index 3f56f83367..11a3f67cc1 100644
--- a/isisd/isis_tlvs.c
+++ b/isisd/isis_tlvs.c
@@ -7732,6 +7732,18 @@ void isis_tlvs_set_purge_originator(struct isis_tlvs *tlvs,
}
}
+/* Set SRv6 SID Structure Sub-Sub-TLV parameters */
+void isis_subsubtlvs_set_srv6_sid_structure(struct isis_subsubtlvs *subsubtlvs,
+ struct isis_srv6_sid *sid)
+{
+ assert(!subsubtlvs->srv6_sid_structure);
+
+ subsubtlvs->srv6_sid_structure = XCALLOC(
+ MTYPE_ISIS_SUBSUBTLV, sizeof(*subsubtlvs->srv6_sid_structure));
+
+ isis_srv6_sid_structure2subsubtlv(sid, subsubtlvs->srv6_sid_structure);
+}
+
/* Add an SRv6 End SID to the SRv6 End SID Sub-TLV */
void isis_subtlvs_add_srv6_end_sid(struct isis_subtlvs *subtlvs,
struct isis_srv6_sid *sid)