diff options
author | Petr Machata <petrm@mellanox.com> | 2020-03-19 15:47:23 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-19 21:09:20 -0700 |
commit | 463957e3fbab36eb256a46c9a99e7d4c28311420 (patch) | |
tree | 07225daaf6878b865b44932770d19a0fc3423b33 /drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c | |
parent | mlxsw: core: Add QOS_ACTION (diff) | |
download | linux-dev-463957e3fbab36eb256a46c9a99e7d4c28311420.tar.xz linux-dev-463957e3fbab36eb256a46c9a99e7d4c28311420.zip |
mlxsw: spectrum_flower: Offload FLOW_ACTION_PRIORITY
Offload action skbedit priority when keyed to a flower classifier. The
skb->priority field in Linux is very generic, so only allow setting the
bottom 8 priorities and bounce anything else.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c index fbb76377adf8..c713bc22da7d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c @@ -1273,6 +1273,24 @@ mlxsw_afa_qos_switch_prio_pack(char *payload, mlxsw_afa_qos_switch_prio_set(payload, prio); } +int mlxsw_afa_block_append_qos_switch_prio(struct mlxsw_afa_block *block, + u8 prio, + struct netlink_ext_ack *extack) +{ + char *act = mlxsw_afa_block_append_action(block, + MLXSW_AFA_QOS_CODE, + MLXSW_AFA_QOS_SIZE); + + if (IS_ERR(act)) { + NL_SET_ERR_MSG_MOD(extack, "Cannot append QOS action"); + return PTR_ERR(act); + } + mlxsw_afa_qos_switch_prio_pack(act, MLXSW_AFA_QOS_CMD_SET, + prio); + return 0; +} +EXPORT_SYMBOL(mlxsw_afa_block_append_qos_switch_prio); + /* Forwarding Action * ----------------- * Forwarding Action can be used to implement Policy Based Switching (PBS) |