mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-17 12:08:43 +00:00
netfilter: nf_tables_offload: add nft_flow_block_chain()
Add nft_flow_block_chain() helper function to reuse this function from netdev event handler. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
cb662ac671
commit
ead3952ea7
1 changed files with 11 additions and 4 deletions
|
@ -294,6 +294,16 @@ static int nft_indr_block_offload_cmd(struct nft_base_chain *chain,
|
||||||
|
|
||||||
#define FLOW_SETUP_BLOCK TC_SETUP_BLOCK
|
#define FLOW_SETUP_BLOCK TC_SETUP_BLOCK
|
||||||
|
|
||||||
|
static int nft_flow_block_chain(struct nft_base_chain *basechain,
|
||||||
|
struct net_device *dev,
|
||||||
|
enum flow_block_command cmd)
|
||||||
|
{
|
||||||
|
if (dev->netdev_ops->ndo_setup_tc)
|
||||||
|
return nft_block_offload_cmd(basechain, dev, cmd);
|
||||||
|
|
||||||
|
return nft_indr_block_offload_cmd(basechain, dev, cmd);
|
||||||
|
}
|
||||||
|
|
||||||
static int nft_flow_offload_chain(struct nft_chain *chain,
|
static int nft_flow_offload_chain(struct nft_chain *chain,
|
||||||
u8 *ppolicy,
|
u8 *ppolicy,
|
||||||
enum flow_block_command cmd)
|
enum flow_block_command cmd)
|
||||||
|
@ -316,10 +326,7 @@ static int nft_flow_offload_chain(struct nft_chain *chain,
|
||||||
if (cmd == FLOW_BLOCK_BIND && policy == NF_DROP)
|
if (cmd == FLOW_BLOCK_BIND && policy == NF_DROP)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
if (dev->netdev_ops->ndo_setup_tc)
|
return nft_flow_block_chain(basechain, dev, cmd);
|
||||||
return nft_block_offload_cmd(basechain, dev, cmd);
|
|
||||||
else
|
|
||||||
return nft_indr_block_offload_cmd(basechain, dev, cmd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int nft_flow_rule_offload_commit(struct net *net)
|
int nft_flow_rule_offload_commit(struct net *net)
|
||||||
|
|
Loading…
Add table
Reference in a new issue