From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D723C43381 for ; Thu, 28 Feb 2019 18:38:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 14709218D0 for ; Thu, 28 Feb 2019 18:38:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=networkplumber-org.20150623.gappssmtp.com header.i=@networkplumber-org.20150623.gappssmtp.com header.b="UnOdMfzf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387686AbfB1SiW (ORCPT ); Thu, 28 Feb 2019 13:38:22 -0500 Received: from mail-pg1-f179.google.com ([209.85.215.179]:46578 "EHLO mail-pg1-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732473AbfB1SiU (ORCPT ); Thu, 28 Feb 2019 13:38:20 -0500 Received: by mail-pg1-f179.google.com with SMTP id 196so10116844pgf.13 for ; Thu, 28 Feb 2019 10:38:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gxwyN1P3aQ70LEbNrod0skIhsDDiwOwCiO0857vWM50=; b=UnOdMfzfaMaCINYPd9idRrp7vCa00pJhdoEl3EP71RFRGbBkHbjBCfUDC5wQjq+kwj hPSXd/XPufQWMoaSmNhhDgPSJRmZBL1ntFRTwSUI+uhyIUDxkFGj8adoS7eseVSqkZUZ AP3kiVrM3ivwrc0Ae8CKOvoQqEdB8/T/WMSHZluGErbhfawDPDtVwI8ZDhH/e9Yel5VJ h4HRtD4Q/dGTgBC6xonGoyV6timTbiKquZm9Hd/xEdJ6oNkPhVK2X8n2F5qbyjRCDIyM ojoREaU6m5rFRbzP9x5hGtfG2ylGahgsEzot5F0cp6s+nRIjbsZqq9UMFwR5z7GrWfuC PcNQ== 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=gxwyN1P3aQ70LEbNrod0skIhsDDiwOwCiO0857vWM50=; b=l/t6r2826LY7zocTQotFTJ2btkzxAov+tjacnLqc7AT7370STtuP65Za4OhSY00nb4 5mM33/O1UV2jg4y234YkrEhUdgc235Yfykl4mK7T29KvVAj3n5m6u0mz+Jk6ack9uVYO O3Jzp+omRBtC5+UXdqI6xFcdijGFCA9reGnVwj60WWLalIknV0VHxa9iChrDfn3wI6nX 3UpL2kMs1BSAlI0VxJgf7teEugBPGtqC49SB+8ZHPYUoN+pqMc8OgcT69KtGPlkN79h/ l8EMIPWUuIqjiJl+RLuNzFemAUstu9XEPNaycPF+t7glu/zvh03WpIuFxtUX16FZbk/s DPEA== X-Gm-Message-State: APjAAAVXGBp7wHSHu91YiGIa8miJl5VhGffE2t7fkwpNCb2Ka3vhNlsx 34xAloKq0wGMz/hwTmjmKM/dI8cX1jY= X-Google-Smtp-Source: AHgI3Ia99PtFFHRa6m9NWrq5NDnBpMiWNTFOG6ZPnF1euZK8qbXd19LjFjw7LTsstgFMzUWoQHGQJw== X-Received: by 2002:aa7:8847:: with SMTP id k7mr974628pfo.99.1551379099018; Thu, 28 Feb 2019 10:38:19 -0800 (PST) Received: from shemminger-XPS-13-9360.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id c10sm25262702pfo.19.2019.02.28.10.38.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 10:38:18 -0800 (PST) From: Stephen Hemminger X-Google-Original-From: Stephen Hemminger To: netdev@vger.kernel.org Cc: Stephen Hemminger Subject: [RFC 4/6] ixgebvf: report xdp errors through extack Date: Thu, 28 Feb 2019 10:38:07 -0800 Message-Id: <20190228183809.25417-5-sthemmin@microsoft.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190228183809.25417-1-sthemmin@microsoft.com> References: <20190228183809.25417-1-sthemmin@microsoft.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Stephen Hemminger In case of XDP errors report error string through extack. Signed-off-by: Stephen Hemminger --- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 49e23afa05a2..2a3d96a20329 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -4436,7 +4436,8 @@ ixgbevf_features_check(struct sk_buff *skb, struct net_device *dev, return features; } -static int ixgbevf_xdp_setup(struct net_device *dev, struct bpf_prog *prog) +static int ixgbevf_xdp_setup(struct net_device *dev, struct bpf_prog *prog, + struct netlink_ext_ack *extack) { int i, frame_size = dev->mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN; struct ixgbevf_adapter *adapter = netdev_priv(dev); @@ -4446,8 +4447,11 @@ static int ixgbevf_xdp_setup(struct net_device *dev, struct bpf_prog *prog) for (i = 0; i < adapter->num_rx_queues; i++) { struct ixgbevf_ring *ring = adapter->rx_ring[i]; - if (frame_size > ixgbevf_rx_bufsz(ring)) + if (frame_size > ixgbevf_rx_bufsz(ring)) { + NL_SET_ERR_MSG(extack, + "XDP does not support multiple buffers"); return -EINVAL; + } } old_prog = xchg(&adapter->xdp_prog, prog); @@ -4483,12 +4487,13 @@ static int ixgbevf_xdp(struct net_device *dev, struct netdev_bpf *xdp) switch (xdp->command) { case XDP_SETUP_PROG: - return ixgbevf_xdp_setup(dev, xdp->prog); + return ixgbevf_xdp_setup(dev, xdp->prog, xdp->extack); case XDP_QUERY_PROG: xdp->prog_id = adapter->xdp_prog ? adapter->xdp_prog->aux->id : 0; return 0; default: + NL_SET_ERR_MSG(xdp->extack, "Unsupported XDP command"); return -EINVAL; } } -- 2.17.1