ll_map: Add function to remove link cache entry by index

Add ll_drop_by_index to remove an entry from the link cache.

Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
David Ahern 2019-01-07 14:29:15 -08:00
parent 9f78e995a8
commit 25c6339b22
2 changed files with 15 additions and 0 deletions

View File

@ -9,6 +9,7 @@ unsigned ll_name_to_index(const char *name);
const char *ll_index_to_name(unsigned idx);
int ll_index_to_type(unsigned idx);
int ll_index_to_flags(unsigned idx);
void ll_drop_by_index(unsigned index);
unsigned namehash(const char *str);
const char *ll_idx_n2a(unsigned int idx);

View File

@ -210,6 +210,20 @@ unsigned ll_name_to_index(const char *name)
return idx;
}
void ll_drop_by_index(unsigned index)
{
struct ll_cache *im;
im = ll_get_by_index(index);
if (!im)
return;
hlist_del(&im->idx_hash);
hlist_del(&im->name_hash);
free(im);
}
void ll_init_map(struct rtnl_handle *rth)
{
static int initialized;