Skip to content

Commit ead3952

Browse files
committed
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 <[email protected]>
1 parent cb662ac commit ead3952

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

net/netfilter/nf_tables_offload.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,16 @@ static int nft_indr_block_offload_cmd(struct nft_base_chain *chain,
294294

295295
#define FLOW_SETUP_BLOCK TC_SETUP_BLOCK
296296

297+
static int nft_flow_block_chain(struct nft_base_chain *basechain,
298+
struct net_device *dev,
299+
enum flow_block_command cmd)
300+
{
301+
if (dev->netdev_ops->ndo_setup_tc)
302+
return nft_block_offload_cmd(basechain, dev, cmd);
303+
304+
return nft_indr_block_offload_cmd(basechain, dev, cmd);
305+
}
306+
297307
static int nft_flow_offload_chain(struct nft_chain *chain,
298308
u8 *ppolicy,
299309
enum flow_block_command cmd)
@@ -316,10 +326,7 @@ static int nft_flow_offload_chain(struct nft_chain *chain,
316326
if (cmd == FLOW_BLOCK_BIND && policy == NF_DROP)
317327
return -EOPNOTSUPP;
318328

319-
if (dev->netdev_ops->ndo_setup_tc)
320-
return nft_block_offload_cmd(basechain, dev, cmd);
321-
else
322-
return nft_indr_block_offload_cmd(basechain, dev, cmd);
329+
return nft_flow_block_chain(basechain, dev, cmd);
323330
}
324331

325332
int nft_flow_rule_offload_commit(struct net *net)

0 commit comments

Comments
 (0)