Skip to content

Commit 8d00f27

Browse files
committed
isisd: Add SRv6 MSDs to Router Capabilities TLV
Add support for SRv6 Node MSDs as per RFC 9352 section sonic-net#4. There are four types of SRv6 MSDs: * Maximum Segments Left MSD Type * Maximum End Pop MSD Type * Maximum H.Encaps MSD Type * Maximum End D MSD Type These SRv6 Node MSDs are advertised in the Node MSD Sub-TLV, a Sub-TLV of the Router Capabilities TLV. This commit adds `struct isis_srv6_msd` data structure, which represents the SRv6 MSDs advertised in the Node Sub-TLV. This commit also adds the `struct isis_srv6_msd` to `struct isis_router_cap`, a data structure representing the Router Capabilities TLV. Signed-off-by: Carmine Scarpitta <[email protected]>
1 parent c8004f7 commit 8d00f27

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

isisd/isis_tlvs.h

+15
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,18 @@ struct isis_router_cap_fad {
193193
};
194194
#endif /* ifndef FABRICD */
195195

196+
/* Maximum SRv6 SID Depths (MSD) as per RFC 9352 section #4 */
197+
struct isis_srv6_msd {
198+
/* RFC 9352 section #4.1 */
199+
uint8_t max_seg_left_msd;
200+
/* RFC 9352 section #4.2 */
201+
uint8_t max_end_pop_msd;
202+
/* RFC 9352 section #4.3 */
203+
uint8_t max_h_encaps_msd;
204+
/* RFC 9352 section #4.4 */
205+
uint8_t max_end_d_msd;
206+
};
207+
196208
/* SRv6 Capabilities as per RFC 9352 section #2 */
197209
struct isis_srv6_cap {
198210
bool is_srv6_capable;
@@ -221,6 +233,9 @@ struct isis_router_cap {
221233

222234
/* RFC 9352 section #2 */
223235
struct isis_srv6_cap srv6_cap;
236+
237+
/* RFC 9352 section #4 */
238+
struct isis_srv6_msd srv6_msd;
224239
};
225240

226241
struct isis_item {

0 commit comments

Comments
 (0)