Re: [netmod] review of draft-ietf-netmod-interfaces-cfg-04

Martin Bjorklund <mbj@tail-f.com> Wed, 13 June 2012 07:24 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6048221F8625 for <netmod@ietfa.amsl.com>; Wed, 13 Jun 2012 00:24:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.046
X-Spam-Level:
X-Spam-Status: No, score=-2.046 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I1iGAi+7r52u for <netmod@ietfa.amsl.com>; Wed, 13 Jun 2012 00:24:10 -0700 (PDT)
Received: from mail.tail-f.com (de-2007.d.ipeer.se [213.180.74.102]) by ietfa.amsl.com (Postfix) with ESMTP id E1B3E21F860E for <netmod@ietf.org>; Wed, 13 Jun 2012 00:24:09 -0700 (PDT)
Received: from localhost (138.162.241.83.in-addr.dgcsystems.net [83.241.162.138]) by mail.tail-f.com (Postfix) with ESMTPSA id 34EFE1200DB8; Wed, 13 Jun 2012 09:24:08 +0200 (CEST)
Date: Wed, 13 Jun 2012 09:24:08 +0200
Message-Id: <20120613.092408.1747766587053200776.mbj@tail-f.com>
To: alex@cisco.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <196FFAC4F80A9142A8C30A7EE9C33B790BC8834F@xmb-sjc-239.amer.cisco.com>
References: <196FFAC4F80A9142A8C30A7EE9C33B790BBDE98A@xmb-sjc-239.amer.cisco.com> <20120612.133631.1256315680281708071.mbj@tail-f.com> <196FFAC4F80A9142A8C30A7EE9C33B790BC8834F@xmb-sjc-239.amer.cisco.com>
X-Mailer: Mew version 6.4 on Emacs 23.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Cc: netmod@ietf.org
Subject: Re: [netmod] review of draft-ietf-netmod-interfaces-cfg-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netmod>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jun 2012 07:24:11 -0000

Hi,

"Alexander Clemm (alex)" <alex@cisco.com> wrote:
> Hello Martin,
> 
> thank you for your response - some replies below, <ALEX> delineated
> 
> Thanks
> --- Alex
> 
> ...
> 
> 
> > p7 - ifPromiscuousode not mapped because not a configuration object.
> > Agree with this in spirit, but neither is ifIndex, yet it is included.
> > It might be good to add a comment why to keep ifIndex (important for
> > mappings, want it persisted between reboots, etc etc) 
> 
> Actually, ifIndex is not included in the configuration model - it is
> included as a non-config object, in order to facilitate the mapping.
> This document does not assume anything about if/how ifIndex is
> persistent between reboots.
> 
> 
> <ALEX> 
> 
> My comment pertained to the reason that is given for not including
> ifPromiscousMode.

It is writable in the MIB, but does not represent configuration.
Hence it is not included.

ifIndex is not writable in the MIB, so the reason for not including
ifPromiscousMode does not apply to ifIndex.

Do you have a suggestion for some text to make this more clear?

> > p10 - leaf name "A device MAY restrict the allowed values for this
> > leaf...."  It would be good to provide a section that provides clear
> > instructions/ recommendations how to provide such restrictions.  (An
> > implementation will have to be clear on what those restrictions are,
> as
> > ultimately they will need to be validated.)  Section 3.1 could be
> > expanded for this purpose, which already talks about how to augment
> this
> > for interface type specific data.  
> 
> The current text says:
> 
>            Such an implementation MAY restrict the allowed values
>            for this leaf so that it matches the restrictions of
>            ifName.";
>         reference
>           "RFC 2863: The Interfaces Group MIB - ifName";
> 
> This really just refers the reader to the ifName definition (which
> leads to RFC 2579 DisplayString, which in turn references RFC 854).  I
> would prefer to not duplicate this text, but keep the reference.
> 
> 
> <ALEX> 
> 
> The text given in the leaf description makes sense and clearly is all
> that can be specified here.  My comment pertains to the product that now
> wants to implement that.  This implementation may very well (as
> specified here) restrict the allowed values.  How and where are these
> restrictions to be expressed?  One way is to not express these at all.
> In that case, some validation above and beyond what is specified in the
> YANG module needs to occur

Yes, this is the current situation.

> and the rules for that validation are not
> obvious from the YANG module itself.

Correct.  The YANG module doesn't have any formal restriction, but it
allows implementations to restrict values according to the rules of a
DisplayString.

> An alternative would consist in
> introducing an augmentation that defines these additional
> constraints.

Unfortunately, this isn't really possible with standard YANG.  You
cannot add constraints via augmentations.


> I believe the usefulness of the document would be improved if it could
> provide some guidance on how to do that instead of leaving it up to
> readers of the document to figure it out for themselves; it would make
> the spec easier to use and show implementers how the value of YANG-based
> validation can still be derived.  
> 
> </ALEX>


> 
> 
> .....
> 
> > As a side note, if the purpose of this is to turn on or off an
> > interface, have you considered defining this as an RPC?
> 
> No, this is a persistently stored configuration object, so it should
> not be modelled as an RPC.
> 
> <ALEX>
> 
> I understand this is MODELED as a persistently stored configuration
> object, but it doesn't have to be that.  You can also interpret this
> simply as an action.  Just as a consideration, with regards to the
> Netconf-light discussion, if you force people to replace the entire
> configuration each time they plan to enable or disable a single
> interface will seem awkward - just my 2 cents.
> 
> </ALEX> 

I agree with Juergens comment on this one.  If we start to add RPCs to
change some config params, where do we stop?  NETCONF is by design
"document-oriented" (see Juergen's expired
http://tools.ietf.org/id/draft-schoenw-sming-lessons-01.txt) and we
should not change that.


/martin