Subject: RE: Yangdoctors early review of draft-ietf-i2rs-rib-data-model-09

From: Amit Dass <[email-masked]>
Date: Tue, 20 Feb 2018 15:24:44 +0000

Hi Ebben,

I have updated the draft based on your comments. Could you please have a look at the same and provide your feedback?

https://datatracker.ietf.org/doc/draft-ietf-i2rs-rib-data-model/

Best regards,
Amit

-----Original Message-----
From: Ebben Aries [mailto:[email-masked]] 
Sent: Thursday, January 18, 2018 9:33 AM
To: [email-masked]
Cc: [email-masked]; [email-masked]; [email-masked]
Subject: Yangdoctors early review of draft-ietf-i2rs-rib-data-model-09

Reviewer: Ebben Aries
Review result: On the Right Track

1 module in this draft:
- [email-masked]

No YANG validation errors or warnings (from pyang 1.7.3 and yanglint 0.14.59)

0 examples are provided in this draft (section 3.12 of
draft-ietf-netmod-rfc6087bis-15)

Module [email-masked]:
- yang-version statement missing - should be 1.1
- prefix 'iir' is recommended for this module, would 'rib' suffice better?
- import "ietf-inet-types" should reference RFC 6991 per (not as a comment)
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.7
- import "ietf-interfaces" should reference RFC 7223 per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.7
- import "ietf-yang-types" should reference RFC 6991 per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.7
- Since this module imports "ietf-interfaces", a normative references must be
  added per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-3.9
- prefix "if" in the import "ietf-interfaces" can remove quotes to remain
  consistent with other imports
- Remove WG Chairs from contact information per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#appendix-C
- Module description must contain most recent copyright notice per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#appendix-C
- Module description should contain note to RFC Ed. and placeholder reference
  to RFC when assigned
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#appendix-C
- Add placeholder reference and note to RFC Ed. for RFC when assigned
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#appendix-C
- Security Considerations should be updated to reflect new template at
  https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines
- Section 1.2 should be replaced with reference to
  draft-ietf-netmod-yang-tree-diagrams-02 rather (as-is in other i2rs YANG
  drafts in progress) per
  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-2.5.1
- This module contains '12' features.  While it is understood the purpose of
  these features in the module, take precaution as to complexity for clients
  if they need to understand >= quantity of features per module in use on a
  network-element.
- A few comments exist that are either unecessary or redundant.  Encode the
  comment intent rather in description fields if need be.
- Per NMDA, which datastores are targeted for the module?  Will all RPC
  operations be acting upon the dynamic/ephemeral datastore?  It is not clear
  to me if the intention is to be persistent or ephemeral

General comments/Nits:
- references to 'def' could be expanded out to 'definition'
- references to 'decap' could be expanded out to 'decapsulation' for
  readability (across definitions and descriptions)
- Follow consistent capitalization of 'RIB' throughout document text.  Mixed
  use of 'Rib' and 'rib' exists (Outside of YANG node lowercase definitions).
- Is it necessary to prefix all nodes under the nexthop container with
  "nexthop-"?
- Section 2.5 - route-add RPC - text mentions it is required that the nh-add
  RPC be called as a pre-requisite however if the nh already exists and the
  nexthop-id is known, this should not be necessary.  In addition, the text
  reads 'or return' which should rather be a result of querying the
  appropriate node in the data tree.
- In 'IANA Considerations' - s/This document requests to register/This
  document registers/

---

From: Mahesh Jethanandani <[email-masked]>
Date: Wed, 21 Feb 2018 16:43:28 -0800

> On Feb 20, 2018, at 7:24 AM, Amit Dass <[email-masked]> wrote:
> 
> Hi Ebben,
> 

The indentations are all over the place for the new references that have been added. 

More importantly, and this discussion is still open in front of YANG doctors, adding a reference statement to an import statement, seems to imply a import by revision. As an example, the import of ietf-interfaces has a reference to RFC 7223. But we know that ietf-interfaces is going to updated soon by whatever RFC number gets assigned to rfc7223bis. Expect further guidance on this.

Also, I do not see normative references to RFC 6991, and RFC 7223 in the text of the document. If this is not clear, see rfc7223bis, where in Section 3.1, there is normative reference to RFC7224 for the iana-if-types module that is imported by the ietf-interfaces module.

Cheers.

>  https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.7

This should reference rfc7223bis.

> _______________________________________________
> yang-doctors mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/yang-doctors

Mahesh Jethanandani
[email-masked]

---

From: "t.petch" <[email-masked]>
Date: Thu, 22 Feb 2018 15:31:06 -0000

---- Original Message -----
From: "Mahesh Jethanandani" <[email-masked]>
Sent: Thursday, February 22, 2018 12:43 AM
> > I have updated the draft based on your comments. Could you please
have a look at the same and provide your feedback?
> More importantly, and this discussion is still open in front of YANG
doctors, adding a reference statement to an import statement, seems to
imply a import by revision. As an example, the import of ietf-interfaces
has a reference to RFC 7223. But we know that ietf-interfaces is going
to updated soon by whatever RFC number gets assigned to rfc7223bis.
Expect further guidance on this.

Mahesh

As you doubtless know, this I-D is expected to be approved on March 8th,
so there is a certain urgency about this.

The latest guidelines, draft-ietf-netmod-rfc6087bis-18, include

   For every import or include statement that appears in a module
   contained in the specification, which identifies a module in a
   separate document, a corresponding normative reference to that
   document MUST appear in the Normative References section.

which seems clear and right to me.  This also says to me that a specific
version of the module is referenced via the Normative References
whether or not the import has a revision clause.

and it also says

 If an import statement is for a module from a stable source (e.g., an
   RFC for an IETF module), then a reference-stmt SHOULD be present
   within an import statement.

So for me there is (almost) always a reference statement to an RFC (or
I-D) even, or especially when, no particular revision is wanted.

This is what has coloured my comments on YANG modules.

Tom Petch

> Also, I do not see normative references to RFC 6991, and RFC 7223 in
the text of the document. If this is not clear, see rfc7223bis, where in
Section 3.1, there is normative reference to RFC7224 for the
iana-if-types module that is imported by the ietf-interfaces module.
> >  draft-ietf-netmod-yang-tree-diagrams-02 rather (as-is in other i2rs
YANG
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-2.5.
1
> i2rs mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/i2rs

---

From: Ebben Aries <[email-masked]>
Date: Fri, 23 Feb 2018 19:31:14 -0700

Amit,

I took your latest pre -11 .xml revision that you attached so below is a
re-review against -10 and pre (-11).  Comments below

Compilation error that was introduced between -10 and -11
- [email-masked]:1224: error: unexpected keyword "range"

    leaf hop-limit {
      type uint8;
            range "1..255";
      description
        "The path hop limit header.";
    }
- Also, by introducing a range on a uint8, are you saying that a hop-limit=0
  would never be in use for any use-case here?

There are formatting and alignment issues all throughout the document that
need fixing (Mahesh pointed this out as well)

'ietf-interfaces' import carries the wrong RFC reference (RFC 7227)
- This should rather be RFC 7277

There are still ongoing discussions among yang-doctors on how references in
imports should be treated.  At a minimum for now, lets carry the expanded
syntax w/ the title of the RFC as such: (As Mahesh previous mentioned, this is
subject to change pending further discussion)
- reference "RFC 6991: Common YANG Data Types";
- reference "RFC 7277: A YANG Data Model for IP Management";
- reference "RFC 6991: Common YANG Data Types";

Module description still does not carry full copyright/distribution section as
specified in: https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#appendix-C

There still appears to be one remaining 'Rib' reference
- s/Routing Instance and Rib/Routing Instance and RIB/

Section 1.2 - Tree Diagrams
- The text here is an instruction template rather than what the actual text
  should be.  It should rather read:

   A simplified graphical representation of the data model is used in
   this document.  The meaning of the symbols in these diagrams is
   defined in [I-D.ietf-netmod-yang-tree-diagrams].

You did not address my previous comment/question re: NMDA (Tom mentioned this
as well)

You did not address my previous comment/question re: Section 2.5 (route-add
RPC)

I still have concern to modules introducing large amounts of
features/if-features as previously noted but will defer to other's comments on
this as well

Formatting nits:
- L3605: s/route:A/route: A/
- L3610: s/from\/to RIB/from\/to a RIB/
- L3610: s/lead to suboptimal/lead to a suboptimal/
- L3611: s/possibly/possible/
- L3626: s/his/their/

Tom's previous comment re: ENABLE_IP_RPF_CHECK has not been addressed and
exists in both -10 and (pre) -11 versions

Thx

/ebben

On Feb 20 15:24 PM, Amit Dass wrote:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_draft-2Dietf-2Di2rs-2Drib-2Ddata-2Dmodel_&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=h0scwYvh7UsfradRz7u1meraj47zZhr6vH3qiHJXiZ4&e=
> 
> Best regards,
> Amit
> 
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D4.7&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=dYhxw9bO0Uk78WJ5uTBmc5ZcElOT446ETFp7DXU546s&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D4.7&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=dYhxw9bO0Uk78WJ5uTBmc5ZcElOT446ETFp7DXU546s&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D4.7&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=dYhxw9bO0Uk78WJ5uTBmc5ZcElOT446ETFp7DXU546s&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D3.9&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=IaSTmgPV-jaH8vLp0nasBDWLSQ9-dDRqYwAkIvsNfkY&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23appendix-2DC&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=1U0JCnUyX_pqexjCB9KgzvhWsdLDQMN_iOgkNv29dEs&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23appendix-2DC&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=1U0JCnUyX_pqexjCB9KgzvhWsdLDQMN_iOgkNv29dEs&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23appendix-2DC&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=1U0JCnUyX_pqexjCB9KgzvhWsdLDQMN_iOgkNv29dEs&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23appendix-2DC&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=1U0JCnUyX_pqexjCB9KgzvhWsdLDQMN_iOgkNv29dEs&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__trac.ietf.org_trac_ops_wiki_yang-2Dsecurity-2Dguidelines&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=tfCcnSFoI3jjNNzCj6pgkp94JZ-quOQEqMlv9hITBog&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D2.5.1&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=Bd9RZ2mCWMYNPyhFBtSbqwApeVo8_SOmuA3FNG3trxA&s=DjKFw7t6_CU_2_03rwIHxgvz5_oC5mjX_rMUC5UuV6M&e=

---

From: Ebben Aries <[email-masked]>
Date: Sat, 24 Feb 2018 09:41:13 -0700

> - This should rather be RFC 7277

I meant RFC 7223 rather

  import ietf-interfaces {
      prefix if;
      reference "RFC 7223: A YANG Data Model for Interface Management";
  }

> specified in: https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23appendix-2DC&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=oqu2ooyPcpQ1BsLe7O0eVojE-sP-YgMoHTpQoRTH954&s=nZJnXRNh9vlo9VZexb3zXgyY6mCzlN1ztsrmPjezh50&e=
> 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_yang-2Ddoctors&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=GIehbDpQlo31lSi6WbnEkA&m=oqu2ooyPcpQ1BsLe7O0eVojE-sP-YgMoHTpQoRTH954&s=GTV9rhtmIT5nIY6w8DKgR9QiRak314uAIzfjhtj_z-k&e=