I've recently reread draft-ietf-6man-node-req-bis-02.txt, and I think
it might be good to think about the overall purpose/scope of this
document.

We have often said/assumed that the document is informational, and
does not make any new requirements that don't already exist in
standards track RFCs.

I believe such an assertion is false.

Consider the introduction:

> 2.  Introduction
> 
>    The goal of this document is to define the common functionality
>    required from both IPv6 hosts and routers.  Many IPv6 nodes will
>    implement optional or additional features, but this document
>    summarizes requirements from other published Standards Track
>    documents in one place.

>    This document tries to avoid discussion of protocol details, and
>    references RFCs for this purpose.  This document is informational in
>    nature and does not update Standards Track RFCs.

Not entirely true. It does include MUSTs of entire RFCs or subsections
of RFCs (e.g., DAD). But, some/many of those existing RFCs are all
"optional" in the sense that they don't say you MUST implement them.
IETF Documents rarely say "you MUST implement me to be compliant with
IPv6 (or IPv4)".

I'm not saying that any documents are wrong or need updating. However,
the basic nature of IETF specs are that they are optional. 

For example, the document says:

>       The IPv6 Addressing Architecture [RFC4291] MUST be supported.

But 4291 doesn't use 2119 terminology at all, and I don't see any
wording suggesting that an IPv6 node must implement it to be compliant

> 5.6.2.  IPv6 Stateless Address Autoconfiguration - RFC 4862
> 
>    IPv6 Stateless Address Autoconfiguration is defined in [RFC4862].
>    This specification MUST be supported for nodes that are hosts.
>    Static address can be supported as well.

4862 doesn't anywhere say it must be implemented, though it is pretty
obvious that any IPv6 implementation that doesn't include 4862 is
pretty deficient and won't interoperate with other IPv6 nodes. But my
point is that no Standards Track document mandates implementation of
4862.

Then, take another example:

> 5.6.3.  Privacy Extensions for Address Configuration in IPv6 - RFC 4941
> 
>    Privacy Extensions for Stateless Address Autoconfiguration [RFC4941]
>    SHOULD be supported.  It is recommended that this behavior be
>    configurable on a connection basis within each application when
>    available.  It is noted that a number of applications do not work
>    with addresses generated with this method, while other applications
>    work quite well with them.

I took a quick glance at 4941, and I don't see any reference to being
able to configure stuff on a per-connection basis. (I.e., it's not
mentioned in "3.6.  Deployment Considerations").

That said, rather than looking at any of these and picking on them,
I'd like to up-level and ask what this document is trying to achieve.

When I read through the bis document, I found it contained very little
info in some cases (just a sentence pointing to a spec) or more
detailed information where specific requirements were extracted from a
particular RFC, as if to emphasize them more (e.g., consider Section
5.1, which talks about 2460). Maybe there was a reason for having all
that specific text back when we did (anyone remember why?). But some
of the text seems redundent and unnecessary at this time. Should we
trim it down?

My opinion is that there are a number of groups that have (or will) be
doing profiles of IPv6 over the next few years (e.g., as NIST and DoD
have done). What is in those profiles is very important. Many of those
documents will use the IETF node requirements doc as starting
point. Thus, to be useful, IMO, we should be providing more context
and guidance as to which to include and in what environments. That
would be more useful than just a "you SHOULD implement X".  The
current document is simply too sparse to achieve that.

Consider privacy extensions again. It has a simple SHOULD
recomendation that it be implemented. IMO, that is not helpful. There
is no need for routers to implement the spec. There is no need for
traditional servers to implement it. It only makes sense for mobile
devices to implement the extensions. And probably only devices that
are "personal" in the sense they belong to one (or a small number of)
individuals. But, if the IETF just says SHOULD, other folk doing
profiles may blindly include it in their profiles, when that doesn't
really make sense.

I'd like to propose that we turn this document into more of an
applicability statement. That is, mention specific RFCs, but include
context/applicablity wording that would guide an implementor (and
profile writer) as to what the RFC is useful for and when one might
want to implement it.

Thoughts?

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

Reply via email to