From: wenxu <wenxu@xxxxxxxxx> This series patch make nftables offload support the vlan and tunnel device offload through indr-block architecture. The first four patches mv tc indr block to flow offload and rename to flow-indr-block. Because the new flow-indr-block can't get the tcf_block directly. The fifth patch provide a callback list to get flow_block of each subsystem immediately when the device register and contain a block. The last patch make nf_tables_offload support flow-indr-block. This version add a mutex lock for add/del flow_indr_block_ing_cb wenxu (6): cls_api: modify the tc_indr_block_ing_cmd parameters. cls_api: remove the tcf_block cache cls_api: add flow_indr_block_call function flow_offload: move tc indirect block to flow offload flow_offload: support get multi-subsystem block netfilter: nf_tables_offload: support indr block call drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 10 +- .../net/ethernet/netronome/nfp/flower/offload.c | 11 +- include/net/flow_offload.h | 37 +++ include/net/netfilter/nf_tables_offload.h | 4 + include/net/pkt_cls.h | 35 --- include/net/sch_generic.h | 3 - net/core/flow_offload.c | 240 +++++++++++++++++++ net/netfilter/nf_tables_api.c | 7 + net/netfilter/nf_tables_offload.c | 148 ++++++++++-- net/sched/cls_api.c | 254 ++++----------------- 10 files changed, 464 insertions(+), 285 deletions(-) -- 1.8.3.1