Re: [rfc2462bis issue 277] M/O flags and DHCPv6

Ralph Droms <rdroms@cisco.com> Fri, 05 March 2004 06:01 UTC

Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id BAA07524 for <ipv6-archive@odin.ietf.org>; Fri, 5 Mar 2004 01:01:45 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1Az8OZ-00052R-8E for ipv6-archive@odin.ietf.org; Fri, 05 Mar 2004 01:01:16 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i2561FHb019367 for ipv6-archive@odin.ietf.org; Fri, 5 Mar 2004 01:01:15 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1Az8OZ-00052I-1P for ipv6-web-archive@optimus.ietf.org; Fri, 05 Mar 2004 01:01:15 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id BAA07506 for <ipv6-web-archive@ietf.org>; Fri, 5 Mar 2004 01:01:13 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1Az8OW-0002QW-00 for ipv6-web-archive@ietf.org; Fri, 05 Mar 2004 01:01:12 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1Az8Nc-0002Fz-00 for ipv6-web-archive@ietf.org; Fri, 05 Mar 2004 01:00:17 -0500
Received: from optimus.ietf.org ([132.151.1.19]) by ietf-mx with esmtp (Exim 4.12) id 1Az8Mo-00025b-00 for ipv6-web-archive@ietf.org; Fri, 05 Mar 2004 00:59:26 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1Az8MP-0004ng-MI; Fri, 05 Mar 2004 00:59:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1Az8Lb-0004lt-Ma for ipv6@optimus.ietf.org; Fri, 05 Mar 2004 00:58:11 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id AAA07375 for <ipv6@ietf.org>; Fri, 5 Mar 2004 00:58:07 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1Az8LY-0001tv-00 for ipv6@ietf.org; Fri, 05 Mar 2004 00:58:08 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1Az8Ka-0001js-00 for ipv6@ietf.org; Fri, 05 Mar 2004 00:57:09 -0500
Received: from rtp-iport-1.cisco.com ([64.102.122.148]) by ietf-mx with esmtp (Exim 4.12) id 1Az8Jb-0001QX-00 for ipv6@ietf.org; Fri, 05 Mar 2004 00:56:07 -0500
Received: from rtp-core-2.cisco.com (64.102.124.13) by rtp-iport-1.cisco.com with ESMTP; 04 Mar 2004 21:59:54 -0800
Received: from flask.cisco.com (IDENT:mirapoint@flask.cisco.com [161.44.122.62]) by rtp-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id i255tZxU027245; Fri, 5 Mar 2004 00:55:35 -0500 (EST)
Received: from rdroms-w2k01.cisco.com (shinjuku-equant-dynamic2.cisco.com [64.104.42.2]) by flask.cisco.com (Mirapoint Messaging Server MOS 3.3.6-GR) with ESMTP id AGN83636; Fri, 5 Mar 2004 00:55:29 -0500 (EST)
Message-Id: <4.3.2.7.2.20040304031006.01fdb038@flask.cisco.com>
X-Sender: rdroms@flask.cisco.com
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Fri, 05 Mar 2004 00:44:49 -0500
To: JINMEI Tatuya / 神明達哉 <jinmei@isl.rdc.toshiba.co.jp>
From: Ralph Droms <rdroms@cisco.com>
Subject: Re: [rfc2462bis issue 277] M/O flags and DHCPv6
Cc: ipv6@ietf.org
In-Reply-To: <y7vwu68itz6.wl@ocean.jinmei.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Sender: ipv6-admin@ietf.org
Errors-To: ipv6-admin@ietf.org
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Id: IP Version 6 Working Group (ipv6) <ipv6.ietf.org>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.60

Comments in line...

At 09:31 PM 2/27/2004 +0900, JINMEI Tatuya / 
=?ISO-2022-JP?B?GyRCP0BMQEMjOkgbKEI=?= wrote:
>[...]
>*** regarding question c ****
>
>I'd first like to answer this question.  RFC2462 currently says:
>
>    Stateful autoconfiguration for IPv6 is the subject of future work
>    [DHCPv6].
>(Section 1)
>
>And, considering the latest standardization status, the current
>revision of rfc2462bis says:
>
>    Stateful autoconfiguration for IPv6 is the subject of DHCPv6 [7].
>
>However, I still don't think this is crystal clear.  I believe we
>should first clarify whether "stateful autoconfiguration" *equals to*
>DHCPv6 (as specified in RFC3315), or whether we should still leave the
>possibility of (future) other stateful protocols.  And then we should
>clarify this point in rfc2462bis more explicitly.
>
>Personally, I would prefer the first option (i.e., the "stateful
>protocol" equals to DHCPv6).  Flexibility is in general a good thing,
>but in this case, I don't see a reasonable practical reason to leave
>other possibilities with ambiguous wording, particularly because the
>ambiguity has annoyed people and caused similar questions/discussions
>again and again.
>
>If we can agree on this, I'll change the above sentence like:
>
>    In this document, Stateful autoconfiguration for IPv6 means DHCPv6
>    [7].
>
>In the followings, I assume we adopt this interpretation (but it won't
>matter much even if we do not).

I think it would be more clear to simply replace "the stateful
autoconfiguration for IPv6" with "DHCPv6" throughout the document.
It might be necessary to append "for address assignment" when
discussing the "M" bit and "for other configuration information"
when discussing the "O" bit.

>*** regarding question a ****
>
>First, I think we can concentrate on Section 5 "PROTOCOL
>SPECIFICATION" (and its subsections).  For example, someone pointed
>out that the following sentence in section 4 is "ambiguous":
>
>    A "managed address
>    configuration" flag indicates whether hosts should use stateful
>    autoconfiguration to obtain addresses.
>
>because it uses "should", not "SHOULD".

I would replace "stateful address autoconfiguration" with "DHCPv6"
here.

>kBut I don't think we should care about the wording in Section 4, since
>it's just an overview of the protocol, not the protocol specification
>itself.  In fact, there are no RFC2119 keywords throughout Section 4.
>Of course, we may have to revisit the wording when we resolve question
>b ("which keyword?") though.

OK; it makes sense to me that section 4 should use no RFC 2119 words...

>Concentrating on Section 5, I've found the following candidates of
>RFC2119 keywords:
>
>======================      start candidates    ======================
>1. Section 5.2
>       ManagedFlag      Copied from the M flag field (i.e., the ...
>                        The flag indicates whether or not addresses are
>                        to be configured using the stateful
>                        autoconfiguration mechanism.
>
>    where "are to be" may need to be, e.g., "SHOULD be".

Assuming that everyone is comfortable with the 'M' and 'O' bits being hints
and not controls, "SHOULD" seems right.  I would replace "stateful
autoconfiguration mechanism" with "DHCPv6" (looking ahead, I think this
substitution simplifies the next proposed change).

>2. Section 5.2
>       OtherConfigFlag  Copied from the O flag field (i.e., the "other ...
>                        The flag indicates whether or not information
>                        other than addresses is to be obtained using the
>                        stateful autoconfiguration mechanism.
>
>    where "is to be" may need to be, e.g., "SHOULD be".

I agree with the change to SHOULD be.  I would also replace "stateful
autoconfiguration mechanism" with "DHCPv6".

I make this suggestion because I think the phrase "stateful
autoconfiguration mechanism" was used in RFC 2462 because there was no
explicit protocol to point at.  That is, I don't think differentiating
between "stateful autoconfiguration mechanism" and "DHCPv6" is
useful; what is useful is to use 'M' and 'O' bits as hints to the host to
use DHCPv6.


>3. Section 5.5.3
>
>    ... If the value of ManagedFlag changes from FALSE to
>    TRUE, and the host is not already running the stateful address
>    autoconfiguration protocol, the host should invoke the stateful
>    address autoconfiguration protocol, ...
>
>    where "the host should invoke" may need to be, e.g., "the host
>    SHOULD invoke".

OK, and change "stateful address autoconfiguration protocol" to "DHCPv6".

>4. Section 5.5.3
>
>    ...  If the value of the ManagedFlag
>    changes from TRUE to FALSE, the host should continue running the
>    stateful address autoconfiguration, ...
>
>    where "the host should continue" may need to be, e.g., "the host
>    SHOULD continue".

Ditto.

>5. Section 5.5.3
>
>    ... If the
>    value of OtherConfigFlag changes from FALSE to TRUE, the host should
>    invoke the stateful autoconfiguration protocol, ...
>
>    where "the host should invoke" may need to be, e.g., "the host
>    SHOULD invoke".

Ditto.

>6. Section 5.5.3
>
>    ...  If
>    the value of the OtherConfigFlag changes from TRUE to FALSE, the host
>    should continue running the stateful address autoconfiguration
>    protocol, ...
>
>    where "the host should continue" may need to be, e.g., "the host
>    SHOULD continue".

Ditto.

>======================      end candidates    ======================
>
>In my current impression, we can leave 1 and 2 unchanged, but we'll
>need to use RFC2119 keywords for the rest.
>
>*** regarding question b ****
>
>In addition to the above candidates, the following parts already using
>RFC2119 keywords will need to be discussed here:
>
>7. Section 5.5.2
>    If a link has no routers, a host MUST attempt to use stateful
>    autoconfiguration to obtain addresses and other configuration
>    information.
>
>8. Section 5.5.2
>    An implementation MAY provide a way to disable the
>    invocation of stateful autoconfiguration in this case, but the
>    default SHOULD be enabled.
>
>9. Section 5.5.3
>    In particular, a host MUST
>    NOT reinvoke stateful address configuration if it is already
>    participating in the stateful protocol as a result of an earlier
>    advertisement.
>
>10. Section 5.5.3
>    In particular, a host MUST NOT reinvoke stateful
>    configuration if it is already participating in the stateful protocol
>    as a result of an earlier advertisement.
>
>To choose appropriate keywords, I'd like to be synchronized with the
>node requirements draft (draft-ietf-ipv6-node-requirements-08.txt).
>It says in Section 4.5.5 that:
>
>    Stateful Address Autoconfiguration MAY be supported. DHCPv6 [RFC-
>    3315] is the standard stateful address configuration protocol; see
>    section 5.3 for DHCPv6 support.

I suggest replacing "Stateless Address Autoconfiguration" with "DHCPv6"
in the first sentence.

>    Nodes which do not support Stateful Address Autoconfiguration may be
>    unable to obtain any IPv6 addresses aside from link-local addresses
>    when 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).
>    ...

s/Stateful Address Autoconfiguration/DHCPv6/ throughout this paragraph.

>That is (in my understanding), implementing DHCPv6 is basically
>optional with warnings about the case of not implementing it.  I know
>this was a controversial issue, but I believe the node-requirements
>draft made a reasonable decision in terms of practical and realistic
>deployment path while honoring future flexibility.

OK.

>So, I'd like to propose changing candidate 7 to:
>
>    If a link has no routers, a host MAY attempt to use stateful
>    autoconfiguration to obtain addresses and other configuration
>    information.

s/stateful autoconfiguration/DHCPv6/  I don't think RFC 2462 intended
to differentiate between stateful and stateless DHCPv6.

>Similarly, change candidate 8 to:
>    An implementation MAY provide a way to enable the
>    invocation of stateful autoconfiguration in this case, but the
>    default SHOULD be disabled.
>
>Another reason for the change is because we can at least use
>link-local addresses within a single link without a router.

s/stateful autoconfiguration/DHCPv6/

>For candidates 3 to 6, I think "SHOULD" is appropriate, since this
>only happens the network manager explicitly turns on the M or O flag
>and the effect of this setting is described in the node-requirements
>draft with warnings.

OK.

>I also think "MUST NOT"s in candidates 9 and 10 are okay for the same
>reason.

OK.

>*** regarding question d ****
>
>(I interpret "the configuration-only version of DHCPv6" as so called
>"stateless DHCPv6" described in draft-ietf-dhc-dhcpv6-stateless-04.txt.)
>
>This is not a strong opinion, but I'd currently say "no" for this
>question.  The reasons are:
>
>- in my opinion, the stateless DHCPv6 service should be a "ubiquitous"
>   service, and hosts that need autoconfiguration should try it by
>   default (that is, without seeing an O flag set, which needs an
>   explicit configuration in routers).
>
>- the O bit indicates a "stateful" mechanism for other configuration
>   information than addresses.  If the information actually includes
>   some real "other" stateful resources (probably in a future
>   extension), using the stateless version of DHCPv6 may result in an
>   incomplete service.

We've spent a lot of time discussing "other stateful resources" in
the dhc WG.  Although the concept sounds sensible, in practice we've
never been able to identify an example of a stateful resource to manage
with DHCPv6 other than addresses and prefixes.  Therefore, I would say
we don't need to worry that stateless DHCPv6 won't be adequate
for the assignment of other configuration information.

>Even if we agree on my opinion, however, it might still be useful to
>note that the protocol invoked by the O bit should be the full-spec
>DHCPv6 instead of the stateless version.
>
>                                         JINMEI, Tatuya
>                                         Communication Platform Lab.
>                                         Corporate R&D Center, Toshiba Corp.
>                                         jinmei@isl.rdc.toshiba.co.jp
>
>--------------------------------------------------------------------
>IETF IPv6 working group mailing list
>ipv6@ietf.org
>Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
>--------------------------------------------------------------------


--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------