Skip to content

Commit

Permalink
netfilter: nf_tables_offload: add nft_flow_block_chain()
Browse files Browse the repository at this point in the history
Add nft_flow_block_chain() helper function to reuse this function from
netdev event handler.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  • Loading branch information
Pablo Neira Ayuso committed Oct 23, 2019
1 parent cb662ac commit ead3952
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions net/netfilter/nf_tables_offload.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,16 @@ static int nft_indr_block_offload_cmd(struct nft_base_chain *chain,

#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,
u8 *ppolicy,
enum flow_block_command cmd)
Expand All @@ -316,10 +326,7 @@ static int nft_flow_offload_chain(struct nft_chain *chain,
if (cmd == FLOW_BLOCK_BIND && policy == NF_DROP)
return -EOPNOTSUPP;

if (dev->netdev_ops->ndo_setup_tc)
return nft_block_offload_cmd(basechain, dev, cmd);
else
return nft_indr_block_offload_cmd(basechain, dev, cmd);
return nft_flow_block_chain(basechain, dev, cmd);
}

int nft_flow_rule_offload_commit(struct net *net)
Expand Down

0 comments on commit ead3952

Please sign in to comment.