From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] net/ipv6: re-do dad when interface has IFF_NOARP flag change Date: Fri, 23 Nov 2018 11:18:22 -0800 (PST) Message-ID: <20181123.111822.1955916094908693402.davem@davemloft.net> References: <1542808353-5644-1-git-send-email-liuhangbin@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, sbrivio@redhat.com, pabeni@redhat.com, hideaki.yoshifuji@miraclelinux.com, maheshb@google.com To: liuhangbin@gmail.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:33092 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728923AbeKXGD5 (ORCPT ); Sat, 24 Nov 2018 01:03:57 -0500 In-Reply-To: <1542808353-5644-1-git-send-email-liuhangbin@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Hangbin Liu Date: Wed, 21 Nov 2018 21:52:33 +0800 > 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 > Reviewed-by: Stefano Brivio > Signed-off-by: Hangbin Liu Applied.