Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp843151yba; Wed, 24 Apr 2019 10:29:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqyoqN6fgTdI8N2aOzjuatA+Jiso2mBaFxn3z349iNh36A53XwSNPHWcEAeCJBFIWh5ppYQC X-Received: by 2002:a17:902:7893:: with SMTP id q19mr34306595pll.154.1556126962483; Wed, 24 Apr 2019 10:29:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556126962; cv=none; d=google.com; s=arc-20160816; b=nnZ67tK4moOV2phIV6bsDnwZ5TMMsrCV0ujxZ/VaqPsNsiaqGPTu8kiaZQSYSYzbdG r4j8lToRShyaQw9J7TeIIW1fLEx8re5xJANsJDhJ5K2cqsmM0gmQtF/Sqhj2oXjD32p8 I/ce78TvxLJ44ISOGp5EAxxYvDBAVPV5ljNOHEzdxCOl+gRGB93xMN2TLad5ADA8hqy3 wb8qPizjHmrwrUt4F2HrXp6HI6l8Juu6ffkVr/7Gcb2R92p1CIuMxG4TtHRVox6k9WHD 4c8ST2YcVRr9lZxlZgKL+3L1PaLfSBGlAOla/4XlMZB5YcfwJUoyxxDSVSbmnQ6d0ULd FrNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=JrnCUt8UjS7ut2LxKyWRxVub1cJGL5c3EkJ2wCHPn0M=; b=SvqOvSQZqeEWhdXb5sXCmyxql9951kQEiAYvSpekxu1AeDYebWCAsModQsi6dcZiFW z03KEJA4RkCx+Bop2fBwfboz2KnRoRMH6FxkzFxLyE2MSFc/1x8sa7wKvVIufFg32tyi JLiYR6Xnk1JLanri40r0dGMMAjbMy8D5iCvqYYacgCjHm4drcM9kb30Y7s12xM1yaOiy XxsNFMKowB1v8+YdTFjle4YbDW2ZgMXkjx8G8AIyKpiQVunaw+PvPZyW51fXQ63Pz0V9 NcjiPNBFa6/M1DON4HGnZbrHsMCsp2h9rXQQV6oYbCDYV690dz9OIH0edgkQMM6TUHTm VMLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zZJZoHQy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 134si18601858pga.249.2019.04.24.10.29.07; Wed, 24 Apr 2019 10:29:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zZJZoHQy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390178AbfDXR0T (ORCPT + 99 others); Wed, 24 Apr 2019 13:26:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:52144 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390169AbfDXR0M (ORCPT ); Wed, 24 Apr 2019 13:26:12 -0400 Received: from localhost (62-193-50-229.as16211.net [62.193.50.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 17BB5206BA; Wed, 24 Apr 2019 17:26:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556126771; bh=aWDgZ1ZkB58kfQsuASQL7ZzpZ2LQFvm9YX4FzT5Ia3s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zZJZoHQyQ1IwmyQZUpvRXmJHp0oT1dEgMBXu8iF8y/P9SI+DoQer6twhee3jtlhAm eQflCgMIK/g4gIbI3+9rZkVsNw+DVPURu9ZaQIj/RcS2cIdZ1MV5/0jKqn6l1ciZ+s 5Zh1OyCX/0bv5Q2frv1XjgLaJbt3YbCmyEkaW0+s= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Matteo Croce , Jesper Dangaard Brouer , "David S. Miller" Subject: [PATCH 4.14 11/70] net: thunderx: raise XDP MTU to 1508 Date: Wed, 24 Apr 2019 19:09:31 +0200 Message-Id: <20190424170908.927531295@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190424170906.751869122@linuxfoundation.org> References: <20190424170906.751869122@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Matteo Croce [ Upstream commit 5ee15c101f29e0093ffb5448773ccbc786eb313b ] The thunderx driver splits frames bigger than 1530 bytes to multiple pages, making impossible to run an eBPF program on it. This leads to a maximum MTU of 1508 if QinQ is in use. The thunderx driver forbids to load an eBPF program if the MTU is higher than 1500 bytes. Raise the limit to 1508 so it is possible to use L2 protocols which need some more headroom. Fixes: 05c773f52b96e ("net: thunderx: Add basic XDP support") Signed-off-by: Matteo Croce Acked-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -29,6 +29,13 @@ #define DRV_NAME "thunder-nicvf" #define DRV_VERSION "1.0" +/* NOTE: Packets bigger than 1530 are split across multiple pages and XDP needs + * the buffer to be contiguous. Allow XDP to be set up only if we don't exceed + * this value, keeping headroom for the 14 byte Ethernet header and two + * VLAN tags (for QinQ) + */ +#define MAX_XDP_MTU (1530 - ETH_HLEN - VLAN_HLEN * 2) + /* Supported devices */ static const struct pci_device_id nicvf_id_table[] = { { PCI_DEVICE_SUB(PCI_VENDOR_ID_CAVIUM, @@ -1702,8 +1709,10 @@ static int nicvf_xdp_setup(struct nicvf bool bpf_attached = false; int ret = 0; - /* For now just support only the usual MTU sized frames */ - if (prog && (dev->mtu > 1500)) { + /* For now just support only the usual MTU sized frames, + * plus some headroom for VLAN, QinQ. + */ + if (prog && dev->mtu > MAX_XDP_MTU) { netdev_warn(dev, "Jumbo frames not yet supported with XDP, current MTU %d.\n", dev->mtu); return -EOPNOTSUPP;