From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [RFC net-next 6/8] mlx5: use tc_can_offload_cls() Date: Tue, 23 Jan 2018 13:33:38 -0800 Message-ID: <20180123213340.19235-7-jakub.kicinski@netronome.com> References: <20180123213340.19235-1-jakub.kicinski@netronome.com> Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, dsahern@gmail.com, Jakub Kicinski To: jiri@resnulli.us Return-path: Received: from mail-pg0-f67.google.com ([74.125.83.67]:34025 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752605AbeAWVeA (ORCPT ); Tue, 23 Jan 2018 16:34:00 -0500 Received: by mail-pg0-f67.google.com with SMTP id r19so1193536pgn.1 for ; Tue, 23 Jan 2018 13:34:00 -0800 (PST) In-Reply-To: <20180123213340.19235-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: Make use of tc_can_offload_cls() to report error in case ethtool tc offload flag is not set or chain unsupported. Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +---- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 8530c770c873..6e4273a3da9b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -2944,7 +2944,7 @@ static int mlx5e_setup_tc_mqprio(struct net_device *netdev, static int mlx5e_setup_tc_cls_flower(struct mlx5e_priv *priv, struct tc_cls_flower_offload *cls_flower) { - if (cls_flower->common.chain_index) + if (!tc_can_offload_cls(priv->netdev, &cls_flower->common)) return -EOPNOTSUPP; switch (cls_flower->command) { @@ -2964,9 +2964,6 @@ int mlx5e_setup_tc_block_cb(enum tc_setup_type type, void *type_data, { struct mlx5e_priv *priv = cb_priv; - if (!tc_can_offload(priv->netdev)) - return -EOPNOTSUPP; - switch (type) { case TC_SETUP_CLSFLOWER: return mlx5e_setup_tc_cls_flower(priv, type_data); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c index 10fa6a18fcf9..db05e8220e05 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -719,7 +719,7 @@ static int mlx5e_rep_setup_tc_cls_flower(struct mlx5e_priv *priv, struct tc_cls_flower_offload *cls_flower) { - if (cls_flower->common.chain_index) + if (!tc_can_offload_cls(priv->netdev, &cls_flower->common)) return -EOPNOTSUPP; switch (cls_flower->command) { @@ -739,9 +739,6 @@ static int mlx5e_rep_setup_tc_cb(enum tc_setup_type type, void *type_data, { struct mlx5e_priv *priv = cb_priv; - if (!tc_can_offload(priv->netdev)) - return -EOPNOTSUPP; - switch (type) { case TC_SETUP_CLSFLOWER: return mlx5e_rep_setup_tc_cls_flower(priv, type_data); -- 2.15.1