]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net/mlx5e: TC, Reject rules with forward and drop actions
authorRoi Dayan <roid@nvidia.com>
Mon, 17 Jan 2022 13:00:30 +0000 (15:00 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 2 Feb 2022 04:59:40 +0000 (20:59 -0800)
Such rules are redundant but allowed and passed to the driver.
The driver does not support offloading such rules so return an error.

Fixes: 03a9d11e6eeb ("net/mlx5e: Add TC drop and mirred/redirect action parsing for SRIOV offloads")
Signed-off-by: Roi Dayan <roid@nvidia.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index 671f76c350db6611e4f4c59a00479977e99a6dfb..4c6e3c26c1abb76ea9521985804a47131e0667aa 100644 (file)
@@ -3191,6 +3191,12 @@ actions_match_supported(struct mlx5e_priv *priv,
                return false;
        }
 
+       if (!(~actions &
+             (MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_DROP))) {
+               NL_SET_ERR_MSG_MOD(extack, "Rule cannot support forward+drop action");
+               return false;
+       }
+
        if (actions & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR &&
            actions & MLX5_FLOW_CONTEXT_ACTION_DROP) {
                NL_SET_ERR_MSG_MOD(extack, "Drop with modify header action is not supported");