mbox series

[net-next,0/9] mlxsw: spectrum: Enforce some HW limitations for matchall TC offload

Message ID 20200509200610.375719-1-idosch@idosch.org
Headers show
Series mlxsw: spectrum: Enforce some HW limitations for matchall TC offload | expand

Message

Ido Schimmel May 9, 2020, 8:06 p.m. UTC
From: Ido Schimmel <idosch@mellanox.com>

Jiri says:

There are some limitations for TC matchall classifier offload that are
given by the mlxsw HW dataplane. It is not possible to do sampling on
egress and also the mirror/sample vs. ACL (flower) ordering is fixed. So
check this and forbid to offload incorrect setup.

Jiri Pirko (9):
  mlxsw: spectrum_matchall: Restrict sample action to be allowed only on
    ingress
  mlxsw: spectrum_flower: Expose a function to get min and max rule
    priority
  mlxsw: spectrum_matchall: Put matchall list into substruct of flow
    struct
  mlxsw: spectrum_matchall: Expose a function to get min and max rule
    priority
  mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision
    with flower rules
  mlxsw: spectrum_flower: Forbid to insert flower rules in collision
    with matchall rules
  selftests: mlxsw: rename tc_flower_restrictions.sh to
    tc_restrictions.sh
  selftests: mlxsw: tc_restrictions: add test to check sample action
    restrictions
  selftests: mlxsw: tc_restrictions: add couple of test for the correct
    matchall-flower ordering

 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  18 ++-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    |  13 +-
 .../mellanox/mlxsw/spectrum_acl_tcam.c        |  39 +++++-
 .../mellanox/mlxsw/spectrum_acl_tcam.h        |   3 +-
 .../ethernet/mellanox/mlxsw/spectrum_flow.c   |   6 +-
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |  52 +++++++
 .../mellanox/mlxsw/spectrum_matchall.c        |  86 +++++++++++-
 ...wer_restrictions.sh => tc_restrictions.sh} | 132 ++++++++++++++++++
 8 files changed, 332 insertions(+), 17 deletions(-)
 rename tools/testing/selftests/drivers/net/mlxsw/{tc_flower_restrictions.sh => tc_restrictions.sh} (53%)