Thread (4 messages) 4 messages, 2 authors, 2014-07-31

Re: Issue with GRE tunnel, created with "local any" on kernel 3.14

From: Dmitry Popov <hidden>
Date: 2014-07-18 18:32:09

On Fri, 18 Jul 2014 17:01:23 +0400
Sergey Popov [off-list ref] wrote:
Hi. I have updated kernel on one of my servers to 3.14 and hit strange
issue:
serv1(172.30.0.100) <-> serv2(172.30.0.251)
Gre tunnel(serv1):
ip tunnel add tun_test mode gre remote 172.30.0.251 local any ttl 225
ifconfig tun_test 192.168.0.1/30

Gre tunnel(serv2):
ip tunnel add tun_test mode gre remote 172.30.0.100 local any ttl 225
ifconfig tun_test 192.168.0.2/30
16:49:39.340971 IP 0.0.0.0 > 172.30.0.100: GREv0, length 88: IP
192.168.0.2 > 192.168.0.1: ICMP echo request, id 5259, seq 7, length 64
Hi!

It seems we have this issue since 7d442fab0 (ipv4: Cache dst in tunnels).
It is in ip_tunnel_xmit: fl4 is initialized with saddr = 0 in
init_tunnel_flow(&fl4, protocol, dst, ...), net/ipv4/ip_tunnel.c:610,
and isn't changed until iptunnel_xmit(skb->sk, ...), line 677, because 
connected = true and rt is almost always cached.

I have no patch to fix this issue, but as a workaround, you can use 
ip tunnel change tun_test tos inherit.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help