summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorHangbin Liu <liuhangbin@gmail.com>2018-11-21 21:52:33 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-13 08:51:41 +0100
commit2a35fdf64649c618243fefc24aa154937dc57a7c (patch)
treeb759df651addfa362c4cd9290d0a2dc1d78b6348 /Makefile
parentc0e9153e42ffb168fdfffb7031f36b3b175906a6 (diff)
downloadlinux-stable-2a35fdf64649c618243fefc24aa154937dc57a7c.tar.gz
linux-stable-2a35fdf64649c618243fefc24aa154937dc57a7c.tar.bz2
linux-stable-2a35fdf64649c618243fefc24aa154937dc57a7c.zip
net/ipv6: re-do dad when interface has IFF_NOARP flag change
[ Upstream commit 896585d48e8e9ba44cd1754fbce8537feffcc1a5 ] When we add a new IPv6 address, we should also join corresponding solicited-node multicast address, unless the interface has IFF_NOARP flag, as function addrconf_join_solict() did. But if we remove IFF_NOARP flag later, we do not do dad and add the mcast address. So we will drop corresponding neighbour discovery message that came from other nodes. A typical example is after creating a ipvlan with mode l3, setting up an ipv6 address and changing the mode to l2. Then we will not be able to ping this address as the interface doesn't join related solicited-node mcast address. Fix it by re-doing dad when interface changed IFF_NOARP flag. Then we will add corresponding mcast group and check if there is a duplicate address on the network. Reported-by: Jianlin Shi <jishi@redhat.com> Reviewed-by: Stefano Brivio <sbrivio@redhat.com> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions