Re: [Gen-art] Gen-ART review of draft-atlas-icmp-unnumbered-08

<Black_David@emc.com> Mon, 28 December 2009 19:00 UTC

Return-Path: <Black_David@emc.com>
X-Original-To: gen-art@core3.amsl.com
Delivered-To: gen-art@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B8D543A6927 for <gen-art@core3.amsl.com>; Mon, 28 Dec 2009 11:00:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.253
X-Spam-Level:
X-Spam-Status: No, score=-5.253 tagged_above=-999 required=5 tests=[AWL=0.146, BAYES_00=-2.599, J_CHICKENPOX_42=0.6, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fao6bpvtcif0 for <gen-art@core3.amsl.com>; Mon, 28 Dec 2009 11:00:25 -0800 (PST)
Received: from mexforward.lss.emc.com (mexforward.lss.emc.com [128.222.32.20]) by core3.amsl.com (Postfix) with ESMTP id 43BCB3A681D for <gen-art@ietf.org>; Mon, 28 Dec 2009 11:00:25 -0800 (PST)
Received: from hop04-l1d11-si01.isus.emc.com (HOP04-L1D11-SI01.isus.emc.com [10.254.111.54]) by mexforward.lss.emc.com (Switch-3.3.2/Switch-3.1.7) with ESMTP id nBSJ00lF025828 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 28 Dec 2009 14:00:00 -0500
Received: from mailhub.lss.emc.com (numailhub.lss.emc.com [10.254.144.16]) by hop04-l1d11-si01.isus.emc.com (RSA Interceptor); Mon, 28 Dec 2009 13:59:47 -0500
Received: from corpussmtp5.corp.emc.com (corpussmtp5.corp.emc.com [128.221.166.229]) by mailhub.lss.emc.com (Switch-3.4.2/Switch-3.3.2mp) with ESMTP id nBSIxlcS018371; Mon, 28 Dec 2009 13:59:47 -0500
Received: from CORPUSMX80B.corp.emc.com ([10.254.89.203]) by corpussmtp5.corp.emc.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 28 Dec 2009 13:59:46 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 28 Dec 2009 13:59:45 -0500
Message-ID: <C2D311A6F086424F99E385949ECFEBCB012C44D0@CORPUSMX80B.corp.emc.com>
In-Reply-To: <4B38E3AC.6060303@cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Gen-ART review of draft-atlas-icmp-unnumbered-08
Thread-Index: AcqH3wjOY65yse5uTM+STB7EQ0eXIwADGJoA
References: <C2D311A6F086424F99E385949ECFEBCB012C42D7@CORPUSMX80B.corp.emc.com> <4B38E178.4050509@cisco.com> <4B38E3AC.6060303@cisco.com>
From: Black_David@emc.com
To: cpignata@cisco.com
X-OriginalArrivalTime: 28 Dec 2009 18:59:46.0945 (UTC) FILETIME=[EC92AF10:01CA87EF]
X-EMM-EM: Active
Cc: jrrivers@alumni.calpoly.edu, rbonica@juniper.net, gen-art@ietf.org, naiming@cisco.com, jari.arkko@piuha.net, alia.atlas@bt.com, Black_David@emc.com
Subject: Re: [Gen-art] Gen-ART review of draft-atlas-icmp-unnumbered-08
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/gen-art>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Dec 2009 19:00:26 -0000

Carlos,

I think you're getting carried away.  I would like to see some text
explaining why the ifIndex is useful in Section 3 rather than having
to go all the way down to the Security Considerations section to
figure out what it's useful for.  It doesn't need to involve SNMP,
more below ...

> I disagree with the intrinsic '"public"' nature and the 'clearly' use
> you mention; and so does the I-D, as the Security Considerations
section
> explicitly negates what you are saying here.

I don't think so.  In order to restrict use of this extension to within
an operator's network in all cases, the Security Considerations section
would have to contain a MUST or MUST NOT requirement that is not
present.

I suppose adding such a requirement could be an alternative to
explaining
why ifIndex is useful in Section 3, but I don't think such a requirement
would be a good idea (and I'm not asking for one to be added).

> Moreover, the motivation is not (as you say) in the use cases in
Section
> 3. The motivation is spelled out in the Introduction (ifIndex
identifies
> an unnumbered interface within the router). Section 3 provides
exemplary
> (and not all inclusive) use cases.

I'm sorry, but use cases are part of "motivation".  It would be a
significant improvement to include a use case in Section that involves
ifIndex.  It would be even better if that use case did not involve SNMP,
for example the following text from one of your replies would be a
good starting point:

> > A public use of the ifIndex can be to see different interfaces in a
> > router, seeing ECMPs with unnumbered, and not mapping them to an
> > interface name with an SNMP manager. That is a degree of
identification,
> > to know they are different.

That would help any other readers who make the same incorrect inference
that I made, namely that ifIndex is only useful as input to an
SNMP-based
tool (IMHO, not an unreasonable inference, as ifIndex is referenced from
a MIB RFC).

On to the nits ...

>> - Section 4.1: Explain what a C-Type is.  A few words and a reference
>> 	to Section 8 of RFC 4884 should suffice.
>
> Again we could add it but... RFC4884 is a _normative reference_,
meaning
> that

This is a *readability* improvement comment, not a suggestion that a
reference is missing.  If you have RFC 4884 completely memorized,
congratulations, but I suspect that will not be the case for many
readers of this document, hence a sentence explaining what a C-Type
is and pointing to Section 8 of RFC 4884 (already cited as a normative
reference) would be an improvement.

> > - Section 5.4: This appears to be poorly stated:
>
> There is no Section 5.4 in the document... I suspect you meant Section
4.5.

Yes, I did, sorry.

> >    A single instance of IP Address information MAY be included only
in
> >    the following circumstances:
> > 
> >    Included in what? 
> 
> It is, I think, self-evident when read in context (including previous
> sentence):
>
>   more than one instance of each of these three information
>   elements MUST NOT be included per Interface Information Object.
>
>   A single instance of IP Address information MAY be included only in
>   the following circumstances:

IMHO, the paragraph break makes it not self-evident.  

> We can s/be included/be included in an Interface Information Object/
at
> expense of being repetitive.

I would do that, as it's clearer.  As an alternative, remove the
paragraph
break.

> > I presume an Interface Information Object.  Also,
> >    MAY ... only is poor usage of RFC 2119 terminology.
> 
> Why? We are saying that the item (an IP Address information element)
is
> truly optional,

If that's what was truly meant, then "only in the following
circumstances:"
and the two bullet items following it need to be removed because they
place significant restrictions on when the item can be included, making
it
not truly optional.

> and the definition of MAY says:
>
>   5. MAY This word, or the adjective "OPTIONAL", mean that an item is
>      truly optional...
> 
> So how is the usage poor?

Read the *rest* of RFC 2119 (!).  The keywords MUST, MUST NOT, SHOULD,
SHOULD NOT and MAY are defined there, but MAY NOT is omitted.  The
latter
is a deliberate omission, as MAY NOT is ambiguous and bad standards
language
(e.g., MAY is equivalent to "may or may not").  The draft's text uses a
"MAY ... only in the following circumstances" construction, which is an
ambiguous variant of MAY NOT.  I understand what was meant, but in order
to use RFC 2119 keywords to correctly impose the two "only in the
following
circumstances" requirements, a MUST (or a MUST NOT) is appropriate,
e.g.,

>>    When an Interface Information Object contains an IP Address, one
of
>>    the following two conditions MUST be true:

Thanks,
--David

> -----Original Message-----
> From: Carlos Pignataro [mailto:cpignata@cisco.com]
> Sent: Monday, December 28, 2009 11:58 AM
> To: Black, David
> Cc: alia.atlas@bt.com; rbonica@juniper.net; JR Rivers;
naiming@cisco.com; gen-art@ietf.org;
> jari.arkko@piuha.net
> Subject: Re: Gen-ART review of draft-atlas-icmp-unnumbered-08
> 
> [apologize, hit send too quickly, wanted to add:]
> 
> public traceroute reports:
> 
> 10  namehidden1 (ipaddress1)  20 ms  55 ms  36 ms
>     MPLS Label=698653 Exp=0 TTL=1 S=0
>     MPLS Label=301856 Exp=0 TTL=1 S=1
> 11  namehidden2 (ipaddress2)  45 ms  52 ms  50 ms
>     MPLS Label=323717 Exp=0 TTL=1 S=0
>     MPLS Label=301856 Exp=0 TTL=2 S=1
> 
> But RFC4950 does not prescribe a traceroute + LIB/LFIB manager, which
I
> think would be analogous.
> 
> Thanks,
> 
> -- Carlos.
> 
> On 12/28/2009 11:48 AM, Carlos Pignataro wrote:
> > David,
> >
> > Please find one additional comment response to your suggestion.
> >
> > Excerpts from Black_David@emc.com on 12/27/2009:
> >> I suggest adding a Section 3.3 to discuss use of ifIndex with ICMP
and
> >> network management tools (e.g., enhanced traceroute plus an SNMP
> >> manager)
> >
> > I still feel that discussing this use would be a strong distraction
and
> > divertion, and not add substativeness to the spec, ultimatelly
causing
> > confusion.
> >
> > My traceroute app at home does IP address-to-name mapping, querying
DNS
> > and reporting hostnames; ICMP timexceeded was not spec'ed that way,
but
> > a 'traceroute + hostname manager querier' was useful. It also does:
> >       -A: Report AS# at each hop (from GRR)
> >       -O: Report owner at each hop (from DNS)
> >
> > because it was useful, and reports TOS change, none of which was
> > including on the ICMP timeexceeded or unreachable definitions.
> >
> > A public use of the ifIndex can be to see different interfaces in a
> > router, seeing ECMPs with unnumbered, and not mapping them to an
> > interface name with an SNMP manager. That is a degree of
idenfication,
> > to know they are different.
> >
> > Describing an app like you suggest would implicitly limit, I think.
We
> > are not spec'ing an application, only the extensions of ICMP, and it
> > seems to me that there is enough contextual applicability and
motivation
> > (without falling into over-framing and under-scoping).
> >
> > Thanks,
> >
> > -- Carlos.
> >