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),
 
 config MLX5_TC_CT
        bool "MLX5 TC connection tracking offload support"
-       depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
+       depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT
        default y
        help
          Say Y here if you want to support offloading connection tracking rules
 
        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;
                                              zone_restore_id))
                        return false;
        }
-#endif /* CONFIG_NET_TC_SKB_EXT */
 
        return mlx5e_restore_tunnel(priv, skb, tc_priv, tunnel_id);
 }
 
        const char *err_msg = NULL;
        int err = 0;
 
-#if !IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
-       /* cannot restore chain ID on HW miss */
-
-       err_msg = "tc skb extension missing";
-       err = -EOPNOTSUPP;
-       goto out_err;
-#endif
        if (IS_ERR_OR_NULL(post_act)) {
                /* Ignore_flow_level support isn't supported by default for VFs and so post_act
                 * won't be supported. Skip showing error msg.
 
 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;
                netdev_dbg(priv->netdev, "Invalid mapped object type: %d\n", mapped_obj.type);
                return false;
        }
-#endif /* CONFIG_NET_TC_SKB_EXT */
 
        return true;
 }
 
 void mlx5e_tc_table_free(struct mlx5e_tc_table *tc);
 static inline bool mlx5e_cqe_regb_chain(struct mlx5_cqe64 *cqe)
 {
-#if IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
        u32 chain, reg_b;
 
        reg_b = be32_to_cpu(cqe->ft_metadata);
        chain = reg_b & MLX5E_TC_TABLE_CHAIN_TAG_MASK;
        if (chain)
                return true;
-#endif
 
        return false;
 }