From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [RFC net-next 3/8] nfp: flower: use tc_can_offload_cls() Date: Tue, 23 Jan 2018 13:33:35 -0800 Message-ID: <20180123213340.19235-4-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]:45117 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752605AbeAWVd4 (ORCPT ); Tue, 23 Jan 2018 16:33:56 -0500 Received: by mail-pg0-f67.google.com with SMTP id m136so1177837pga.12 for ; Tue, 23 Jan 2018 13:33:56 -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/netronome/nfp/flower/offload.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/flower/offload.c b/drivers/net/ethernet/netronome/nfp/flower/offload.c index 837134a9137c..74851d02c8b2 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/offload.c +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c @@ -483,8 +483,9 @@ static int nfp_flower_repr_offload(struct nfp_app *app, struct net_device *netdev, struct tc_cls_flower_offload *flower, bool egress) { - if (!eth_proto_is_802_3(flower->common.protocol) || - flower->common.chain_index) + if (!tc_can_offload_cls(netdev, &flower->common)) + return -EOPNOTSUPP; + if (!eth_proto_is_802_3(flower->common.protocol)) return -EOPNOTSUPP; switch (flower->command) { @@ -504,9 +505,6 @@ int nfp_flower_setup_tc_egress_cb(enum tc_setup_type type, void *type_data, { struct nfp_repr *repr = cb_priv; - if (!tc_can_offload(repr->netdev)) - return -EOPNOTSUPP; - switch (type) { case TC_SETUP_CLSFLOWER: return nfp_flower_repr_offload(repr->app, repr->netdev, @@ -521,9 +519,6 @@ static int nfp_flower_setup_tc_block_cb(enum tc_setup_type type, { struct nfp_repr *repr = cb_priv; - if (!tc_can_offload(repr->netdev)) - return -EOPNOTSUPP; - switch (type) { case TC_SETUP_CLSFLOWER: return nfp_flower_repr_offload(repr->app, repr->netdev, -- 2.15.1