All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] mlxsw: Rework matchall offloading plumbing
@ 2020-04-27 15:12 Ido Schimmel
  2020-04-27 15:12 ` [PATCH net-next 01/13] mlxsw: spectrum_acl: Move block helpers into inline header functions Ido Schimmel
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Ido Schimmel @ 2020-04-27 15:12 UTC (permalink / raw)
  To: netdev; +Cc: davem, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

Jiri says:

Currently the matchall and flower are handled by registering separate
callbacks in mlxsw. That leads to faulty indication "in_hw_count 2" in
filter show command for every inserted flower filter. That happens
because matchall callback just blindly returns 0 for it and it is
wrongly accounted for as "the offloader".

I inspected different ways to fix this problem. The only clean solution
is to rework handling of matchall in mlxsw a bit. The driver newely
registers one callback for bound block which is called for both matchall
and flower filter insertions.

On the way, iron out the matchall code a bit, push it into a separate
file etc.

Jiri Pirko (13):
  mlxsw: spectrum_acl: Move block helpers into inline header functions
  mlxsw: spectrum: Rename acl_block to flow_block
  mlxsw: spectrum: Push flow_block related functions into a separate
    file
  mlxsw: spectrum: Push matchall bits into a separate file
  mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del()
  mlxsw: spectrum_matchall: Pass mall_entry as arg to
    mlxsw_sp_mall_port_mirror_add()
  mlxsw: spectrum_matchall: Pass mall_entry as arg to
    mlxsw_sp_mall_port_sample_add()
  mlxsw: spectrum_matchall: Move ingress indication into mall_entry
  mlxsw: spectrum_matchall: Push per-port rule add/del into separate
    functions
  mlxsw: spectrum: Avoid copying sample values and use RCU pointer
    direcly instead
  mlxsw: spectrum_matchall: Process matchall events from the same cb as
    flower
  mlxsw: spectrum: Move flow offload binding into spectrum_flow.c
  selftests: forwarding: tc_actions.sh: add matchall mirror test

 drivers/net/ethernet/mellanox/mlxsw/Makefile  |   1 +
 .../net/ethernet/mellanox/mlxsw/spectrum.c    | 463 +-----------------
 .../net/ethernet/mellanox/mlxsw/spectrum.h    | 167 ++++---
 .../mellanox/mlxsw/spectrum2_mr_tcam.c        |  14 +-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    | 207 +-------
 .../ethernet/mellanox/mlxsw/spectrum_flow.c   | 303 ++++++++++++
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |  24 +-
 .../mellanox/mlxsw/spectrum_matchall.c        | 278 +++++++++++
 .../selftests/net/forwarding/tc_actions.sh    |  26 +-
 9 files changed, 756 insertions(+), 727 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c

-- 
2.24.1


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

end of thread, other threads:[~2020-04-27 19:43 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-27 15:12 [PATCH net-next 00/13] mlxsw: Rework matchall offloading plumbing Ido Schimmel
2020-04-27 15:12 ` [PATCH net-next 01/13] mlxsw: spectrum_acl: Move block helpers into inline header functions Ido Schimmel
2020-04-27 15:12 ` [PATCH net-next 02/13] mlxsw: spectrum: Rename acl_block to flow_block Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 03/13] mlxsw: spectrum: Push flow_block related functions into a separate file Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 04/13] mlxsw: spectrum: Push matchall bits " Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 05/13] mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del() Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 06/13] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_mirror_add() Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 07/13] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_sample_add() Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 08/13] mlxsw: spectrum_matchall: Move ingress indication into mall_entry Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 09/13] mlxsw: spectrum_matchall: Push per-port rule add/del into separate functions Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 10/13] mlxsw: spectrum: Avoid copying sample values and use RCU pointer direcly instead Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 11/13] mlxsw: spectrum_matchall: Process matchall events from the same cb as flower Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 12/13] mlxsw: spectrum: Move flow offload binding into spectrum_flow.c Ido Schimmel
2020-04-27 15:13 ` [PATCH net-next 13/13] selftests: forwarding: tc_actions.sh: add matchall mirror test Ido Schimmel
2020-04-27 19:43 ` [PATCH net-next 00/13] mlxsw: Rework matchall offloading plumbing David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.