Re: [MIB-DOCTORS] MIB doctor review for draft-ietf-bfd-tc-mib-07.txt

Jeffrey Haas <jhaas@pfrc.org> Thu, 08 May 2014 13:00 UTC

Return-Path: <jhaas@slice.pfrc.org>
X-Original-To: mib-doctors@ietfa.amsl.com
Delivered-To: mib-doctors@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0AB41A04B9 for <mib-doctors@ietfa.amsl.com>; Thu, 8 May 2014 06:00:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.219
X-Spam-Level:
X-Spam-Status: No, score=-2.219 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, IP_NOT_FRIENDLY=0.334, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7rzhMzKNk6Wi for <mib-doctors@ietfa.amsl.com>; Thu, 8 May 2014 06:00:11 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id CE9941A02B2 for <mib-doctors@ietf.org>; Thu, 8 May 2014 06:00:11 -0700 (PDT)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 53DADC2A7; Thu, 8 May 2014 09:00:07 -0400 (EDT)
Date: Thu, 08 May 2014 09:00:07 -0400
From: Jeffrey Haas <jhaas@pfrc.org>
To: "Bert Wijnen (IETF)" <bertietf@bwijnen.net>
Message-ID: <20140508130007.GP17758@pfrc>
References: <536B77F8.8050407@bwijnen.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <536B77F8.8050407@bwijnen.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: http://mailarchive.ietf.org/arch/msg/mib-doctors/_XJu-uaWESMNroWtafA7HP2C_vA
Cc: "mib-doctors >> MIB Doctors" <mib-doctors@ietf.org>, draft-ietf-bfd-tc-mib.all@tools.ietf.org
Subject: Re: [MIB-DOCTORS] MIB doctor review for draft-ietf-bfd-tc-mib-07.txt
X-BeenThere: mib-doctors@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: MIB Doctors list <mib-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mib-doctors>, <mailto:mib-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mib-doctors/>
List-Post: <mailto:mib-doctors@ietf.org>
List-Help: <mailto:mib-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mib-doctors>, <mailto:mib-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 May 2014 13:00:14 -0000

Bert,

Thanks for the review.  Commenting as shepherd rather than as one of the
authors:

On Thu, May 08, 2014 at 02:26:32PM +0200, Bert Wijnen (IETF) wrote:
> Sorry for my late review. Vacation and blabla-excuses.
> Hope this is still helpful.
> 
> 1.I can live with (i.e. this is just a comment, not a blocking issue) TCs for
>       BfdCtrlDestPortNumberTC
>       BfdCtrlSourcePortNumberTC
>   But I fail to see why InetPortNumber TC would not suffice.

Mostly because they add suggestions on the values involved and those
suggestions may evolve over time as the protocol continues to also evolve.  

Prior to refactoring to the TC MIB, the constraints/recommendations  were in
the base MIB, meaning that the base MIB would have to be reissued rather
than the somewhat easier to update TC MIB.  (I.e. structure doesn't change,
merely constraints.)

While I suspect this is mostly preference rather than a real technical
objection, I don't think anyone is eager to ever re-open work on the base
MIB. :-)

> 2.The same is more or less true for
> 
>     BfdSessIndexTC ::= TEXTUAL-CONVENTION
>     DISPLAY-HINT   "d"
>     STATUS         current
>     DESCRIPTION
>         "An index used to uniquely identify BFD sessions."
>     SYNTAX Unsigned32 (1..4294967295)
> 
>   If you see it used in, for example:
>     bfdSessDiscMapIndex OBJECT-TYPE
>         SYNTAX     BfdSessIndexTC
>         MAX-ACCESS read-only
>         STATUS     current
>         DESCRIPTION
>             "This object specifies a mapping between a
>              local discriminator and a BFD Session in
>              the BfdSessTable."
>         ::= { bfdSessDiscMapEntry 1 }
> 
>   Then I wonder what value the TC adds?

0 is special in this case.  

> 
> 3.Same for:
>     BfdIntervalTC ::= TEXTUAL-CONVENTION
>     DISPLAY-HINT  "d"
>     STATUS        current
>     DESCRIPTION
>         "The BFD interval in microseconds."
>     SYNTAX Unsigned32 (0..4294967295)
> 
> 
>   If you see it used in, for example
> 
>     bfdSessDesiredMinTxInterval OBJECT-TYPE
>         SYNTAX     BfdIntervalTC
>         MAX-ACCESS read-create
>         STATUS     current
>         DESCRIPTION
>             "This object specifies the minimum interval, in
>              microseconds, that the local system would like to use
>              when transmitting BFD Control packets. The value of
>              zero(0) is reserved in this case, and should not be
>              used."
>         REFERENCE
>             "Section 4.1 from Katz, D. and D. Ward, Bidirectional
>              Forwarding Detection (BFD), RFC 5880, June 2012."
>         ::= { bfdSessEntry 25 }
> 
>    Then what value is added by using a TC. In fact you can even quetion if it
>    is not conflicting, because according to the TC description clause I would
>    expect zero to be a valid interval value, where as here it describes
>    that zero is a special value and should not be used. So it is only special
>    Since it should NOT BE used, or does zero mean something special?
>    Assuming zero SHOULD NOT be used. I personally would just do:
> 
>     bfdSessDesiredMinTxInterval OBJECT-TYPE
>         SYNTAX Unsigned32 (1..4294967295)
>         MAX-ACCESS read-create
>         STATUS     current
>         UNITS      microseconds
>         DESCRIPTION
>             "This object specifies the minimum interval that the local
>              system would like to use when transmitting BFD Control packets.
>         REFERENCE
>             "Section 4.1 from Katz, D. and D. Ward, Bidirectional
>              Forwarding Detection (BFD), RFC 5880, June 2012."
>         ::= { bfdSessEntry 25 }
> 
>   In case zero has special meaning I would do:
>     bfdSessDesiredMinTxInterval OBJECT-TYPE
>         SYNTAX Unsigned32 (0 | 1..4294967295)
>         MAX-ACCESS read-create
>         STATUS     current
>         UNITS      microseconds
>         DESCRIPTION
>             "This object specifies the minimum interval that the local
>              system would like to use when transmitting BFD Control packets.
>              The value zero has been reserved for a special maning:
>              <describe what zero means>
>         REFERENCE
>             "Section 4.1 from Katz, D. and D. Ward, Bidirectional
>              Forwarding Detection (BFD), RFC 5880, June 2012."
>         ::= { bfdSessEntry 25 }

The primary benefit of having it in the object is that we get to specify
units.  (I never understood why that was missing from TC.)  Beyond that,
it's just a refactoring of constraints in case they're further refined.

[...]

> It boils down to the question: does the BFD-TC-STD-MIB make sense at all or is it
> just extra/superfluous text? was the concept of TC invented for that?

What's funny is when I was chasing similar issues in much earlier days of
the BGP MIB work I was pushed heavily to move things to TC.  Again, seems to
be preference. :-)

> 
> The IANA-BFD-TC-STD-MIB module makes sense I think, because it allows to add
> definitions by the IANA function.
> 
> I have not yet done a MIB SYNTAX checker run on it. But I assume others have done so.

It would be appreciated if you'd run available checks on it.  I'm aware that
it's passed smilint in the past but I'm somewhat paranoid that a typo
introduces an error at some point.  None of us had smicng.

-- Jeff