]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ipv6: Fix handling of LLA with VRF and sockets bound to VRF
authorDavid Ahern <dsahern@gmail.com>
Wed, 12 Dec 2018 23:27:38 +0000 (15:27 -0800)
committerMarcelo Henrique Cerri <marcelo.cerri@canonical.com>
Fri, 17 Jan 2020 17:21:07 +0000 (14:21 -0300)
commit9e69f196bdb1422a29427fffdf8e606829bcd1a3
tree53e5b241ba0db6969254ae816b900052d940db60
parentb69edb14b98ab047c5b82967499f70537afb9246
ipv6: Fix handling of LLA with VRF and sockets bound to VRF

BugLink: https://bugs.launchpad.net/bugs/1854975
[ Upstream commit c2027d1e17582903e368abf5d4838b22a98f2b7b ]

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: 6f12fa775530 ("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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
net/ipv6/tcp_ipv6.c