diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2015-11-27 18:17:05 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-12-14 21:40:56 -0800 |
commit | ea9b07516f19f4c6fc14697cb6c70bb9b74e3bfc (patch) | |
tree | eab8b1fd9949d012fd8160be804a1b9f0e01b63c /include | |
parent | 4ab43ae83f90543998b1640fb2cb556ce1a604c0 (diff) | |
download | lwn-ea9b07516f19f4c6fc14697cb6c70bb9b74e3bfc.tar.gz lwn-ea9b07516f19f4c6fc14697cb6c70bb9b74e3bfc.zip |
Revert "ipv6: ndisc: inherit metadata dst when creating ndisc requests"
[ Upstream commit 304d888b29cf96f1dd53511ee686499cd8cdf249 ]
This reverts commit ab450605b35caa768ca33e86db9403229bf42be4.
In IPv6, we cannot inherit the dst of the original dst. ndisc packets
are IPv6 packets and may take another route than the original packet.
This patch breaks the following scenario: a packet comes from eth0 and
is forwarded through vxlan1. The encapsulated packet triggers an NS
which cannot be sent because of the wrong route.
CC: Jiri Benc <jbenc@redhat.com>
CC: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/ndisc.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/ndisc.h b/include/net/ndisc.h index aba5695fadb0..b3a7751251b4 100644 --- a/include/net/ndisc.h +++ b/include/net/ndisc.h @@ -182,8 +182,7 @@ int ndisc_rcv(struct sk_buff *skb); void ndisc_send_ns(struct net_device *dev, struct neighbour *neigh, const struct in6_addr *solicit, - const struct in6_addr *daddr, const struct in6_addr *saddr, - struct sk_buff *oskb); + const struct in6_addr *daddr, const struct in6_addr *saddr); void ndisc_send_rs(struct net_device *dev, const struct in6_addr *saddr, const struct in6_addr *daddr); |