netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net v5 0/4] several fixes for indirect flow_blocks offload
@ 2020-06-18 12:49 wenxu
  2020-06-18 12:49 ` [PATCH net v5 1/4] flow_offload: add flow_indr_block_cb_alloc/remove function wenxu
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: wenxu @ 2020-06-18 12:49 UTC (permalink / raw)
  To: netdev; +Cc: davem, pablo, vladbu, simon.horman

From: wenxu <wenxu@ucloud.cn>

v2:
patch2: store the cb_priv of representor to the flow_block_cb->indr.cb_priv
in the driver. And make the correct check with the statments
this->indr.cb_priv == cb_priv

patch4: del the driver list only in the indriect cleanup callbacks

v3:
add the cover letter and changlogs.

v4:
collapsed 1/4, 2/4, 4/4 in v3 to one fix
Add the prepare patch 1 and 2

v5:
patch1: place flow_indr_block_cb_alloc() right before
flow_indr_dev_setup_offload() to avoid moving flow_block_indr_init()

This series fixes commit 1fac52da5942 ("net: flow_offload: consolidate
indirect flow_block infrastructure") that revists the flow_block
infrastructure.

patch #1 #2: prepare for fix patch #3
add and use flow_indr_block_cb_alloc/remove function

patch #3: 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


patch#4 fix block->nooffloaddevcnt warning dmesg log.
When a indr device add in offload success. The block->nooffloaddevcnt
should be 0. After the representor go away. When the dir device go away
the flow_block UNBIND operation with -EOPNOTSUPP which lead the warning
demesg log. 
The block->nooffloaddevcnt should always count for indr block.
even the indr block offload successful. The representor maybe
gone away and the ingress qdisc can work in software mode.


wenxu (4):
  flow_offload: add flow_indr_block_cb_alloc/remove function
  flow_offload: use flow_indr_block_cb_alloc/remove function
  net: flow_offload: fix flow_indr_dev_unregister path
  net/sched: cls_api: fix nooffloaddevcnt warning dmesg log

 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c       | 21 +++---
 .../net/ethernet/mellanox/mlx5/core/en/rep/tc.c    | 24 ++++---
 drivers/net/ethernet/netronome/nfp/flower/main.c   |  2 +-
 drivers/net/ethernet/netronome/nfp/flower/main.h   |  7 +-
 .../net/ethernet/netronome/nfp/flower/offload.c    | 24 ++++---
 include/net/flow_offload.h                         | 21 +++++-
 net/core/flow_offload.c                            | 79 ++++++++++++----------
 net/netfilter/nf_flow_table_offload.c              |  1 +
 net/netfilter/nf_tables_offload.c                  |  1 +
 net/sched/cls_api.c                                | 25 ++++---
 10 files changed, 126 insertions(+), 79 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-06-22  9:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-18 12:49 [PATCH net v5 0/4] several fixes for indirect flow_blocks offload wenxu
2020-06-18 12:49 ` [PATCH net v5 1/4] flow_offload: add flow_indr_block_cb_alloc/remove function wenxu
2020-06-18 12:49 ` [PATCH net v5 2/4] flow_offload: use " wenxu
2020-06-18 12:49 ` [PATCH net v5 3/4] net: flow_offload: fix flow_indr_dev_unregister path wenxu
2020-06-18 12:49 ` [PATCH net v5 4/4] net/sched: cls_api: fix nooffloaddevcnt warning dmesg log wenxu
2020-06-19  7:10 ` [PATCH net v5 0/4] several fixes for indirect flow_blocks offload Simon Horman
2020-06-20  3:13 ` David Miller
2020-06-22  9:13   ` Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).