Re: [v6ops] DAD again [was: draft-ietf-v6ops-host-addr-availability discussion]

Owen DeLong <> Sat, 14 November 2015 00:09 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 6C06B1B362A for <>; Fri, 13 Nov 2015 16:09:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.111
X-Spam-Status: No, score=-6.111 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_ALL=0.8, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id sIPBXndCgsBu for <>; Fri, 13 Nov 2015 16:09:20 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 0094B1B3629 for <>; Fri, 13 Nov 2015 16:09:19 -0800 (PST)
Received: from (delong-dhcp29 []) (authenticated bits=0) by (8.14.5/8.14.5) with ESMTP id tAE06D86007973 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 13 Nov 2015 16:06:14 -0800
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Owen DeLong <>
In-Reply-To: <>
Date: Fri, 13 Nov 2015 16:06:13 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <! ! ! ! ! m> <> <> <> <> <> <> <> <> <> <>
To: "Hemant Singh (shemant)" <>
X-Mailer: Apple Mail (2.2104)
Archived-At: <>
Cc: "" <>
Subject: Re: [v6ops] DAD again [was: draft-ietf-v6ops-host-addr-availability discussion]
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 14 Nov 2015 00:09:21 -0000

> On Nov 13, 2015, at 15:44 , Hemant Singh (shemant) <> wrote:
> -----Original Message-----
> From: Owen DeLong [] 
> Sent: Friday, November 13, 2015 6:16 PM
> To: Hemant Singh (shemant)
> Cc: Alexandre Petrescu;
> Subject: Re: [v6ops] DAD again [was: draft-ietf-v6ops-host-addr-availability discussion]
>> A LO interface may, but does not need to perform DAD as far as I am concerned. Sure, if it’s convenient for the coders, the performance impact is negligible and it keeps code paths consistent reducing >the potential for bugs.
> Please reply to my comment where I said if the lo does not perform DAD, then the lo does not have to join the all-nodes and the solicited-node multicast addresses.   One has to look at the comprehensive picture.   A NA signaling a DAD dup is destined to the all-nodes multicast destination - but the lo interface has disabled DAD.   So why join the all-nodes address or the solicited-node multicast address?  If the interface is also not initiating nor replying to any address resolution, there is not ND operation required on this lo interface.

Depending on the implementation, it may be needed for neighbor discovery/reachability, though admittedly this is unlikely.

Solicited Node and all-nodes are used for several things besides just DAD.

I don’t see the relationship that you are seeing or at least I don’t see it as being the only relationship in question.

>> However, that does not mean that those addresses don’t need to work with ND correctly as it may well be that application A binds to one address on LO and communicates with an entirely different >address also on LO to carry out transactions with application B. As a result, A will need to be able to discover the link layer address for B, effectively.
> No.  The lo interface forwards a packet to the outbound interface which performs any ND address resolution. 

Not in any implementation I am aware of. Why would you expect such a thing?

Why would the LO address be on the same subnet as any “outbound” interface?

Your argument here appears nonsensical to me.

>> Arguably, ND isn’t necessary since the LO binding should take care of this, but most operating systems don’t bother to special case this as the effort offers little reward and substantial complexity.
> Please note IPv6 ND and DAD are interface-scoped.   An OS has to confirm to interface-specific IPv6 DAD and ND properties. 

Yes… hence my confusion about your statements and questions above.

Even though they are interface-scoped, every interface on the system may use the same code paths for ND and DAD, in which case the LO interface may (unnecessarily) implement ND and/or DAD for convenience.