linux-stable/net/ipv6
David Ahern 0293f8d1bd ipv6: Fix handling of LLA with VRF and sockets bound to VRF
[ Upstream commit c2027d1e17 ]

A recent commit allows sockets bound to a VRF to receive ipv6 link local
packets. However, it only works for UDP and worse TCP connection attempts
to the LLA with the only listener bound to the VRF just hang where as
before the client gets a reset and connection refused. Fix by adjusting
ir_iif for LL addresses and packets received through a device enslaved
to a VRF.

Fixes: 6f12fa7755 ("vrf: mark skb for multicast or link-local as enslaved to VRF")
Reported-by: Donald Sharp <sharpd@cumulusnetworks.com>
Cc: Mike Manning <mmanning@vyatta.att-mail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01 09:14:14 +01:00
..
ila
netfilter netfilter: masquerade: don't flush all conntracks if only one address deleted on device 2019-11-20 18:00:52 +01:00
addrconf.c ipv6: Handle missing host route in __ipv6_ifa_notify 2019-10-07 18:55:21 +02:00
addrconf_core.c
addrlabel.c
af_inet6.c
ah6.c
anycast.c
calipso.c
datagram.c
esp6.c
esp6_offload.c
exthdrs.c
exthdrs_core.c
exthdrs_offload.c
fib6_notifier.c
fib6_rules.c
fou6.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c net: annotate accesses to sk->sk_incoming_cpu 2019-11-10 11:25:23 +01:00
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero 2019-06-22 08:16:14 +02:00
ip6_gre.c
ip6_icmp.c
ip6_input.c ipv6: drop incoming packets having a v4mapped source address 2019-10-07 18:55:16 +02:00
ip6_offload.c
ip6_offload.h
ip6_output.c
ip6_tunnel.c ip6_tunnel: fix possible use-after-free on xmit 2019-08-09 17:53:34 +02:00
ip6_udp_tunnel.c
ip6_vti.c
ip6mr.c
ipcomp6.c
ipv6_sockglue.c
Kconfig
Makefile
mcast.c mld: fix memory leak in mld_del_delrec() 2019-09-10 10:32:21 +01:00
mcast_snoop.c
mip6.c
ndisc.c
netfilter.c
output_core.c inet: switch IP ID generator to siphash 2019-06-09 09:18:10 +02:00
ping.c ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' 2019-09-19 09:08:00 +02:00
proc.c
protocol.c
raw.c ipv6: use READ_ONCE() for inet->hdrincl as in ipv4 2019-06-11 12:21:46 +02:00
reassembly.c net: IP6 defrag: use rbtrees for IPv6 defrag 2019-04-27 09:35:40 +02:00
route.c
seg6.c
seg6_hmac.c
seg6_iptunnel.c
seg6_local.c
sit.c vrf: sit mtu should not be updated when vrf netdev is the link 2019-05-16 19:42:34 +02:00
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c ipv6: Fix handling of LLA with VRF and sockets bound to VRF 2019-12-01 09:14:14 +01:00
tcpv6_offload.c
tunnel6.c
udp.c net: annotate accesses to sk->sk_incoming_cpu 2019-11-10 11:25:23 +01:00
udp_impl.h
udp_offload.c
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module 2019-05-25 18:25:34 +02:00