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 <d...@donbowman.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?