Commit c5444786 authored by Florian Westphal's avatar Florian Westphal Committed by Pablo Neira Ayuso

netfilter: nft_set_pipapo: merge deactivate helper into caller

Its the only remaining call site so there is no need for this to
be separated anymore.
Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Reviewed-by: default avatarStefano Brivio <sbrivio@redhat.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 6c108d9b
...@@ -1851,52 +1851,31 @@ static void nft_pipapo_activate(const struct net *net, ...@@ -1851,52 +1851,31 @@ static void nft_pipapo_activate(const struct net *net,
} }
/** /**
* pipapo_deactivate() - Check that element is in set, mark as inactive * nft_pipapo_deactivate() - Search for element and make it inactive
* @net: Network namespace * @net: Network namespace
* @set: nftables API set representation * @set: nftables API set representation
* @data: Input key data * @elem: nftables API element representation containing key data
* @ext: nftables API extension pointer, used to check for end element
*
* This is a convenience function that can be called from both
* nft_pipapo_deactivate() and nft_pipapo_flush(), as they are in fact the same
* operation.
* *
* Return: deactivated element if found, NULL otherwise. * Return: deactivated element if found, NULL otherwise.
*/ */
static void *pipapo_deactivate(const struct net *net, const struct nft_set *set, static struct nft_elem_priv *
const u8 *data, const struct nft_set_ext *ext) nft_pipapo_deactivate(const struct net *net, const struct nft_set *set,
const struct nft_set_elem *elem)
{ {
struct nft_pipapo_elem *e; struct nft_pipapo_elem *e;
e = pipapo_get(net, set, data, nft_genmask_next(net), e = pipapo_get(net, set, (const u8 *)elem->key.val.data,
nft_net_tstamp(net), GFP_KERNEL); nft_genmask_next(net), nft_net_tstamp(net), GFP_KERNEL);
if (IS_ERR(e)) if (IS_ERR(e))
return NULL; return NULL;
nft_set_elem_change_active(net, set, &e->ext); nft_set_elem_change_active(net, set, &e->ext);
return e; return &e->priv;
}
/**
* nft_pipapo_deactivate() - Call pipapo_deactivate() to make element inactive
* @net: Network namespace
* @set: nftables API set representation
* @elem: nftables API element representation containing key data
*
* Return: deactivated element if found, NULL otherwise.
*/
static struct nft_elem_priv *
nft_pipapo_deactivate(const struct net *net, const struct nft_set *set,
const struct nft_set_elem *elem)
{
const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
return pipapo_deactivate(net, set, (const u8 *)elem->key.val.data, ext);
} }
/** /**
* nft_pipapo_flush() - Call pipapo_deactivate() to make element inactive * nft_pipapo_flush() - make element inactive
* @net: Network namespace * @net: Network namespace
* @set: nftables API set representation * @set: nftables API set representation
* @elem_priv: nftables API element representation containing key data * @elem_priv: nftables API element representation containing key data
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment