From patchwork Thu Nov 2 08:31:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 833255 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=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="bPtZaJt7"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ySJJ14lmkz9t2f for ; Thu, 2 Nov 2017 19:33:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755458AbdKBIdE (ORCPT ); Thu, 2 Nov 2017 04:33:04 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:52641 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755419AbdKBIcZ (ORCPT ); Thu, 2 Nov 2017 04:32:25 -0400 Received: by mail-pg0-f66.google.com with SMTP id a192so4432811pge.9 for ; Thu, 02 Nov 2017 01:32:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Qm6FGrisgTPqnT1lMT91hOn9931A7WLuJyfeJ5PO1VE=; b=bPtZaJt7lDQkQzrrW43PwLEcguJ44wNYqjmLXg7qJi/X7TqeOXCRR0uO6+6QBqI9oJ 7CiBR5aHKtrljJF/OvOeaWw7eWoF+l8hW0VK7GvQ9xOLFjdX34TgAgyOnNoYl6r9pFin U7g5qdpErN2ZNYvGgfjjO/WjcHEYA2qVZvgioD8eJVOQNhzvJF9h5qws3+Gy041TtJs2 q4SDJQ46EMpNRO2Jwy00ZVERDRBTVbNOHZl4uICFJ56J5oaXlY8DMbTjdDgC2zRADyyj l/Sw0/Lb9bExWjANVphbrc2Moa3anhbUQDSXGAumweydQoTjShyLxkY+cnjAxGBdPdSF 1VcA== 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=Qm6FGrisgTPqnT1lMT91hOn9931A7WLuJyfeJ5PO1VE=; b=I0i8jyjJ24Jcrd2BlMNTpIBu/20bFq7p02L7MhoDFsw3r6/O791Ef7KjbGTa7DnkKn K32wczNIWYWN1aHvHrvvG9euPYhUx3m5Ykt1eFpu3bnbQ3zpPfpj9/tMywPKx+ymjMCl s6ZGsuYsyAsIPaNKIk4XzAxgzhtUbNeFxhXAl72/wjnf3Bd1XViJxMAOFFQB5kfmpRp7 Lr4VjkFZLtaylDMBf8u2SMUnQBJPj2IyMrxhMjLR/pGsxbsxV54piZ/B3c/3++ie5AEp x4vZFTmvQLjK3vbeRRcT0sljr/k4yl358A5mMbYYDxmN683Uyb3IeZnqtVQKHoQ9qE+K orzA== X-Gm-Message-State: AMCzsaUXKQIsX8+O/hesc6GHmIQRF5zeK5ssuFe2istmg+QTejHutU4j gMt3WZpLSfGPojct1qpXts+/T7q9 X-Google-Smtp-Source: ABhQp+ReCv+iEL8I+F3bmrckssfrqmDdk4vCbT04WGK8/93sizI7M9/NkC1c3AeDzP+fiAROBKKLpw== X-Received: by 10.98.70.78 with SMTP id t75mr2967271pfa.6.1509611544280; Thu, 02 Nov 2017 01:32:24 -0700 (PDT) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id z13sm5390484pgc.29.2017.11.02.01.32.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Nov 2017 01:32:23 -0700 (PDT) From: Jakub Kicinski To: netdev@vger.kernel.org Cc: oss-drivers@netronome.com, Jakub Kicinski Subject: [PATCH net-next 3/8] nfp: bpf: reject TC offload if XDP loaded Date: Thu, 2 Nov 2017 01:31:31 -0700 Message-Id: <20171102083136.2096-4-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171102083136.2096-1-jakub.kicinski@netronome.com> References: <20171102083136.2096-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Recent TC changes dropped the check protecting us from trying to offload a TC program if XDP programs are already loaded. Fixes: 90d97315b3e7 ("nfp: bpf: Convert ndo_setup_tc offloads to block callbacks") Signed-off-by: Jakub Kicinski Reviewed-by: Simon Horman --- drivers/net/ethernet/netronome/nfp/bpf/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/netronome/nfp/bpf/main.c b/drivers/net/ethernet/netronome/nfp/bpf/main.c index 04424db24b80..8e3e89cace8d 100644 --- a/drivers/net/ethernet/netronome/nfp/bpf/main.c +++ b/drivers/net/ethernet/netronome/nfp/bpf/main.c @@ -130,6 +130,9 @@ static int nfp_bpf_setup_tc_block_cb(enum tc_setup_type type, cls_bpf->common.protocol != htons(ETH_P_ALL) || cls_bpf->common.chain_index) return -EOPNOTSUPP; + if (nn->dp.bpf_offload_xdp) + return -EBUSY; + return nfp_net_bpf_offload(nn, cls_bpf); default: return -EOPNOTSUPP;