diff --git a/isisd/isis_tlvs.h b/isisd/isis_tlvs.h index db66d8e58694..6ded0c3411aa 100644 --- a/isisd/isis_tlvs.h +++ b/isisd/isis_tlvs.h @@ -193,6 +193,18 @@ struct isis_router_cap_fad { }; #endif /* ifndef FABRICD */ +/* Maximum SRv6 SID Depths (MSD) as per RFC 9352 section #4 */ +struct isis_srv6_msd { + /* RFC 9352 section #4.1 */ + uint8_t max_seg_left_msd; + /* RFC 9352 section #4.2 */ + uint8_t max_end_pop_msd; + /* RFC 9352 section #4.3 */ + uint8_t max_h_encaps_msd; + /* RFC 9352 section #4.4 */ + uint8_t max_end_d_msd; +}; + /* SRv6 Capabilities as per RFC 9352 section #2 */ struct isis_srv6_cap { bool is_srv6_capable; @@ -221,6 +233,9 @@ struct isis_router_cap { /* RFC 9352 section #2 */ struct isis_srv6_cap srv6_cap; + + /* RFC 9352 section #4 */ + struct isis_srv6_msd srv6_msd; }; struct isis_item {