mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-11 16:39:33 +00:00
lib: dispatch flex_algo_delete()
Dispatch flex_algo_delete() to prepare the next commit. Cosmetic change. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
This commit is contained in:
parent
8766fceefc
commit
5b3e0735cc
@ -48,6 +48,19 @@ struct flex_algo *flex_algo_alloc(struct flex_algos *flex_algos,
|
|||||||
return fa;
|
return fa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _flex_algo_delete(struct flex_algos *flex_algos,
|
||||||
|
struct flex_algo *fa)
|
||||||
|
{
|
||||||
|
if (flex_algos->releaser)
|
||||||
|
flex_algos->releaser(fa->data);
|
||||||
|
admin_group_term(&fa->admin_group_exclude_any);
|
||||||
|
admin_group_term(&fa->admin_group_include_any);
|
||||||
|
admin_group_term(&fa->admin_group_include_all);
|
||||||
|
listnode_delete(flex_algos->flex_algos, fa);
|
||||||
|
XFREE(MTYPE_FLEX_ALGO, fa);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void flex_algo_delete(struct flex_algos *flex_algos, uint8_t algorithm)
|
void flex_algo_delete(struct flex_algos *flex_algos, uint8_t algorithm)
|
||||||
{
|
{
|
||||||
struct listnode *node, *nnode;
|
struct listnode *node, *nnode;
|
||||||
@ -56,14 +69,7 @@ void flex_algo_delete(struct flex_algos *flex_algos, uint8_t algorithm)
|
|||||||
for (ALL_LIST_ELEMENTS(flex_algos->flex_algos, node, nnode, fa)) {
|
for (ALL_LIST_ELEMENTS(flex_algos->flex_algos, node, nnode, fa)) {
|
||||||
if (fa->algorithm != algorithm)
|
if (fa->algorithm != algorithm)
|
||||||
continue;
|
continue;
|
||||||
if (flex_algos->releaser)
|
_flex_algo_delete(flex_algos, fa);
|
||||||
flex_algos->releaser(fa->data);
|
|
||||||
admin_group_term(&fa->admin_group_exclude_any);
|
|
||||||
admin_group_term(&fa->admin_group_include_any);
|
|
||||||
admin_group_term(&fa->admin_group_include_all);
|
|
||||||
listnode_delete(flex_algos->flex_algos, fa);
|
|
||||||
XFREE(MTYPE_FLEX_ALGO, fa);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user