Files
linux/include/net
Dmitry Popov ec7e727578 ip_tunnel(ipv4): fix tunnels with "local any remote $remote_ip"
[ Upstream commit 95cb574598 ]

Ipv4 tunnels created with "local any remote $ip" didn't work properly since
7d442fab0 (ipv4: Cache dst in tunnels). 99% of packets sent via those tunnels
had src addr = 0.0.0.0. That was because only dst_entry was cached, although
fl4.saddr has to be cached too. Every time ip_tunnel_xmit used cached dst_entry
(tunnel_rtable_get returned non-NULL), fl4.saddr was initialized with
tnl_params->saddr (= 0 in our case), and wasn't changed until iptunnel_xmit().

This patch adds saddr to ip_tunnel->dst_cache, fixing this issue.

Reported-by: Sergey Popov <pinkbyte@gentoo.org>
Signed-off-by: Dmitry Popov <ixaphire@qrator.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-14 09:38:23 +08:00
..
2013-12-28 17:02:46 -05:00
2012-07-19 10:43:03 -07:00
2013-11-07 19:28:58 -05:00
2013-12-06 07:24:39 +01:00
2013-01-27 22:46:33 -05:00
2013-10-08 23:19:24 -04:00
2014-08-14 09:38:23 +08:00
2014-05-31 13:20:33 -07:00
2014-08-14 09:38:23 +08:00
2014-08-14 09:38:23 +08:00
2014-01-03 20:56:48 -05:00
2014-08-14 09:38:23 +08:00
2012-08-06 13:40:47 -07:00
2014-07-28 08:05:59 -07:00
2014-01-21 18:05:04 -08:00
2012-05-16 15:17:08 -04:00