@@ -129,6 +129,7 @@ static int unpack_tlvs(enum isis_tlv_context context, size_t avail_len,
129
129
struct stream * stream , struct sbuf * log , void * dest ,
130
130
int indent , bool * unpacked_known_tlvs );
131
131
static void isis_free_subsubtlvs (struct isis_subsubtlvs * subsubtlvs );
132
+ static void isis_tlvs_del_asla_free (void * arg );
132
133
133
134
/* For tests/isisd, TLV text requires ipv4-unicast instead of standard */
134
135
static const char * isis_mtid2str_fake (uint16_t mtid )
@@ -147,6 +148,7 @@ struct isis_ext_subtlvs *isis_alloc_ext_subtlvs(void)
147
148
init_item_list (& ext -> adj_sid );
148
149
init_item_list (& ext -> lan_sid );
149
150
ext -> aslas = list_new ();
151
+ ext -> aslas -> del = isis_tlvs_del_asla_free ;
150
152
151
153
init_item_list (& ext -> srv6_endx_sid );
152
154
init_item_list (& ext -> srv6_lan_endx_sid );
@@ -8136,12 +8138,19 @@ void isis_tlvs_del_srv6_lan_endx_sid(struct isis_ext_subtlvs *exts,
8136
8138
UNSET_SUBTLV (exts , EXT_SRV6_LAN_ENDX_SID );
8137
8139
}
8138
8140
8141
+ static void isis_tlvs_del_asla_free (void * arg )
8142
+ {
8143
+ struct isis_asla_subtlvs * asla = arg ;
8144
+
8145
+ admin_group_term (& asla -> ext_admin_group );
8146
+ XFREE (MTYPE_ISIS_SUBTLV , asla );
8147
+ }
8148
+
8139
8149
void isis_tlvs_del_asla_flex_algo (struct isis_ext_subtlvs * ext ,
8140
8150
struct isis_asla_subtlvs * asla )
8141
8151
{
8142
- admin_group_term (& asla -> ext_admin_group );
8143
8152
listnode_delete (ext -> aslas , asla );
8144
- XFREE ( MTYPE_ISIS_SUBTLV , asla );
8153
+ isis_tlvs_del_asla_free ( asla );
8145
8154
}
8146
8155
8147
8156
struct isis_asla_subtlvs *
0 commit comments