From: wenxu <wenxu@ucloud.cn>
Date: Mon, 24 Feb 2020 13:22:52 +0800
Subject: netfilter: flowtable: add nf_flow_table_block_offload_init()
Patch-mainline: v5.7-rc1
Git-commit: 4679877921cd6fb2545ffecbaa3cdbbb74245aab
References: bsc#1176447
Add nf_flow_table_block_offload_init prepare for the indr block
offload patch
Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
net/netfilter/nf_flow_table_offload.c | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
--- a/net/netfilter/nf_flow_table_offload.c
+++ b/net/netfilter/nf_flow_table_offload.c
@@ -821,6 +821,21 @@ static int nf_flow_table_block_setup(str
return err;
}
+static void nf_flow_table_block_offload_init(struct flow_block_offload *bo,
+ struct net *net,
+ enum flow_block_command cmd,
+ struct nf_flowtable *flowtable,
+ struct netlink_ext_ack *extack)
+{
+ memset(bo, 0, sizeof(*bo));
+ bo->net = net;
+ bo->block = &flowtable->flow_block;
+ bo->command = cmd;
+ bo->binder_type = FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS;
+ bo->extack = extack;
+ INIT_LIST_HEAD(&bo->cb_list);
+}
+
static int nf_flow_table_offload_cmd(struct flow_block_offload *bo,
struct nf_flowtable *flowtable,
struct net_device *dev,
@@ -832,14 +847,8 @@ static int nf_flow_table_offload_cmd(str
if (!dev->netdev_ops->ndo_setup_tc)
return -EOPNOTSUPP;
- memset(bo, 0, sizeof(*bo));
- bo->net = dev_net(dev);
- bo->block = &flowtable->flow_block;
- bo->command = cmd;
- bo->binder_type = FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS;
- bo->extack = extack;
- INIT_LIST_HEAD(&bo->cb_list);
-
+ nf_flow_table_block_offload_init(bo, dev_net(dev), cmd, flowtable,
+ extack);
err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_FT, bo);
if (err < 0)
return err;