aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorwenxu <wenxu@ucloud.cn>2019-08-07 09:13:53 +0800
committerDavid S. Miller <davem@davemloft.net>2019-08-08 18:44:30 -0700
commit1150ab0f1b333ca310431dac65d8fa403b8471da (patch)
treee76988b1fcc67bada541027d124e5cc1b1501019 /include/net
parentflow_offload: move tc indirect block to flow offload (diff)
downloadlinux-dev-1150ab0f1b333ca310431dac65d8fa403b8471da.tar.xz
linux-dev-1150ab0f1b333ca310431dac65d8fa403b8471da.zip
flow_offload: support get multi-subsystem block
It provide a callback list to find the blocks of tc and nft subsystems Signed-off-by: wenxu <wenxu@ucloud.cn> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/flow_offload.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
index 46b8777ad05d..e8069b6c474c 100644
--- a/include/net/flow_offload.h
+++ b/include/net/flow_offload.h
@@ -379,6 +379,15 @@ typedef void flow_indr_block_ing_cmd_t(struct net_device *dev,
void *cb_priv,
enum flow_block_command command);
+struct flow_indr_block_ing_entry {
+ flow_indr_block_ing_cmd_t *cb;
+ struct list_head list;
+};
+
+void flow_indr_add_block_ing_cb(struct flow_indr_block_ing_entry *entry);
+
+void flow_indr_del_block_ing_cb(struct flow_indr_block_ing_entry *entry);
+
int __flow_indr_block_cb_register(struct net_device *dev, void *cb_priv,
flow_indr_block_bind_cb_t *cb,
void *cb_ident);
@@ -395,7 +404,6 @@ void flow_indr_block_cb_unregister(struct net_device *dev,
void *cb_ident);
void flow_indr_block_call(struct net_device *dev,
- flow_indr_block_ing_cmd_t *cb,
struct flow_block_offload *bo,
enum flow_block_command command);