Re: [Softwires] Yangdoctors last call review of draft-ietf-softwire-yang-06

<mohamed.boucadair@orange.com> Tue, 06 November 2018 12:46 UTC

Return-Path: <mohamed.boucadair@orange.com>
X-Original-To: softwires@ietfa.amsl.com
Delivered-To: softwires@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FE0412958B; Tue, 6 Nov 2018 04:46:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 MeLBN7W9LOet; Tue, 6 Nov 2018 04:46:22 -0800 (PST)
Received: from orange.com (mta134.mail.business.static.orange.com [80.12.70.34]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D3710130DC3; Tue, 6 Nov 2018 04:46:21 -0800 (PST)
Received: from opfednr07.francetelecom.fr (unknown [xx.xx.xx.71]) by opfednr21.francetelecom.fr (ESMTP service) with ESMTP id 42q8Rw16cFz5w7m; Tue, 6 Nov 2018 13:46:20 +0100 (CET)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [xx.xx.31.41]) by opfednr07.francetelecom.fr (ESMTP service) with ESMTP id 42q8Rw0FpKzFpWf; Tue, 6 Nov 2018 13:46:20 +0100 (CET)
Received: from OPEXCLILMA3.corporate.adroot.infra.ftgroup ([fe80::60a9:abc3:86e6:2541]) by OPEXCLILM31.corporate.adroot.infra.ftgroup ([fe80::2cc9:4bac:7b7d:229d%19]) with mapi id 14.03.0415.000; Tue, 6 Nov 2018 13:46:19 +0100
From: mohamed.boucadair@orange.com
To: Martin Bjorklund <mbj@tail-f.com>
CC: "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "softwires@ietf.org" <softwires@ietf.org>, "draft-ietf-softwire-yang.all@ietf.org" <draft-ietf-softwire-yang.all@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>
Thread-Topic: Yangdoctors last call review of draft-ietf-softwire-yang-06
Thread-Index: AQHUa2M7Wvr+EyZx90+yNOq28uTh+qUt8mfggBTSm0A=
Date: Tue, 06 Nov 2018 12:46:19 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B93302E03E0D8@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
References: <787AE7BB302AE849A7480A190F8B93302E019B52@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <20181023.153003.558721163541938191.mbj@tail-f.com> <787AE7BB302AE849A7480A190F8B93302E019F79@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <20181024.083145.456303270328710769.mbj@tail-f.com> <787AE7BB302AE849A7480A190F8B93302E025B62@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
In-Reply-To: <787AE7BB302AE849A7480A190F8B93302E025B62@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.234.6]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/softwires/6ML7GYapS62oTmgGIkFVsI9Ed_A>
Subject: Re: [Softwires] Yangdoctors last call review of draft-ietf-softwire-yang-06
X-BeenThere: softwires@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: softwires wg discussion list <softwires.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/softwires>, <mailto:softwires-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/softwires/>
List-Post: <mailto:softwires@ietf.org>
List-Help: <mailto:softwires-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/softwires>, <mailto:softwires-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Nov 2018 12:46:26 -0000

Hi Martin,

FWIW, a new revision which implements the last edits we discussed is available online: https://tools.ietf.org/html/draft-ietf-softwire-yang-12. Also, this version fixes the "id" thing. 

Cheers,
Med

> -----Message d'origine-----
> De : mohamed.boucadair@orange.com [mailto:mohamed.boucadair@orange.com]
> Envoyé : mercredi 24 octobre 2018 08:51
> À : Martin Bjorklund
> Cc : yang-doctors@ietf.org; softwires@ietf.org; draft-ietf-softwire-
> yang.all@ietf.org; ietf@ietf.org
> Objet : RE: Yangdoctors last call review of draft-ietf-softwire-yang-06
> 
> Hi Martin,
> 
> Please see inline.
> 
> Cheers,
> Med
> 
> > -----Message d'origine-----
> > De : Martin Bjorklund [mailto:mbj@tail-f.com]
> > Envoyé : mercredi 24 octobre 2018 08:32
> > À : BOUCADAIR Mohamed TGI/OLN
> > Cc : yang-doctors@ietf.org; softwires@ietf.org; draft-ietf-softwire-
> > yang.all@ietf.org; ietf@ietf.org
> > Objet : Re: Yangdoctors last call review of draft-ietf-softwire-yang-06
> >
> > Hi,
> >
> > <mohamed.boucadair@orange.com> wrote:
> > > Re-,
> > >
> > > Fixed the first two ones in my local copy.
> > >
> > > id is optional. I'm maintaining it because it is already used by some
> > > implementations.
> >
> > Ok, but these implementations propably need to change anyway since the
> > "id" is no longer the key.
> 
> [Med] Yes.
> 
> >
> > I will just point out that having one key and another integer based
> > identifier that doesn't serve any purpose looks a bit odd.  But if the
> > WG thinks that it is needed then that's fine (although in this case I
> > suggest you add some text to the descriptions of these leafs that
> > explain what the purpose is).
> >
> >
> > I had a closer look at the iana-tunnel-type module and the
> > instructions to IANA, and I think that you could make some minor
> > clarificiations:
> >
> > In the module description, you have:
> >
> >         This module contains a collection of YANG data types defined
> >         by IANA and used for tunnel types.
> >
> > perhaps write:
> >
> >         This module contains a collection of YANG identities defined
> >         by IANA and used as interface types for tunnel interfaces.
> >
> 
> [Med] Works for me.
> 
> > And in the IANA Considerations section you have:
> >
> >
> >    "base":        Contains the value of the tunnel type in lowercase.
> >
> > maybe instead
> >
> >    "base":        Contains the string "ift:tunnel".
> >
> >
> >
> 
> [Med] That text is referring to the table in
> https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi-numbers-6.
> 
> We can change the text for better clarity to:
> 
> "base":        Contains the name assigned to the tunnel type, in lowercase.
> 
> >
> > /martin
> >
> >
> >
> > >
> > > Thank you again for the review. Much appreciated!
> > >
> > > Cheers,
> > > Med
> > >
> > > > -----Message d'origine-----
> > > > De : Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > Envoyé : mardi 23 octobre 2018 15:30
> > > > À : BOUCADAIR Mohamed TGI/OLN
> > > > Cc : yang-doctors@ietf.org; softwires@ietf.org; draft-ietf-softwire-
> > > > yang.all@ietf.org; ietf@ietf.org
> > > > Objet : Re: Yangdoctors last call review of
> > > > draft-ietf-softwire-yang-06
> > > >
> > > > Hi,
> > > >
> > > > Thanks for the quick update!
> > > >
> > > > I have looked at -11, and have just a few minor comments.
> > > >
> > > > o  Section 5.1
> > > >
> > > >   Maybe the tree diagram needs to be re-generated; at least:
> > > >
> > > >            |     +--rw bind-instance* [id]
> > > >
> > > >   should be
> > > >
> > > >            |     +--rw bind-instance* [name]
> > > >
> > > >
> > > >
> > > > o  Section 8
> > > >
> > > >
> > > >             leaf softwire-num-max {
> > > >               type uint32;
> > > >               must ". >= 1";
> > > >
> > > >   This should be:
> > > >
> > > >             leaf softwire-num-max {
> > > >               type uint32 {
> > > >                 range "1..max";
> > > >               }
> > > >
> > > >
> > > > o  Section 8
> > > >
> > > >   Since you now have "name" as key in the lists, is the leaf "id"
> > > >   still needed?
> > > >
> > > >
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > >
> > > > <mohamed.boucadair@orange.com> wrote:
> > > > > Re-,
> > > > >
> > > > > Please see inline.
> > > > >
> > > > > Cheers,
> > > > > Med
> > > > >
> > > > > > -----Message d'origine-----
> > > > > > De : Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > Envoyé : mardi 23 octobre 2018 10:05
> > > > > > À : BOUCADAIR Mohamed TGI/OLN
> > > > > > Cc : yang-doctors@ietf.org; softwires@ietf.org; draft-ietf-
> softwire-
> > > > > > yang.all@ietf.org; ietf@ietf.org
> > > > > > Objet : Re: Yangdoctors last call review of
> > > > > > draft-ietf-softwire-yang-06
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > <mohamed.boucadair@orange.com> wrote:
> > > > > > > Hi Martin,
> > > > > > >
> > > > > > > Thank you for the review.
> > > > > > >
> > > > > > > We released a new revision -08 to address your comments. We will
> > > > > > > double check the formatting and issue another iteration if
> needed.
> > > > > >
> > > > > > Thank's for addressing my comments.  See inline and at the end for
> > > > > > some new comments on -08.
> > > > > >
> > > > > >
> > > > > > > Please see inline.
> > > > > > >
> > > > > > > Cheers,
> > > > > > > Med
> > > > > > >
> > > > > > > > -----Message d'origine-----
> > > > > > > > De : Martin Björklund [mailto:mbj@tail-f.com]
> > > > > > > > Envoyé : lundi 15 octobre 2018 11:00
> > > > > > > > À : yang-doctors@ietf.org
> > > > > > > > Cc : softwires@ietf.org; draft-ietf-softwire-yang.all@ietf.org;
> > > > > > ietf@ietf.org
> > > > > > > > Objet : Yangdoctors last call review of draft-ietf-softwire-
> yang-
> > 06
> > > > > > > >
> > > > > > > > Reviewer: Martin Björklund
> > > > > > > > Review result: Ready with Issues
> > > > > > > >
> > > > > > > > This is my YANG doctor review of draft-ietf-softwire-yang-06.
> > The
> > > > > > > > review focuses on YANG-specifics only, since I am not familiar
> > with
> > > > > > > > the technology that is modelled.
> > > > > > > >
> > > > > > > > o  I would like to see all Tom Petch's comments in his three
> > replies
> > > > > > > >    to the IETF LC for this document addressed.  Especially his
> > > > comment
> > > > > > > >    about using ianatf:tunnel.
> > > > > > > >
> > > > > > >
> > > > > > > [Med] This is fixed in -07. A new tunnel-type parameter is
> defined
> > > > > > > to handle this.
> > > > > >
> > > > > > I think that the addition of identities for various tunnel types
> that
> > > > > > derive from ift:tunnel is the right thing to do.
> > > > >
> > > > > [Med] OK, thanks
> > > > >
> > > > > >
> > > > > > However, since these identities derive from ift:tunnel, the
> > > > > > augmentation of ietf-interfaces in ietf-interface-tunnel is not
> > > > > > needed.
> > > > >
> > > > > [Med] ietf-interface-tunnel tries to preserve a similar structure as
> > > > > in
> > > > https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib, but
> > > > you are
> > > > right we can get rid of it.
> > > > >
> > > > >  Instead, the new identities should be used as if:type
> > > > > > directly.  For example, instead of:
> > > > > >
> > > > > >   <interface xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-
> > type">
> > > > > >     <name>lw4o6-wan</name>
> > > > > >     <type>ianaift:tunnel</type>
> > > > > >     <tunnel-type
> > > > > >       xmlns:iana-tunnel-type="urn:ietf:params:xml:ns:yang:iana-
> > tunnel-
> > > > type">
> > > > > >       iana-tunnel-type:aplusp
> > > > > >     </tunnel-type>
> > > > > >     ...
> > > > > >   </interface>
> > > > > >
> > > > > > you should do:
> > > > > >
> > > > > >   <interface>
> > > > > >       xmlns:iana-tunnel-type="urn:ietf:params:xml:ns:yang:iana-
> > tunnel-
> > > > type">
> > > > > >     <name>lw4o6-wan</name>
> > > > > >     <type>iana-tunnel-type:aplusp</type>
> > > > > >     ...
> > > > > >   </interface>
> > > > > >
> > > > > > So, I think you should remove the ietf-tunnel-type module.
> > > > > >
> > > > >
> > > > > [Med] OK.
> > > > >
> > > > > >
> > > > > > An additional comment on the identities in iana-tunnel-type; for
> each
> > > > > > identity, I think you should add a "reference" statement that
> points
> > > > > > to the RFC(s) that define the tunnel.  (available in the IANA
> > registry
> > > > > > at
> > > > > > https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi-
> > > > numbers-5)
> > > > > >
> > > > >
> > > > > [Med] I guess you meant
> > > > > https://www.iana.org/assignments/smi-numbers/smi-
> > > > numbers.xhtml#smi-numbers-6. Fixed in my local copy, except form
> > > > IPHTTPS for
> > > > which we don't have an RFC.
> > > > >
> > > > > >
> > > > > >
> > > > > > > > o  The term "instance" is used to mean - I think - the
> "device".
> > > > > > >
> > > > > > > [Med] It is used to mean function rather than device. A device
> may
> > > > > > > enable multiple instances of the same function.
> > > > > >
> > > > > > But you have for example in the description of "binding-mode":
> > > > > >
> > > > > >       This feature indicates that the instance functions as a
> binding
> > > > > >       based softwire instance.
> > > > > >
> > > > > > And in container algo-instances you have:
> > > > > >
> > > > > >             The instances advertise the MAP-E/MAP-T
> > > > > >             feature through the capability exchange mechanism
> > > > > >             when a NETCONF session is established."
> > > > > >
> > > > > > Unless your intentation is that one "instance" == one "function" ==
> > > > > > one NETCONF server, then this text is not correct.
> > > > > >
> > > > > > So I am a bit confused - if the device advertises the feature
> > > > > > "binding-mode" it means that "it functions as a binding based
> > softwire
> > > > > > instance".  Maybe you mean something along the lines of
> > > > > >
> > > > > >       This feature indicates that the network element can function
> as
> > > > > >       one or more binding based softwire instances.
> > > > > >
> > > > >
> > > > > [Med] This is it. Updates when appropriate.
> > > > >
> > > > > > (I don't know if you want to use the term "network element" or
> > > > > > something else.)
> > > > > >
> > > > >
> > > > > [Med] Network element is fine.
> > > > >
> > > > > >
> > > > > > Also there is similar text for the features map-e and map-t.
> > > > > >
> > > > > >
> > > > >
> > > > > [Med] Yes.
> > > > >
> > > > > > Anyway, if this meaning of the word "instance" is defined
> somewhere,
> > > > > > I suggest you add a reference to that other doc; or else explain
> this
> > > > > > meaning in 1.1.
> > > > > >
> > > > >
> > > > > [Med] added to the terminology section:
> > > > >
> > > > >    A network element may support one or multiple instances of a
> > softwire
> > > > >    mechanism; each of these instances may have its own configuration
> > and
> > > > >    parameters.
> > > > >
> > > > > >
> > > > > > >   I
> > > > > > > >    didn't find this term in the RFCs 7596, 7597 or 7599.  I
> > suggest
> > > > > > > >    you use some other term, since "instance" is quite generic,
> > and is
> > > > > > > >    often used to refer to instances of YANG data nodes.
> > > > > > > >
> > > > > > > >    Also, does the term "instance" mean the same thing in
> > > > > > > >    "algo-instance"?  And in "br-instances"?  "bind-instance"?
> > > > > > > >
> > > > > > > >
> > > > > > > [Med] algo-instance means an instance of type
> > > > > > > algorithm. br-instances denotes a set of br instances, and
> > > > > > > bind-instance means an instance of type binding.
> > > > > >
> > > > > > I could guess that.  I think the issue is when the word "instance"
> is
> > > > > > used unqualified.
> > > > >
> > > > > [Med] Updated to avoid unqualified "instances"
> > > > >
> > > > > >
> > > > > > > > o  In ietf-softwire-common:
> > > > > > > >
> > > > > > > >   grouping algorithm-instance {
> > > > > > > >     description
> > > > > > > >       "Indicates that the instance supports the MAP-E and MAP-T
> > > > > > > >       function. The instance advertises the MAP-E/MAP-T feature
> > > > > > > >       through the capability exchange mechanism when a NETCONF
> > > > > > > >       session is established.";
> > > > > > > >
> > > > > > > >   This description does not seem right.  A grouping can't
> > indicate
> > > > > > > >   anything.  Also, what is "the MAP-E/MAP-T feature"?
> > > > > > > >
> > > > > > >
> > > > > > > [Med] Fixed.
> > > > > > >
> > > > > > > >
> > > > > > > > o  In ietf-softwire-ce:
> > > > > > > >
> > > > > > > >   A similar description is found here:
> > > > > > > >
> > > > > > > >         container algo-instances {
> > > > > > > >           description
> > > > > > > >             "Indicates that the instances supports the MAP-E
> and
> > MAP-
> > > > T
> > > > > > > >             function. The instances advertise the MAP-E/MAP-T
> > > > > > > >             feature through the capability exchange mechanism
> > > > > > > >             when a NETCONF session is established.";
> > > > > > > >
> > > > > > > >   same comments apply.
> > > > > > > >
> > > > > > >
> > > > > > > [Med] Fixed.
> > > > > >
> > > > > > This text is still present, with a minor change:
> > > > > >
> > > > > >         container algo-instances {
> > > > > >           description
> > > > > >             "Indicates that the instances supports the MAP-E and/or
> > MAP-T
> > > > > >             function. The instances advertise the MAP-E/MAP-T
> > > > > >             feature through the capability exchange mechanism
> > > > > >             when a NETCONF session is established.";
> > > > > >
> > > > > > But since the container "algo-instances" is a non-presence
> container,
> > > > > > it can't "indicate" anything.  This text needs to be rephrased.
> > > > > >
> > > > >
> > > > > [Med] Updated accordingly.
> > > > >
> > > > > >
> > > > > > > > o  In ietf-softwire-common:
> > > > > > > >
> > > > > > > >     container algo-versioning {
> > > > > > > >       description "algorithm's version";
> > > > > > > >       leaf version {
> > > > > > > >         type uint64;
> > > > > > > >         description "Incremental version number for the
> > algorithm";
> > > > > > > >       }
> > > > > > > >       leaf date {
> > > > > > > >         type yang:date-and-time;
> > > > > > > >         description "Timestamp to the algorithm";
> > > > > > > >       }
> > > > > > > >     }
> > > > > > > >
> > > > > > > >   Maybe these descriptions are crystal clear to someone who
> knows
> > the
> > > > > > > >   technology.  If so, perhaps add a reference to help the rest
> of
> > us?
> > > > > > > >
> > > > > > >
> > > > > > > [Med] This is used for logging purposes. A reference to RFC7422
> is
> > > > added.
> > > > > >
> > > > > > Ok.  I still don't really understand how it is supposed to be used.
> > > > > >
> > > > > > When you write "version number for the algorithm", do you mean
> > > > > > "version number for this algo-instance"?
> > > > >
> > > > > [Med] What is meant is:
> > > > >
> > > > >           "Incremental version number for the mapping
> > > > >            algorithm rules provided to the algorithm instance";
> > > > >
> > > > > An algorithm instance may be provided with mapping rules that may
> > > > > change in
> > > > time (for example, increase the size of the port set). When an abuse
> > > > party
> > > > presents an external IP address/port, the version of the algorithm is
> > > > important because depending on the version, a distinct customer may be
> > > > identified. The timestamp is used as a key to find the appropriate
> > > > algorithm
> > > > that was put into effect when an abuse occurred.
> > > > >
> > > > > Updated the description among these lines.
> > > > >
> > > > > >
> > > > > > These are config true leafs; should they be config false and
> > > > > > internally managed by the server?
> > > > >
> > > > > [Med] This can be generated by the server or set by an operator.
> > > > >
> > > > >  If not, I suppose an operator can
> > > > > > set them to any suitable values?   If so, what does "incremental
> > > > > > version number" really mean?  Is the server supposed to reject a
> > value
> > > > > > that is not "incremental"?
> > > > >
> > > > > [Med] What is important is to have a unique version number, how is
> set
> > > > > is
> > > > not important. Incremental seems to be straightforward, but one may
> > > > envisage
> > > > other ways to manage versions. I deleted "incremental".
> > > > >
> > > > > >
> > > > > > [...]
> > > > > >
> > > > > > > >   Also, it seems each "instance" has a numerical id (the key),
> > but
> > > > > > > >   also a name (a string).  Maybe there are protocol-reasons to
> do
> > > > > > > >   this, but if not, did you consider using the "name" as key
> > instead?
> > > > > > > >
> > > > > > >
> > > > > > > [Med] id/name is inspired from how NAT instances are managed (see
> > > > > > >    RFC7659). The name is optional.
> > > > > >
> > > > > > Well, in MIBs instances are normally identified with integers b/c
> of
> > > > > > how the protocol (SNMP) works.  In YANG modules, we usually use a
> > > > > > "name" that is a string to identify instances.  With a string, the
> > > > > > operator can choose meaningful names, and use them in other
> leafrefs,
> > > > > > instead of having to remember how the names are mapped to integers.
> > > > > >
> > > > > > (Compare ifIndex (MIB) w/ interface/name (YANG))
> > > > > >
> > > > > > So I suggest you use "name" as key.
> > > > >
> > > > > [Med] If you think this is better, I'm fine with that.
> > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > o  I also note that you have changed the name of some lists in -08,
> > > > > >    e.g., list "bind-instance" is now list "bind-instances"
> > > > > >    (plural). Another example is:
> > > > > >
> > > > > >           +--rw algo-instances
> > > > > >              +--rw algo-instances* [id]
> > > > > >
> > > > > >    I think you should change these back to singluar; that's what
> YANG
> > > > > >    modules typically use.
> > > > > >
> > > > > >
> > > > >
> > > > > [Med] Actually, this was a comment from Tom. Perhaps, we
> misunderstood
> > > > > it.
> > > > OK to change it back if this is the recommended practice.
> > > > >
> > > > > >
> > > > > >
> > > > > > /martin
> > > > >
> > >