summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-03-12 23:38:48 +0100
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2023-09-11 22:11:31 +0200
commitb46b6e9986c6e01e35795e141330299d2dc5c810 (patch)
tree327fd2936c925bec502fadfc0c2de1cbe60735ee
parent66c50ce22ab2239081c04abf5a565955b6b8c216 (diff)
isisd: Add data struct for SID Struct Sub-Sub-TLV
Add a data structure representing the SRv6 SID Structure Sub-Sub-TLV (RFC 9352 section #9). Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
-rw-r--r--isisd/isis_tlvs.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/isisd/isis_tlvs.h b/isisd/isis_tlvs.h
index 7f4440d376..b8a30534f7 100644
--- a/isisd/isis_tlvs.h
+++ b/isisd/isis_tlvs.h
@@ -195,6 +195,14 @@ struct isis_router_cap_fad {
};
#endif /* ifndef FABRICD */
+/* SRv6 SID Structure Sub-Sub-TLV as per RFC 9352 section #9 */
+struct isis_srv6_sid_structure_subsubtlv {
+ uint8_t loc_block_len;
+ uint8_t loc_node_len;
+ uint8_t func_len;
+ uint8_t arg_len;
+};
+
/* SRv6 End SID Sub-TLV as per RFC 9352 section #7.2 */
struct isis_srv6_end_sid_subtlv {
struct isis_srv6_end_sid_subtlv *next;
@@ -395,6 +403,9 @@ struct isis_subtlvs {
struct isis_subsubtlvs {
enum isis_tlv_context context;
+
+ /* RFC 9352 section #9 */
+ struct isis_srv6_sid_structure_subsubtlv *srv6_sid_structure;
};
enum isis_tlv_type {