Subject: [dhcwg] DAD in DHCPv6.

From: Andrea G Forte <[email-masked]>
Date: Fri, 23 Sep 2005 16:01:15 -0400

Hi everyone,

I have a question about DHCPv6 and the statefull address configuration. It 
seems that DAD is performed only in the stateless procedure and no DAD 
at all is performed in the stateful procedure. How can the DHCP server 
be sure that the IP address that is going to assign has not been 
manually configured by someone other client? (Which is the reason for 
having DAD in DHCPv4).

Thank you,
Andrea

_______________________________________________
dhcwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dhcwg

---

From: Ralph Droms <[email-masked]>
Date: Fri, 23 Sep 2005 16:13:31 -0400

>From RFC 3315, section 18.1.8:

   The client SHOULD perform duplicate address detection [17] on each of
   the addresses in any IAs it receives in the Reply message before
   using that address for traffic.  If any of the addresses are found to
   be in use on the link, the client sends a Decline message to the
   server as described in section 18.1.7.

- Ralph

---

From: Ted Lemon <[email-masked]>
Date: Fri, 23 Sep 2005 21:01:52 -0700

On Sep 23, 2005, at 1:01 PM, Andrea G Forte wrote:
> I have a question about DHCPv6 and the statefull address  
> configuration. It seems that DAD is performed only in the stateless  
> procedure and no DAD at all is performed in the stateful procedure.  
> How can the DHCP server be sure that the IP address that is going  
> to assign has not been manually configured by someone other client?  
> (Which is the reason for having DAD in DHCPv4).

Nodes are not supposed to do stateless autoconf using prefixes that  
are managed (that is, prefixes announced in router advertisements  
where the 'M' bit is set).

Unfortunately, every IPv6 implementation I've seen so far except  
Solaris ignores the 'M' bit entirely, so you are right to be concerned.

---

From: Andrea G Forte <[email-masked]>
Date: Wed, 28 Sep 2005 12:32:26 -0400

Thank you for your response.
I have to say though that this is rather confusing as [17] is referring 
to the statless configuration (and this misleaded me in the beginning). 
Furthermore in [17] DAD MUST be performed in either stateful, stateless 
or manual, while in RFC 3315 DAD SHOULD be performed. Which one of the 
two is it?

Thank you,
-Andrea

---

From: Ted Lemon <[email-masked]>
Date: Wed, 28 Sep 2005 09:52:34 -0700

On Sep 28, 2005, at 9:32 AM, Andrea G Forte wrote:
> I have to say though that this is rather confusing as [17] is  
> referring to the statless configuration (and this misleaded me in  
> the beginning). Furthermore in [17] DAD MUST be performed in either  
> stateful, stateless or manual, while in RFC 3315 DAD SHOULD be  
> performed. Which one of the two is it?

I guess the presumption is that in stateless, the chances of an  
address conflict are significantly higher than in stateful, thus a  
MUST for stateless, and a SHOULD for stateful.   In general we try to  
avoid saying MUST if it's not necessary; for example, in a mobile  
phone environment, where battery life is affected by how many packets  
the phone transmits, you really want to be able to avoid sending  
extra packets.   In this environment, the operator has much more  
control over what happens on the link, so there's no real need for  
DAD, and in that case we'd expect the cell phone DHCPv6  
implementation to violate the SHOULD.

It's probably the case that in the next rev of these RFCs, there  
should be some harmonization work done - it's really very early days  
for the DHCPv6 protocol, as you've no doubt noticed, and there are a  
few rough edges left to sand down.   :'}