[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200319134724.1036942-1-idosch@idosch.org>
Date: Thu, 19 Mar 2020 15:47:19 +0200
From: Ido Schimmel <idosch@...sch.org>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, jiri@...lanox.com,
jhs@...atatu.com, xiyou.wangcong@...il.com, petrm@...lanox.com,
mlxsw@...lanox.com, Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 0/5] mlxsw: Offload TC action skbedit priority
From: Ido Schimmel <idosch@...lanox.com>
Petr says:
The TC action "skbedit priority P" has the effect of assigning skbprio of P
to SKBs that it's applied on. In HW datapath of a switch, the corresponding
action is assignment of internal switch priority. Spectrum switches allow
setting of packet priority based on an ACL action, which is good match for
the skbedit priority gadget. This patchset therefore implements offloading
of this action to the Spectrum ACL engine.
After a bit of refactoring in patch #1, patch #2 extends the skbedit action
to support offloading of "priority" subcommand.
On mlxsw side, in patch #3, the QOS_ACTION flexible action is added, with
fields necessary for priority adjustment. In patch #4, "skbedit priority"
is connected to that action.
Patch #5 implements a new forwarding selftest, suitable for both SW- and
HW-datapath testing.
Petr Machata (5):
net: tc_skbedit: Factor a helper out of is_tcf_skbedit_{mark, ptype}()
net: tc_skbedit: Make the skbedit priority offloadable
mlxsw: core: Add QOS_ACTION
mlxsw: spectrum_flower: Offload FLOW_ACTION_PRIORITY
selftests: forwarding: Add an skbedit priority selftest
.../mellanox/mlxsw/core_acl_flex_actions.c | 53 ++++++
.../mellanox/mlxsw/core_acl_flex_actions.h | 3 +
.../net/ethernet/mellanox/mlxsw/spectrum.h | 3 +
.../ethernet/mellanox/mlxsw/spectrum_acl.c | 17 ++
.../ethernet/mellanox/mlxsw/spectrum_flower.c | 4 +
include/net/flow_offload.h | 2 +
include/net/tc_act/tc_skbedit.h | 41 +++--
net/sched/cls_api.c | 3 +
.../net/forwarding/skbedit_priority.sh | 163 ++++++++++++++++++
9 files changed, 275 insertions(+), 14 deletions(-)
create mode 100755 tools/testing/selftests/net/forwarding/skbedit_priority.sh
--
2.24.1
Powered by blists - more mailing lists