[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170427084238.GX2649@secunet.com>
Date: Thu, 27 Apr 2017 10:42:38 +0200
From: Steffen Klassert <steffen.klassert@...unet.com>
To: Cong Wang <xiyou.wangcong@...il.com>
CC: Don Bowman <db@...bowman.ca>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Herbert Xu <herbert@...dor.apana.org.au>,
Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: ipsec doesn't route TCP with 4.11 kernel
On Wed, Apr 26, 2017 at 10:01:34PM -0700, Cong Wang wrote:
> (Cc'ing netdev and IPSec maintainers)
>
> On Tue, Apr 25, 2017 at 6:08 PM, Don Bowman <db@...bowman.ca> wrote:
> > I'm not sure how to describe this.
> >
> > 4.11rc2 worked, after that, no.
We had some recent IPsec GRO changes, this could influence TCP.
But these changes were introduced before rc2. If I read this correct,
the regression was introduced between rc2 and rc3, right?
> >
> > My ipsec tunnel comes up ok.
When talking about IPsec, I guess you use ESP, right?
> > ICMP works. UDP works. But TCP, the
> > sender [which is the ipsec client] does not reach the destination.
> >
> > Its not a routing rule issue (since ICMP/UDP work).
> > Its not a traffic selector just selecting TCP (I think) since ipsec
> > status shows just a subnet, no protocol.
> >
> > Using tcpdump:
> > # iptables -t mangle -I PREROUTING -m policy --pol ipsec --dir in -j
> > NFLOG --nflog-group 5
> > # iptables -t mangle -I POSTROUTING -m policy --pol ipsec --dir out -j
> > NFLOG --nflog-group 5
> > # tcpdump -s 0 -n -i nflog:5
> >
> > I see that it thinks it is sending the TCP packet, but the server end
> > does not receive.
> >
> > Does anyone have any suggestion to try?
If it is a GRO issue, then it is on the receive side, could you do
tcpdump on the receiving interface to see what you get there?
What shows /proc/net/xfrm_stat?
Can you do 'ip -s x s' to see if the SAs are used?
Do you have INET_ESP_OFFLOAD enabled?
Powered by blists - more mailing lists