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

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Mon, 28 December 2009 21:18 UTC

Return-Path: <cpignata@cisco.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 815563A6892 for <gen-art@core3.amsl.com>; Mon, 28 Dec 2009 13:18:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.399
X-Spam-Level:
X-Spam-Status: No, score=-5.399 tagged_above=-999 required=5 tests=[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 J2QI1ZjzNUPF for <gen-art@core3.amsl.com>; Mon, 28 Dec 2009 13:18:02 -0800 (PST)
Received: from rtp-iport-2.cisco.com (rtp-iport-2.cisco.com [64.102.122.149]) by core3.amsl.com (Postfix) with ESMTP id E97CD3A68B5 for <gen-art@ietf.org>; Mon, 28 Dec 2009 13:18:01 -0800 (PST)
Authentication-Results: rtp-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos;i="4.47,464,1257120000"; d="scan'208";a="77133253"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rtp-iport-2.cisco.com with ESMTP; 28 Dec 2009 21:17:39 +0000
Received: from xbh-rcd-101.cisco.com (xbh-rcd-101.cisco.com [72.163.62.138]) by rcdn-core-5.cisco.com (8.14.3/8.14.3) with ESMTP id nBSLHdRg016546; Mon, 28 Dec 2009 21:17:39 GMT
Received: from xmb-rcd-104.cisco.com ([72.163.62.146]) by xbh-rcd-101.cisco.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 28 Dec 2009 15:17:39 -0600
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 15:17:36 -0600
Message-ID: <09FB4F5D1F5E7C4383319E2EF5E6B4457F41B6@XMB-RCD-104.cisco.com>
In-Reply-To: <C2D311A6F086424F99E385949ECFEBCB012C453A@CORPUSMX80B.corp.emc.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Gen-ART review of draft-atlas-icmp-unnumbered-08
Thread-Index: AcqH9uoa13wIMJnAQX2xblVtkt22QgABX9WQAAFKiIA=
References: <C2D311A6F086424F99E385949ECFEBCB012C42D7@CORPUSMX80B.corp.emc.com> <4B38E178.4050509@cisco.com> <4B38E3AC.6060303@cisco.com> <C2D311A6F086424F99E385949ECFEBCB012C44D0@CORPUSMX80B.corp.emc.com> <4B390BCE.4000509@cisco.com> <C2D311A6F086424F99E385949ECFEBCB012C453A@CORPUSMX80B.corp.emc.com>
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: Black_David@emc.com
X-OriginalArrivalTime: 28 Dec 2009 21:17:39.0069 (UTC) FILETIME=[2F24A2D0:01CA8803]
Cc: jrrivers@alumni.calpoly.edu, rbonica@juniper.net, gen-art@ietf.org, "Naiming Shen (naiming)" <naiming@cisco.com>, jari.arkko@piuha.net, alia.atlas@bt.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 21:18:04 -0000

David,

I think we are converging. To re-state, from my perspective:

1. ifIndex -- I think that adding a sentence describing different
potential uses of ifIndex inside and outside a management domain (esp.
its use outside) should be fine. I do not think it adds great value, but
it might not be as evident as it appeared.

2. C-Type -- No change needed. The only Normative reference outside the
very-well-known ones is RFC 4884, so it would be an easy choice on which
normative RFC to follow. Still, I do not mind a citation in the 1st line
of S4.1, like "For this object, the c-type _[RFC4884]_ is used", or a
parenthetical "see S8 of [RFC4884]", but I do not want a definition of
C-Type in this doc.

3. Section 4.5 -- Sure, that editorial seems sensible to me.

Thank you again for your review,

-- Carlos.

-----Original Message-----
From: Black_David@emc.com [mailto:Black_David@emc.com] 
Sent: Monday, December 28, 2009 3:59 PM
To: Carlos Pignataro (cpignata)
Cc: alia.atlas@bt.com; rbonica@juniper.net; jrrivers@alumni.calpoly.edu;
Naiming Shen (naiming); gen-art@ietf.org; jari.arkko@piuha.net;
Black_David@emc.com
Subject: RE: Gen-ART review of draft-atlas-icmp-unnumbered-08

Carlos,

Summarizing ...

-- ifIndex --

> For the record, my main objection was to designing an traceroute +
SNMP
> Manager application querying an SNMP agent, etc, etc.

That was never my intent.  I believe my current request is to explain
something along the lines of the following in Section 3:

>>> 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.

In other words, the ifIndex can be effectively used as an opaque token
to identify whether two ICMP messages involve the same interface
(ifIndex
values match) or not (ifIndex values are different).  I remain of the
opinion that this ability to use ifIndex outside of SNMP is both
somewhat
unexpected and important enough to mention, especially as the definition
of ifIndex is via reference to a MIB RFC.

-- C-Type --

This was a readability nit, no change is necessary.  I noted it because
when I reached the start of Section 4.1 in reviewing the draft, it was
not clear to me where C-Type was defined.  That sent me scurrying off
to go find its definition in order to understand the contents of
Section 4.1.  Unlike you, I did not know which RFC to check first.

-- Section 4.5 --

Trying to limit edits to the current text, try this ...

OLD
   A single instance of IP Address information MAY be included only in
   the following circumstances:
NEW (remove "only", add object)
   A single instance of IP Address information MAY be included in
   an Interface Information Object under the following circumstances:

After the two bullet items, add the following sentence to impose the
restriction to those circumstances.

NEW
   In all other circumstances, IP address information MUST NOT be
   included.


Thanks,
--David


> -----Original Message-----
> From: Carlos Pignataro [mailto:cpignata@cisco.com]
> Sent: Monday, December 28, 2009 2:50 PM
> To: Black, David
> Cc: alia.atlas@bt.com; rbonica@juniper.net;
jrrivers@alumni.calpoly.edu; naiming@cisco.com; gen-
> art@ietf.org; jari.arkko@piuha.net
> Subject: Re: Gen-ART review of draft-atlas-icmp-unnumbered-08
> 
> David,
> 
> I tried to convey as clearly as I could the reasons why I feel
strongly
> that what you suggested was not a good idea for the document. Sorry
for
> the carried away, it was an attempt at extra clarity. I think the new
> twist can be of help, and the counter-suggestion won't hurt.
> 
> Please see inline my additional $0.005, then I will let others chime
in
> with their thoughts.
> 
> On 12/28/2009 1:59 PM, Black_David@emc.com wrote:
> > 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).
> 
> I agree adding a MUST NOT requirement is not the solution.
> 
> >
> >> 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".
> 
> The motivation is to allow identifying the incoming interface for a
> packet that elicited an ICMP error; there are scenarios in this
> motivation, like the use of asymmetric return paths or unnumbered
> interfaces, and there are further applications.
> 
> >  It would be a
> > significant improvement to include a use case in Section 3 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).
> 
> OK, with this clarification my objection is certainly not so strong. I
> think adding something along these lines won't hurt (but I do not
> believe it will be of great value either).
> 
> For the record, my main objection was to designing an traceroute +
SNMP
> Manager application querying an SNMP agent, etc, etc.
> 
> >
> > 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.
> 
> Thank you for the suggestion, I think that any implementor would
> understand C-Type (memorized or not), so I do not see a huge
readability
> improvement. And that a simplified C-Type explanation can deter
someone
> from actually reading RFC 4884 when they should.
> 
> >
> >>> - 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.
> 
> OK, I agree, and I think that the addition of "in an Interface
> Information Object" is the most clear modification.
> 
> >
> >>> 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.,
> 
> I still read that: "in the following circumstances, it is truly
optional
> to include the IP Address". As in, given this initial conditions, you
> MAY do it. But rephrases that won't alter the semantics are welcome.
> 
> Thanks,
> 
> -- Carlos.
> 
> >
> >>>    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.
> >>>
> >
> >