IPv6 NAT: Do not drop DNATed 6to4/6rd packets
authorCatalin(ux) M. BOIE <catab@embedromix.ro>
Mon, 23 Sep 2013 20:04:19 +0000 (23:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Oct 2013 23:08:30 +0000 (16:08 -0700)
commit6ea2edb3b6cbe72d2f943e205c463f6cb8bafe56
tree6c3f79e392abd8f3b93881df70399e1c9a8b1998
parentf7036a444e8a9eb1e41f4e157c8f19b8efbc2cb7
IPv6 NAT: Do not drop DNATed 6to4/6rd packets

[ Upstream commit 7df37ff33dc122f7bd0614d707939fe84322d264 ]

When a router is doing DNAT for 6to4/6rd packets the latest
anti-spoofing commit 218774dc ("ipv6: add anti-spoofing checks for
6to4 and 6rd") will drop them because the IPv6 address embedded does
not match the IPv4 destination. This patch will allow them to pass by
testing if we have an address that matches on 6to4/6rd interface.  I
have been hit by this problem using Fedora and IPV6TO4_IPV4ADDR.
Also, log the dropped packets (with rate limit).

Signed-off-by: Catalin(ux) M. BOIE <catab@embedromix.ro>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/net/addrconf.h
net/ipv6/addrconf.c
net/ipv6/sit.c