From patchwork Thu Dec 4 16:00:19 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Herbert X-Patchwork-Id: 417836 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 000A71400D5 for ; Fri, 5 Dec 2014 03:00:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932671AbaLDQA2 (ORCPT ); Thu, 4 Dec 2014 11:00:28 -0500 Received: from mail-ie0-f176.google.com ([209.85.223.176]:54540 "EHLO mail-ie0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932248AbaLDQA1 (ORCPT ); Thu, 4 Dec 2014 11:00:27 -0500 Received: by mail-ie0-f176.google.com with SMTP id tr6so15468824ieb.7 for ; Thu, 04 Dec 2014 08:00:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=etAiVWWpUtmmTHJmfyjVB9GP5lg+QADi2h3pcJvvBPc=; b=E/6dC88TRNsP6+4LRBmHrMoHXmYOpgP9QrH6iueM3SUENKMI4b7OdqDsYT9myHn2uo jmpzFqXlSFvj75Kcts0cBM5KalZg2S8V955i8+276FuiFcGLkmJxb0DnSyY5RVYkeHoY kC7OiCesMMF4GDqPVpR1+9AhVQtBoaaxyRTx+/utbJ0Tqu5VLqnc2rIRzTg+XZ5GTRpw 4g6adYKyx077gAKRIySxNN1HXQaaEjv0SPUAiIaAMSe7lxZN8oHc1VxLUGpRjOAnCZGO 5kLD+SxaEn0NSvUIUKrU6m8OUhyEivARF6gzvLQhF6MY2az1p3MUM1Bysiz16894jhGV i1TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=etAiVWWpUtmmTHJmfyjVB9GP5lg+QADi2h3pcJvvBPc=; b=VVbrN9jd+MnAkouH/oJ8SljcKmqALMd/V7MUU4COM88hBJksXRknHc1AE0SnZxhMQY Q57zU0OY9cIORDvPACdV6z3l7bpeneVNXT4ujsuKdXDX1g3+dogODD/DxwF5CXGBbdzr e8CDW8UUCWjUkEX1+C0PuOR8ylyRm4vZW+wMFB2Pe+tSQ3rcP+kGpdTKvCU1f2R31Uef ijihqBe8eVQAlps4/BR+Wl2UOwbdMKiaYetmjhjBRDv7u1BC08k9ZwWA7tZfpiVXGOB8 dpq04EG/6GXgnFmoN/VmKhnEX2Xp1azGT6dzvmplWK4rujdkxYiinPfM89EM5Uf03T22 mhSQ== X-Gm-Message-State: ALoCoQlJWjfXshoOH+8b71SUzc+YCNBRdYDPcRCXJe20Ar7yaO8Iy2UVYKP5uqLPPMdFQTSoDrPe MIME-Version: 1.0 X-Received: by 10.50.136.135 with SMTP id qa7mr14140426igb.32.1417708819875; Thu, 04 Dec 2014 08:00:19 -0800 (PST) Received: by 10.64.98.167 with HTTP; Thu, 4 Dec 2014 08:00:19 -0800 (PST) In-Reply-To: <20141204141616.185b88c4@vostro> References: <20141204141616.185b88c4@vostro> Date: Thu, 4 Dec 2014 08:00:19 -0800 Message-ID: Subject: Re: Possible regression: "gre: Use inner mac length when computing tunnel length" From: Tom Herbert To: Timo Teras Cc: Alexander Duyck , Linux Netdev List Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org A fix is pending for net. Please try if you can. Tom On Thu, Dec 4, 2014 at 4:16 AM, Timo Teras wrote: > Hi, > > After upgrading to latest 3.14.24 or newer, I noticed a weird TSO bug > in the "dmvpn" setup I use. And seems 3.14.23 works just fine. So the > commit 14051f0452a2c26a "gre: Use inner mac length when computing > tunnel length" would appear to be the related commit (but have not yet > tested this). > > In practice what happens is that forwarding path between ethX (or vlanX) > and gre1 gets broken. > > There's probably two differences to the "regular" gre tunnel case: > - it's nbma mode, meaning the gre header is inserted via slightly > different code path > - the gre1 packets are IPsec encrypted in transport mode > > As additional detail, doing "ethtool -K gre1 tso off" will workaround > the issue, so it is clearly tso issue pointing even further to the > commit in question. > > Is this something the suspected patch could cause? Any suggestions > what to test more? > > Thanks, > Timo > --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/ipv4/gre_offload.c b/net/ipv4/gre_offload.c index bb5947b..51973dd 100644 --- a/net/ipv4/gre_offload.c +++ b/net/ipv4/gre_offload.c @@ -247,6 +247,9 @@ static int gre_gro_complete(struct sk_buff *skb, int nhoff) err = ptype->callbacks.gro_complete(skb, nhoff + grehlen); rcu_read_unlock(); + + skb_set_inner_mac_header(skb, nhoff + grehlen); + return err; }