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,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 D3CC3C43381 for ; Thu, 28 Feb 2019 21:54:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9324920675 for ; Thu, 28 Feb 2019 21:54:56 +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="k3iirHEx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733042AbfB1Vyz (ORCPT ); Thu, 28 Feb 2019 16:54:55 -0500 Received: from mail-pf1-f174.google.com ([209.85.210.174]:39068 "EHLO mail-pf1-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732403AbfB1Vyw (ORCPT ); Thu, 28 Feb 2019 16:54:52 -0500 Received: by mail-pf1-f174.google.com with SMTP id i20so10354405pfo.6 for ; Thu, 28 Feb 2019 13:54:51 -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=kWLaXnp5zzgGOn86+/sli4ErpeNtxdY1w0PTKsT8v90=; b=k3iirHExANs/OgAc6ey9uvwSB9kDaKv2t8tJZ9vjyZ83g7MSwzeL6AhbIhQomr+Utm F/xwrzBX6sgaA80nDYn9CUXAQ7MJ0hCUhWRUFred3XF8aXB7RnahGVMzNr7P67iZWNyC L9X7sY9bDgbPiU9NaaSkqYiKuMjTb7TfncaKN4T+FosVZsHCjByf2A5WmRTSnQswDUvW NX7hMD1qDRehLm+zGPNuCNOiPFZChDPf23HkwrsJ+ngQCSpKI8ayMvXFq4QWW+2veLDx 1s+rusp+H06m2MzO6kwXqSVGJ+CdoN773KxxfOt8MQFYQf+ZuwSFcYTC179vrNXk8Ae8 5Vrg== 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=kWLaXnp5zzgGOn86+/sli4ErpeNtxdY1w0PTKsT8v90=; b=uCQU0wUgLxlGSN4g2QRKwCVLBpUftFQBa1OljA8ys4sEGwvpgKbzUiWZ60tu1T+dps gpJlADlHVTv+LPjuBAN0+pDfpi4XA9X0Vwo9fELcxmK5neur8Lk1r5Y7R2UUXONEiHup PcmxSCc07fK1jI5XwPzdfD0OO1G8zk9caVY/1phuM7L3U3GRZdITWXqrnjzbsnrx7wCg 0XyqHneuixldlgwU8s98neYp615QZ6Gz0Mvc1mRxaemg1HYQ9qRn6FJeSQhdhjjp/qqb c++ye9I5/G9Q2NoF0oCC42U07Op+mfebIeTitORKJG0JZblJdRwkEzGBPWxmols8M/n3 yOSw== X-Gm-Message-State: APjAAAVde0V6CQk3wTb8GD/3GcRCeSaEpIH1/a1yglq5RR+nZd0i58bb 56b6FdGJ3piM57+DnnmXKXIUURA8Na0= X-Google-Smtp-Source: APXvYqzQ9yHq0qe1MUoapnNbjgyzHhwBuFFw03DvMq2ruJzH3NiN7/kogjLwFJ5T41Kw/nqA8V9slQ== X-Received: by 2002:a63:516:: with SMTP id 22mr1273971pgf.353.1551390890908; Thu, 28 Feb 2019 13:54:50 -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 b138sm40078643pfb.48.2019.02.28.13.54.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 13:54:49 -0800 (PST) From: Stephen Hemminger To: netdev@vger.kernel.org Cc: Stephen Hemminger Subject: [RFC v2 4/6] ixgebvf: report xdp errors through extack Date: Thu, 28 Feb 2019 13:54:39 -0800 Message-Id: <20190228215441.28275-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190228215441.28275-1-stephen@networkplumber.org> References: <20190228215441.28275-1-stephen@networkplumber.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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..c8c96adc032d 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_MOD(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_MOD(xdp->extack, "Unsupported XDP command"); return -EINVAL; } } -- 2.17.1