Subject: RE: Node Req: Issue31: DHCPv6 text (ignore previous mails)

From: [email-masked]
Date: Thu, 4 Dec 2003 13:13:01 +0200

Hi Thomas,

The 2nd paragraph of the current node requirements draft says

   For those IPv6 Nodes (acting as hosts) that implement DHCP, those
   nodes MUST use DHCP upon the receipt of a Router Advertisement with
   the 'O' flag set (see section 5.5.3 of RFC2462).  In addition, in the
   absence of a router, hosts that implement DHCP MUST attempt to use
   DHCP. For IPv6 Nodes that do not implement DHCP, the 'O' flag of a
   Router Advertisement can be ignored.  Furthermore, in the absence of
   a router, these types of node are not required to initiate DHCP.

You said:

> For my tastes, there is too much protocol specification above (use of
> MUST language). Better to just cite the existing standards.

and:

   For those IPv6 Nodes (acting as hosts) that implement DHCP, those
   nodes should use DHCP upon the receipt of a Router Advertisement with
   the 'O' flag set (see section 5.5.3 of RFC2462).  In addition, in the
   absence of a router, hosts that implement DHCP MUST attempt to use
   DHCP. For IPv6 Nodes that do not implement DHCP, the 'O' flag of a
   Router Advertisement can be ignored.  Furthermore, in the absence of
   a router, these types of node are not required to initiate DHCP.

> Perhaps because folk have forgotten about existing text in 2461 &
> 2462? :-)
> 
> From section RFC 2461 6.3.7:
> 
> >    If a host sends MAX_RTR_SOLICITATIONS solicitations, and receives no
> >    Router Advertisements after having waited MAX_RTR_SOLICITATION_DELAY
> >    seconds after sending the last solicitation, the host concludes that
> >    there are no routers on the link for the purpose of [ADDRCONF].
> >    However, the host continues to receive and process Router
> >    Advertisements messages in the event that routers appear 
> on the link.
> 
> RFC 2462, Section 5.5.2 says:
> 
> > 5.5.2.  Absence of Router Advertisements
> > 
> >    If a link has no routers, a host MUST attempt to use stateful
> >    autoconfiguration to obtain addresses and other configuration
> >    information. An implementation MAY provide a way to disable the
> >    invocation of stateful autoconfiguration in this case, but the
> >    default SHOULD be enabled.  From the perspective of
> >    autoconfiguration, a link has no routers if no Router Advertisements
> >    are received after having sent a small number of Router Solicitations
> >    as described in [DISCOVERY].
> 
> We can debate whether the current text makes sense, but it reflects
> the thinking at the time...

The text I have is this, let me know if anyone has problems with the text. I have
tried to stay true to 2461 & 2462.

John

5.3.1 Managed Address Configuration

   An IPv6 node that does not include an implementation of DHCP will be
   unable to obtain any IPv6 addresses aside from link-local addresses
   when it is connected to a link over which it receives a router
   advertisement with the 'M' flag (Managed address configuration) set
   and which contains no prefixes advertised for Stateless Address
   Autoconfiguration (see section 4.5.2). In this situation, the IPv6
   Node will be unable to communicate with other off-link nodes unless a
   global or site-local IPv6 address is manually configured.

   An IPv6 node that receives a router advertisement with the 'M' flag
   set and that contains advertised prefixes will configure interfaces
   with both stateless autoconfiguration addresses and addresses
   obtained through DHCP.

   For those IPv6 nodes that implement DHCP, those nodes should use DHCP
   upon the receipt of a Router Advertisement with the 'M' flag set (see
   section 5.5.3 of RFC2462) for address configuration.  In addition, 
   in the absence of a router, IPv6 Nodes that implement DHCP MUST attempt 
   to use DHCP for address configuration.

5.3.2 Other Stateful Configuration

   DHCP provides the ability to provide other configuration information
   to the node. An IPv6 node that does not include an implementation of
   DHCP will be unable to obtain other configuration information such as
   the addresses of DNS servers when it is connected to a link over
   which the node receives a router advertisement in which the 'O' flag
   ("Other stateful configuration") is set.

   For those IPv6 Nodes (acting as hosts) that implement DHCP, those
   nodes should use DHCP upon the receipt of a Router Advertisement with
   the 'O' flag set (see section 5.5.3 of RFC2462) to obtain other 
   configuration.  In addition, in the absence of a router, hosts that implement 
   DHCP MUST attempt to use DHCP. For IPv6 Nodes that do not implement DHCP, the 
   'O' flag of a Router Advertisement can be ignored.  Furthermore, in the absence 
   of a router, these types of node are not required to initiate DHCP.

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email-masked]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

---

From: Pekka Savola <[email-masked]>
Date: Thu, 4 Dec 2003 13:25:35 +0200 (EET)

>    For those IPv6 nodes that implement DHCP, those nodes should use DHCP

Why do you keep using constructs like this?  Why not just:

     IPv6 nodes that implement DHCP should use DHCP [...]

(the same in the text later.)

>    DHCP MUST attempt to use DHCP. 

Use DHCP for what?  both address config (if available) as well?

...

Also, there are basically two versions of "DHCP": the one specified in 
RFC3315, and the "stateless DHCP", in IESG review at the moment.  It 
is not clear to which you're referring to here.

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

---

From: Tim Chown <[email-masked]>
Date: Thu, 4 Dec 2003 11:39:10 +0000

> is not clear to which you're referring to here.

Does that matter to the client?

Tim

---

From: Pekka Savola <[email-masked]>
Date: Thu, 4 Dec 2003 13:42:36 +0200 (EET)

> Does that matter to the client?

The sentences start basically like, "If the node implements DHCP, it 
MUST/SHOULD do foo".

Does a stateless DHCP count as implmenting DHCP?  Is stateless DHCP 
non-compliant with Node Requirements?

---

From: Tim Chown <[email-masked]>
Date: Thu, 4 Dec 2003 11:50:33 +0000

>    global or site-local IPv6 address is manually configured.

Remove site-local as we're deprecating them?
 
>    with both stateless autoconfiguration addresses and addresses

Perhaps cite 5.6 of 2462 here?  It hadn't occured to me that both stateless
and stateful could be used together.   Is this discussed anywhere else
other than 5.6 in 2462?
 
>    to use DHCP for address configuration.

Hmmm... in 5.5.2 of 2462 it says

   "If a link has no routers, a host MUST attempt to use stateful
    autoconfiguration to obtain addresses and other configuration
    information."

so it's not just for address configuration.  Perhaps cite 5.5.2 here.
M means use DHCP for addresses and other config info, O means just other
config info (an odd way for it to be specified, but... :)

>    the addresses of DNS servers when it is connected to a link over

Perhaps say "DNS or NTP" so that we emphasise it's not just about DNS.

Do you have a target date to release the next version of the nodes
requirements draft?  I appreciate it's a lot of work.

Tim

---

From: Tim Chown <[email-masked]>
Date: Thu, 4 Dec 2003 11:54:28 +0000

> non-compliant with Node Requirements?

OK, so the node may implement the full DHCPv6 spec (for address and other 
info) or stateless DHCPv6 (only for other info).   The implementation of
how other info is obtained would be the same.   

So I agree we should say something like "If the node implements stateful
address configuration for DHCPv6 then"

i.e. put the language in terms of client functionality rather than whether
the server is full or ststeless?

Tim

---

From: Ralph Droms <[email-masked]>
Date: Thu, 04 Dec 2003 11:42:24 -0500

No, there are not really two versions of DHCPv6 - all of the various message
exchanges and modes of operation are defined in RFC 3315.
draft-ietf-dhc-dhcpv6-stateless-02.txt is an aid to the implementation of
DHCP that provides other configuration information but not address assignment.

It might clarify the text a little to refer to "a node that uses DHCP for
address assignment" and "a node that uses DHCP to obtain other configuration
information"; I think references to "stateless DHCPv6" are confusing.

- Ralph

At 01:25 PM 12/4/2003 +0200, Pekka Savola wrote:
>[...]

---

From: Pekka Savola <[email-masked]>
Date: Thu, 4 Dec 2003 20:32:29 +0200 (EET)

> DHCP that provides other configuration information but not address assignment.

Sure, but then a sentence like "if DHCP is implemented" makes a bit 
sense as some may implement the critical part and some not.  It's not 
a binary yes/no decision.

> information"; 

Based on the wording, that might be fine.

> I think references to "stateless DHCPv6" are confusing.

Maybe, maybe not.  A brief reference could maybe be added just to make 
the folks realize that there is a implementable and "blessed" subset 
of DHCP.. but the main point is clarity in the body of the 
description.