Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1424438AbdD1QrA (ORCPT ); Fri, 28 Apr 2017 12:47:00 -0400 Received: from mail-pg0-f41.google.com ([74.125.83.41]:33264 "EHLO mail-pg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756125AbdD1Qqt (ORCPT ); Fri, 28 Apr 2017 12:46:49 -0400 Message-ID: <1493398002.31837.12.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: ipsec doesn't route TCP with 4.11 kernel From: Eric Dumazet To: Steffen Klassert Cc: Don Bowman , Cong Wang , "linux-kernel@vger.kernel.org" , Herbert Xu , Linux Kernel Network Developers Date: Fri, 28 Apr 2017 09:46:42 -0700 In-Reply-To: <20170428071337.GG2649@secunet.com> References: <20170427084238.GX2649@secunet.com> <20170428071337.GG2649@secunet.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 768 Lines: 22 On Fri, 2017-04-28 at 09:13 +0200, Steffen Klassert wrote: > encap type espinudp sport 4500 dport 4500 addr 0.0.0.0 > > Ok, this is espinudp. This information was important. > This is not a GRO issue as I thought, the TX side is already broken. > > Could you please try the patch below? > > Subject: [PATCH] esp4: Fix udpencap for local TCP packets. > > Locally generated TCP packets are usually cloned, so we > do skb_cow_data() on this packets. After that we need to > reload the pointer to the esp header. On udpencap this > header has an offset to skb_transport_header, so take this > offset into account. It looks like locally generated TCP packets could avoid the skb_cow_data(), if you were using skb_header_cloned() instead of skb_cloned() ?