From patchwork Mon Aug 7 08:15:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 798511 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="N3993Yat"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xQr2S4lgXz9s7g for ; Mon, 7 Aug 2017 18:16:00 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752677AbdHGIP6 (ORCPT ); Mon, 7 Aug 2017 04:15:58 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33361 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752419AbdHGIPw (ORCPT ); Mon, 7 Aug 2017 04:15:52 -0400 Received: by mail-wm0-f66.google.com with SMTP id q189so152543wmd.0 for ; Mon, 07 Aug 2017 01:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Kp9MBPHZZVByvYRGnIy9PXFpya1+SKMGJXMA2o3rl3Q=; b=N3993YatdJBUt3LdrzQEZwU9Md4xKMOkzTRN+0qxa5Kx3e3vHF4CDsmoVg5WxhZLKt Qg20X+y83FK5XjhD4fCE0sJdbcG1+2khqOannn6NQSD4icT5zs/vchm+L0uxUYQx/JTb hOYzm3seyBdL7X0hU3oKAA7pVtadMygOYxfRsqrde7jSr05Ew6JlCSpogKG+RyoGcl1i 8j/h7s6fB8kDRXRJNODYZ/wvXH/flOMj3zvRC8eItppISMJGh8A3BAPJokQnNqcvnIUY +P2iJrdyz6tqTJTf3vNuh973/1rvIY0ZbeIen2rN1g3PgIX16EBwJVR7ff042FuUqyXl enGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Kp9MBPHZZVByvYRGnIy9PXFpya1+SKMGJXMA2o3rl3Q=; b=PMeLEyBFJHSaK9B0znzFZ8UWQh3drw+sWNOqA+6NZlf2YnZWl8kHpiWCWFduHXI0FR gTGMDfkoXRjQB1USl6k47hF7K9c2LkTD3ICuDRAURWO6+pWN0t9DUlkl7f0vWqrr9MeQ /EtTZDjTTsG0OMjT54XeXrN3I1uU7OH6gQp/FE3hK2JrKXHdK607525ItaxBoQjJhJ8U W7tqgZXSn6kk6TiUxjKsZBr8XCN/5pEYsOYmoDVDuf/xIBXbF7PMgg04aEvoG5gce4Sp QgrPQAKxZ0oDx9qiIgdmPU59X94vJ2t9bdRoAPGsTJkn/dYc0tpy9Wwfs4N+/aGG4lj2 RDKA== X-Gm-Message-State: AHYfb5gGswVlYduSUHuSg+9u/mfb1zMRbhquQwuEVjx+CAtzrJwdzsRo 2d6dxPmsy10O9U9xx+c= X-Received: by 10.28.238.130 with SMTP id j2mr68380wmi.141.1502093750882; Mon, 07 Aug 2017 01:15:50 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id p20sm12216252wmg.10.2017.08.07.01.15.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 07 Aug 2017 01:15:50 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, jhs@mojatatu.com, xiyou.wangcong@gmail.com, daniel@iogearbox.net, mlxsw@mellanox.com, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, simon.horman@netronome.com, pieter.jansenvanvuuren@netronome.com, dirk.vandermerwe@netronome.com, alexander.h.duyck@intel.com, amritha.nambiar@intel.com, oss-drivers@netronome.com, yisen.zhuang@huawei.com, salil.mehta@huawei.com Subject: [patch net-next v2 11/16] nfp: change flows in apps that offload ndo_setup_tc Date: Mon, 7 Aug 2017 10:15:27 +0200 Message-Id: <20170807081532.32760-12-jiri@resnulli.us> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170807081532.32760-1-jiri@resnulli.us> References: <20170807081532.32760-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Change the flows a bit in preparation of follow-up changes in ndo_setup_tc args. Also, change the error code to align with the rest of the drivers. Signed-off-by: Jiri Pirko Acked-by: Jamal Hadi Salim --- drivers/net/ethernet/netronome/nfp/bpf/main.c | 16 ++++++---------- drivers/net/ethernet/netronome/nfp/flower/offload.c | 10 +++------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/bpf/main.c b/drivers/net/ethernet/netronome/nfp/bpf/main.c index 7888808..d7975dc 100644 --- a/drivers/net/ethernet/netronome/nfp/bpf/main.c +++ b/drivers/net/ethernet/netronome/nfp/bpf/main.c @@ -126,19 +126,15 @@ static int nfp_bpf_setup_tc(struct nfp_app *app, struct net_device *netdev, { struct nfp_net *nn = netdev_priv(netdev); - if (TC_H_MAJ(handle) != TC_H_MAJ(TC_H_INGRESS)) - return -EOPNOTSUPP; - if (proto != htons(ETH_P_ALL)) + if (type != TC_SETUP_CLSBPF || !nfp_net_ebpf_capable(nn) || + TC_H_MAJ(handle) != TC_H_MAJ(TC_H_INGRESS) || + proto != htons(ETH_P_ALL)) return -EOPNOTSUPP; - if (type == TC_SETUP_CLSBPF && nfp_net_ebpf_capable(nn)) { - if (!nn->dp.bpf_offload_xdp) - return nfp_net_bpf_offload(nn, tc->cls_bpf); - else - return -EBUSY; - } + if (nn->dp.bpf_offload_xdp) + return -EBUSY; - return -EINVAL; + return nfp_net_bpf_offload(nn, tc->cls_bpf); } static bool nfp_bpf_tc_busy(struct nfp_app *app, struct nfp_net *nn) diff --git a/drivers/net/ethernet/netronome/nfp/flower/offload.c b/drivers/net/ethernet/netronome/nfp/flower/offload.c index d045cf8..58af438 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/offload.c +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c @@ -388,14 +388,10 @@ int nfp_flower_setup_tc(struct nfp_app *app, struct net_device *netdev, enum tc_setup_type type, u32 handle, __be16 proto, struct tc_to_netdev *tc) { - if (TC_H_MAJ(handle) != TC_H_MAJ(TC_H_INGRESS)) + if (type != TC_SETUP_CLSFLOWER || + TC_H_MAJ(handle) != TC_H_MAJ(TC_H_INGRESS) || + !eth_proto_is_802_3(proto)) return -EOPNOTSUPP; - if (!eth_proto_is_802_3(proto)) - return -EOPNOTSUPP; - - if (type != TC_SETUP_CLSFLOWER) - return -EINVAL; - return nfp_flower_repr_offload(app, netdev, tc->cls_flower); }