Message ID | 20230205154934.22040-5-paulb@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net/sched: cls_api: Support hardware miss to tc action | expand |
On Sun, 2023-02-05 at 17:49 +0200, Paul Blakey wrote: > Tc skb extension is a basic requirement for using tc > offload to support correct restoration on action miss. > > Depend on it. > > Signed-off-by: Paul Blakey <paulb@nvidia.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 2 +- > drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c | 2 -- > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 -- > 3 files changed, 1 insertion(+), 5 deletions(-) > So one question I had is what about the use of the SKB_EXT check in mlx5/core/en_tc.h? Seems like you could remove that one as well since it is wrapped in a check for MLX5_CLS_ACT before the check for NET_TC_SKB_EXT.
On 06/02/2023 17:40, Alexander H Duyck wrote: > On Sun, 2023-02-05 at 17:49 +0200, Paul Blakey wrote: >> Tc skb extension is a basic requirement for using tc >> offload to support correct restoration on action miss. >> >> Depend on it. >> >> Signed-off-by: Paul Blakey <paulb@nvidia.com> >> --- >> drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 2 +- >> drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c | 2 -- >> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 -- >> 3 files changed, 1 insertion(+), 5 deletions(-) >> > > So one question I had is what about the use of the SKB_EXT check in > mlx5/core/en_tc.h? Seems like you could remove that one as well since > it is wrapped in a check for MLX5_CLS_ACT before the check for > NET_TC_SKB_EXT. Good catch, ill remove it. Thanks.
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig index 26685fd0fdaa..20447b13c6bc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig +++ b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig @@ -85,7 +85,7 @@ config MLX5_BRIDGE config MLX5_CLS_ACT bool "MLX5 TC classifier action support" - depends on MLX5_ESWITCH && NET_CLS_ACT + depends on MLX5_ESWITCH && NET_CLS_ACT && NET_TC_SKB_EXT default y help mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT), diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c index b08339d986d5..fcb4cf526727 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c @@ -762,7 +762,6 @@ static bool mlx5e_restore_skb_chain(struct sk_buff *skb, u32 chain, u32 reg_c1, struct mlx5e_priv *priv = netdev_priv(skb->dev); u32 tunnel_id = (reg_c1 >> ESW_TUN_OFFSET) & TUNNEL_ID_MASK; -#if IS_ENABLED(CONFIG_NET_TC_SKB_EXT) if (chain) { struct mlx5_rep_uplink_priv *uplink_priv; struct mlx5e_rep_priv *uplink_rpriv; @@ -784,7 +783,6 @@ static bool mlx5e_restore_skb_chain(struct sk_buff *skb, u32 chain, u32 reg_c1, zone_restore_id)) return false; } -#endif /* CONFIG_NET_TC_SKB_EXT */ return mlx5e_restore_tunnel(priv, skb, tc_priv, tunnel_id); } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 4e6f5caf8ab6..b173c7e9e553 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -5565,7 +5565,6 @@ int mlx5e_setup_tc_block_cb(enum tc_setup_type type, void *type_data, bool mlx5e_tc_update_skb(struct mlx5_cqe64 *cqe, struct sk_buff *skb) { -#if IS_ENABLED(CONFIG_NET_TC_SKB_EXT) u32 chain = 0, chain_tag, reg_b, zone_restore_id; struct mlx5e_priv *priv = netdev_priv(skb->dev); struct mlx5_mapped_obj mapped_obj; @@ -5603,7 +5602,6 @@ bool mlx5e_tc_update_skb(struct mlx5_cqe64 *cqe, netdev_dbg(priv->netdev, "Invalid mapped object type: %d\n", mapped_obj.type); return false; } -#endif /* CONFIG_NET_TC_SKB_EXT */ return true; }
Tc skb extension is a basic requirement for using tc offload to support correct restoration on action miss. Depend on it. Signed-off-by: Paul Blakey <paulb@nvidia.com> --- drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c | 2 -- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-)