net: flow_offload: fix flow_indr_dev_unregister path
authorwenxu <wenxu@ucloud.cn>
Thu, 18 Jun 2020 12:49:10 +0000 (20:49 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 20 Jun 2020 03:12:58 +0000 (20:12 -0700)
commita1db217861f33b8d9ea8171bcacee51186e2d5ba
tree6719e7474a02c935b8d296f550de67ddb7290945
parent66f1939a1b705305df820d65f4d9a8457d05759c
net: flow_offload: fix flow_indr_dev_unregister path

If the representor is removed, then identify the indirect flow_blocks
that need to be removed by the release callback and the port representor
structure. To identify the port representor structure, a new
indr.cb_priv field needs to be introduced. The flow_block also needs to
be removed from the driver list from the cleanup path.

Fixes: 1fac52da5942 ("net: flow_offload: consolidate indirect flow_block infrastructure")

Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
drivers/net/ethernet/netronome/nfp/flower/main.c
drivers/net/ethernet/netronome/nfp/flower/main.h
drivers/net/ethernet/netronome/nfp/flower/offload.c
include/net/flow_offload.h
net/core/flow_offload.c
net/netfilter/nf_flow_table_offload.c
net/netfilter/nf_tables_offload.c
net/sched/cls_api.c