mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 04:26:12 +00:00
isisd: Add SRv6 End.X SID to IS ext reach Sub-TLVs
Add SRv6 End.X SID Sub-TLV and SRv6 LAN End.X SID Sub-TLV to the Extended IS Reachability Sub-TLVs data structure and perform proper initialization/free when the Sub-TLVs data structure is allocated/destroyed. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
parent
f912df37de
commit
3740efacfb
@ -135,6 +135,9 @@ struct isis_ext_subtlvs *isis_alloc_ext_subtlvs(void)
|
||||
init_item_list(&ext->lan_sid);
|
||||
ext->aslas = list_new();
|
||||
|
||||
init_item_list(&ext->srv6_endx_sid);
|
||||
init_item_list(&ext->srv6_lan_endx_sid);
|
||||
|
||||
admin_group_init(&ext->ext_admin_group);
|
||||
|
||||
return ext;
|
||||
@ -166,6 +169,18 @@ void isis_del_ext_subtlvs(struct isis_ext_subtlvs *ext)
|
||||
|
||||
admin_group_term(&ext->ext_admin_group);
|
||||
|
||||
/* First, free SRv6 End.X SID and SRv6 LAN End.X SID list if needed */
|
||||
for (item = ext->srv6_endx_sid.head; item; item = next_item) {
|
||||
next_item = item->next;
|
||||
isis_free_subsubtlvs(((struct isis_srv6_endx_sid_subtlv *)item)->subsubtlvs);
|
||||
XFREE(MTYPE_ISIS_SUBTLV, item);
|
||||
}
|
||||
for (item = ext->srv6_lan_endx_sid.head; item; item = next_item) {
|
||||
next_item = item->next;
|
||||
isis_free_subsubtlvs(((struct isis_srv6_lan_endx_sid_subtlv *)item)->subsubtlvs);
|
||||
XFREE(MTYPE_ISIS_SUBTLV, item);
|
||||
}
|
||||
|
||||
XFREE(MTYPE_ISIS_SUBTLV, ext);
|
||||
}
|
||||
|
||||
|
@ -639,6 +639,8 @@ enum ext_subsubtlv_types {
|
||||
#define EXT_AVA_BW 0x080000
|
||||
#define EXT_USE_BW 0x100000
|
||||
#define EXT_EXTEND_ADM_GRP 0x200000
|
||||
#define EXT_SRV6_ENDX_SID 0x400000
|
||||
#define EXT_SRV6_LAN_ENDX_SID 0x800000
|
||||
|
||||
/*
|
||||
* This structure groups all Extended IS Reachability subTLVs.
|
||||
@ -688,6 +690,10 @@ struct isis_ext_subtlvs {
|
||||
struct isis_item_list lan_sid;
|
||||
|
||||
struct list *aslas;
|
||||
|
||||
/* SRv6 End.X & LAN End.X SID */
|
||||
struct isis_item_list srv6_endx_sid;
|
||||
struct isis_item_list srv6_lan_endx_sid;
|
||||
};
|
||||
|
||||
/* RFC 8919 */
|
||||
|
Loading…
Reference in New Issue
Block a user