From patchwork Tue Jan 12 16:10:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 566620 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id A75B11402B4; Wed, 13 Jan 2016 03:11:07 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical-com.20150623.gappssmtp.com header.i=@canonical-com.20150623.gappssmtp.com header.b=hmb+sLo6; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1aJ1XD-0000CQ-EV; Tue, 12 Jan 2016 16:11:03 +0000 Received: from mail-pf0-f181.google.com ([209.85.192.181]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.76) (envelope-from ) id 1aJ1Wx-0008U2-Pr for kernel-team@lists.ubuntu.com; Tue, 12 Jan 2016 16:10:47 +0000 Received: by mail-pf0-f181.google.com with SMTP id e65so65184440pfe.0 for ; Tue, 12 Jan 2016 08:10:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=VstaRmO4sACyNtI15LA7lOPQTq0NiSReQnD6gOb2MZU=; b=hmb+sLo6TCMO3StnUXST95jT4X5w0jc6WhqbeNBTfko5izG3fM49coRGCMeeKMF7d6 I3FuFzoSSr5y9uEC7qKh1xP/3r0H1KcI66O10A8fxpwBDzgBDixoYhdMSh7TcP7436/y jEOwmSiPP8gD2HLnkvOqhhXbENBFhjYp6tGBWISb6u1bBmyblpZGYbxq9RnEIgwQ7gHb jMzFNieOUiLfZHhyCQ2QdqlJKniTMPntJPJOz7UUuhRY9Q9Hulsl32D0n14GaeAR+MTi QM7x2cvMky/o0iSQyXCY72S0gcaKIQqcAOcaDWPdjvCBrG8toeDxnJhcZypDy2RGMy5T L4mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=VstaRmO4sACyNtI15LA7lOPQTq0NiSReQnD6gOb2MZU=; b=l1fe1rF3J6hWeSZVgch19nDsH3+Y8iVMUG6dq8EBYORwVK4Yhh/tp84V6quD8QYkDu AIkrnAXtmbbxaUO2IJ0gdmsOpGu5QyE2QZuwX2M/ZN1GM1rtZzdrkVn1cgGTPH5c7u/j 8sSEJbeBl+3xUZvoOsbJz02xjQNrVM2jXeCcO9iubf7MWgkq528lRyb1FrB9c2H7NjNU uCRAoq+w2etcZZ5ZALDk3ApW4tBnoeKDGBwLcz8AIELCvGHEr9PYGhynvR44E7TPeIU3 Y0/gz7iEmamAff5+cw1XoM4bBysDN0DHaOSvM1LI/iNmAhGZVW9N8X4DskKLe5pE9izw Sf4Q== X-Gm-Message-State: ALoCoQmL3biHmGOqBY2n4s0nOc1HKptebngSY86BrvO9tnGBDOvFIGVBKULCAnVI8uVR7ubBPhtVZ5ih8oQF/m/OaqGELlbkwQ== X-Received: by 10.98.44.195 with SMTP id s186mr36009285pfs.0.1452615046502; Tue, 12 Jan 2016 08:10:46 -0800 (PST) Received: from localhost.localdomain (host-174-45-44-32.hln-mt.client.bresnan.net. [174.45.44.32]) by smtp.gmail.com with ESMTPSA id r26sm23034732pfb.21.2016.01.12.08.10.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 12 Jan 2016 08:10:45 -0800 (PST) From: tim.gardner@canonical.com To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/3 Wily SRU] net/mlx5e: Fix LSO vlan insertion Date: Tue, 12 Jan 2016 09:10:33 -0700 Message-Id: <1452615034-24552-2-git-send-email-tim.gardner@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452615034-24552-1-git-send-email-tim.gardner@canonical.com> References: <1452615034-24552-1-git-send-email-tim.gardner@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Achiad Shochat BugLink: http://bugs.launchpad.net/bugs/1533249 Consider vlan insertion impact on headers copy size also for LSO packets. Signed-off-by: Achiad Shochat Signed-off-by: Or Gerlitz Signed-off-by: David S. Miller (cherry picked from commit 3ea4891db8d0d224f59b2fae0f386c8f5e68993f) Signed-off-by: Tim Gardner --- drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c index 6553d62..bd126a8 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c @@ -116,7 +116,7 @@ static inline u16 mlx5e_get_inline_hdr_size(struct mlx5e_sq *sq, * headers and occur before the data gather. * Therefore these headers must be copied into the WQE */ -#define MLX5E_MIN_INLINE (ETH_HLEN + 2/*vlan tag*/) +#define MLX5E_MIN_INLINE ETH_HLEN if (bf && (skb_headlen(skb) <= sq->max_inline)) return skb_headlen(skb); @@ -128,7 +128,7 @@ static inline void mlx5e_insert_vlan(void *start, struct sk_buff *skb, u16 ihs) { struct vlan_ethhdr *vhdr = (struct vlan_ethhdr *)start; int cpy1_sz = 2 * ETH_ALEN; - int cpy2_sz = ihs - cpy1_sz - VLAN_HLEN; + int cpy2_sz = ihs - cpy1_sz; skb_copy_from_linear_data(skb, vhdr, cpy1_sz); skb_pull_inline(skb, cpy1_sz); @@ -192,6 +192,7 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_sq *sq, struct sk_buff *skb) if (skb_vlan_tag_present(skb)) { mlx5e_insert_vlan(eseg->inline_hdr_start, skb, ihs); + ihs += VLAN_HLEN; } else { skb_copy_from_linear_data(skb, eseg->inline_hdr_start, ihs); skb_pull_inline(skb, ihs);