Re: [yang-doctors] Yangdoctors last call review of draft-ietf-pim-yang-12

Xufeng Liu <Xufeng_Liu@jabil.com> Wed, 28 February 2018 19:49 UTC

Return-Path: <Xufeng_Liu@jabil.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7806B124BE8; Wed, 28 Feb 2018 11:49:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Level:
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jabil.onmicrosoft.com
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 9XDUwbYNy-_1; Wed, 28 Feb 2018 11:49:03 -0800 (PST)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0134.outbound.protection.outlook.com [104.47.42.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA6451200E5; Wed, 28 Feb 2018 11:49:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jabil.onmicrosoft.com; s=selector1-jabil-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=kWKr4FljsUtuPRpYHyfsHcPpiRWVoLq0sXN9UthAxXc=; b=5J11mHmA28x2RDZ5Tj1v1A4HzyoYwCjMZuEDSRL1bQgvVsayXBM7bNtR9MEOriywfUeX+myeXMk4Gd//ftjNXD+3UmVoxqg/QhN+pXPH/U+pGN9eVIJbV8QUtfxz2//DLPpsE+ezLgOUkitEYto+K98urYiU2GxIwMFgp/RApYo=
Received: from BN3PR0201MB0867.namprd02.prod.outlook.com (10.160.154.13) by BN3PR0201MB1026.namprd02.prod.outlook.com (10.161.207.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Wed, 28 Feb 2018 19:49:01 +0000
Received: from BN3PR0201MB0867.namprd02.prod.outlook.com ([fe80::99f9:82ca:f5f2:2f8b]) by BN3PR0201MB0867.namprd02.prod.outlook.com ([fe80::99f9:82ca:f5f2:2f8b%13]) with mapi id 15.20.0548.013; Wed, 28 Feb 2018 19:49:01 +0000
From: Xufeng Liu <Xufeng_Liu@jabil.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: YANG Doctors <yang-doctors@ietf.org>, "draft-ietf-pim-yang.all@ietf.org" <draft-ietf-pim-yang.all@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, "pim@ietf.org" <pim@ietf.org>
Thread-Topic: [yang-doctors] Yangdoctors last call review of draft-ietf-pim-yang-12
Thread-Index: AQHTedif8F779oUUSEygdiY7xUPzPKNhK94AgFl4zhA=
Date: Wed, 28 Feb 2018 19:49:00 +0000
Message-ID: <BN3PR0201MB08677707F177FFF486AEACD6F1C70@BN3PR0201MB0867.namprd02.prod.outlook.com>
References: <151380493227.2629.15496937140050941194@ietfa.amsl.com> <385138EB-6551-4209-B58B-118405B6C09A@gmail.com>
In-Reply-To: <385138EB-6551-4209-B58B-118405B6C09A@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNceGxpdVxhcHBkYXRhXHJvYW1pbmdcMDlkODQ5YjYtMzJkMy00YTQwLTg1ZWUtNmI4NGJhMjllMzViXG1zZ3NcbXNnLTA2OGJjMGE0LTFjYzAtMTFlOC05YzQ4LTE4NWUwZmUzYzQ1Y1xhbWUtdGVzdFwwNjhiYzBhNi0xY2MwLTExZTgtOWM0OC0xODVlMGZlM2M0NWNib2R5LnR4dCIgc3o9IjEwODI4IiB0PSIxMzE2NDMyMDc3MTgyNjQ0NjgiIGg9IndFTldJRG5yc2lmOUgzam44d29hZTV4QnM4WT0iIGlkPSIiIGJsPSIwIiBibz0iMSIvPjwvbWV0YT4=
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Xufeng_Liu@jabil.com;
x-originating-ip: [98.191.72.170]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0201MB1026; 7:co9CHUPjerwdel2GDzRFhjW10uieZuVdin3KK9lAg5saFFMYHVzr6G6YCaXKaF/fR4Hi0S8282vH3Vc7PWwO7hmWJiLrAdWoGPpYonnvv66G4UGb9sgcj9XDpljHCUX09ZOLGKuZHYgu606H5OpAihY2pwhEAlkkR1v9xD51OmH8/vC6xCZuLSBeoGxBrub2e4OSMIi+OeXhXp6WJew1rJ1zgCsNeCspQawMjl0RIFYe0yKgTuU3vrOPxAQWXjlw; 20:z3Li8Nd2h4enxkVivBiqvXs89WqpNH1hxQ9Zz/83VeDrT/cFNBDQJmclTz++zQn+L7gkFlzG+VRCpad4GGxVPx/jniaQccD4/639mpqu6DJzVgzuhC01JNd55tSmhMcMw3rcO7MRmTQ+2sr7aXAd5hUtvT/QFJc67ped5YDpLCI=
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 750f8819-2b3a-48f9-c405-08d57ee45076
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:BN3PR0201MB1026;
x-ms-traffictypediagnostic: BN3PR0201MB1026:
x-microsoft-antispam-prvs: <BN3PR0201MB102608F2C051731530F06F9CF1C70@BN3PR0201MB1026.namprd02.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(192374486261705)(85827821059158);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231220)(944501219)(10201501046)(3002001)(6055026)(6041288)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:BN3PR0201MB1026; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0201MB1026;
x-forefront-prvs: 0597911EE1
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(39380400002)(39860400002)(366004)(396003)(51914003)(52314003)(13464003)(199004)(189003)(33656002)(8676002)(54906003)(110136005)(99286004)(86362001)(105586002)(305945005)(2950100002)(68736007)(186003)(6306002)(6506007)(26005)(53546011)(6116002)(3846002)(102836004)(2906002)(7696005)(66066001)(6436002)(316002)(2900100001)(55016002)(53936002)(59450400001)(76176011)(9686003)(39060400002)(25786009)(4326008)(5660300001)(3280700002)(3660700001)(229853002)(14454004)(6246003)(8936002)(74316002)(72206003)(81166006)(7736002)(478600001)(966005)(106356001)(80792005)(5250100002)(97736004)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0201MB1026; H:BN3PR0201MB0867.namprd02.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: jabil.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: fSykkOsp2mTDBPs5vOu0Q4drwE/xERynl0hytoPsYgDTvvGAGoefDp4bubPI6OWcxirSzJpO2d5vZONcSAoysq9XAujep7FunisYgPtbob6VJH5xPDaMPRtg2GM7W0Ti2rPQVviK5utkkLzwHiMlWCkzb/DVP3Czbh9G0cwdngU=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: jabil.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 750f8819-2b3a-48f9-c405-08d57ee45076
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2018 19:49:00.8209 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bc876b21-f134-4c12-a265-8ed26b7f0f3b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0201MB1026
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/Rw4H6fYTrKwwOZgxFJ4b9a6je30>
Subject: Re: [yang-doctors] Yangdoctors last call review of draft-ietf-pim-yang-12
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Feb 2018 19:49:07 -0000

Hi Mahesh,
Thanks for the good observations. We have updated the model according to your suggestions, with an updated revision https://tools.ietf.org/html/draft-ietf-pim-yang-15.

Best regards,
- Xufeng

> -----Original Message-----
> From: Mahesh Jethanandani [mailto:mjethanandani@gmail.com]
> Sent: Tuesday, January 2, 2018 4:22 PM
> To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
> Cc: YANG Doctors <yang-doctors@ietf.org>; draft-ietf-pim-yang.all@ietf.org;
> ietf@ietf.org; pim@ietf.org
> Subject: Re: [yang-doctors] Yangdoctors last call review of draft-ietf-pim-yang-
> 12
> 
> Few other observations.
> 
> Is the YANG model description statement not supposed to carry the IETF
> copyright statement?
> 
> There is already a enum definition for BFD state called “state” in the BFD types
> file imported by the module. Why is that not being used in this model?
> 
> > On Dec 20, 2017, at 1:22 PM, Jürgen Schönwälder <j.schoenwaelder@jacobs-
> university.de> wrote:
> >
> > Reviewer: Jürgen Schönwälder
> > Review result: Almost Ready
> >
> > * General YANG Review Remarks
> >
> >  This document depends on a number of other I-Ds. Is it safe to
> > process this document while the other documents this document  depends
> > on are not yet through the process? Who is tracking things  and making
> > sure that any changes in other documents that may impact  the PIM
> > document are detected and handled appropriately before  publication?
> >
> >  It is generally good style to write complete sentences in
> > description statements. Some of the description statements are just
> > fractions of a sentence.
> >
> >  I think we do not recommend anymore to list WG chairs in the contact
> > statement.
> >
> >  It is sometimes not clear why you define groupings that are only
> > used once (and sometimes are likely not reusable since they contain
> > relative paths in must expressions).
> >
> > * Introduction
> >
> >  - Is there a reason why you refer to RFC 6020 and to RFC 7950 in
> >    sections 1 and 1.2? Why do you need the reference to RFC 6020?
> >
> >  - What are 'wider' management interfaces? If you mention NETCONF,
> >    why not mention RESTCONF?
> >
> >  - s/Protocol-Independent Multicast (PIM) devices
> >     /devices supporting Protocol-Independent Multicast (PIM)/
> >
> >  - So which YANG terminology applies, RFC 6020 or RFC 7950? I
> >    personally think using YANG 1.1 is pretty safe these days.
> >
> > * Design of Data Model
> >
> >  - I did not really understand Section 2.5. It seems you are
> >    duplicating objects for different address families but on some
> >    systems these duplicate objects must have the same value. If so,
> >    where would the must expression go and how does an implementation
> >    add such a must expression? How many of such must expressions
> >    would there have to be? Did you consider having address family
> >    independent objects and optionally (controlled by a feature) per
> >    address family objects that overwrite the independent settings?
> >
> > * Module Structure
> >
> >  - s/is included/is imported/
> >
> >  - The tree diagrams are rather long. It would likely help readers if
> >    the diagram would be split into meaningful units and additional
> >    text added to describe the units.
> >
> >    Are lists of the form
> >
> >          |  +--rw ipv4-rp* [ipv4-address]
> >          |  |  +--rw ipv4-address    inet:ipv4-address
> >
> >    designed for exensibility? Otherwise, this may be collapsed into
> >    a simple leaf-list.
> >
> >  - Since I am not familiar with details of PIM, I can't comment on
> >    the question whether the model makes sense or not.
> >
> > * PIM base Module
> >
> >  - YANG modules compile cleanly according to the tracker page.
> >
> >  - As said above, consider using YANG 1.1. The ietf-routing module
> >    actually uses YANG 1.1 so you will need a YANG 1.1 compiler
> >    anyway.
> >
> >  - Consider adding reference statements to the feature definitions
> >    in case a feature is described in a protocol specification.
> >
> >  - The value of timer-value is not really clear, you could have used
> >    rt-types:timer-value-seconds16 directly.
> >
> >  - Why is graceful-restart/duration using an ad-hoc type for 16-bit
> >    seconds and not timer-value? Is it because infinity and not-set
> >    does not apply?
> >
> >  - Does a bfd/hello-interval of 'infinity' or 'not-set' make sense?
> >
> >  - More explicit description of bfd/hello-holdtime? Is a choice
> >    really appropriate (hello-holdtime-or-multiplier)? Can I not have
> >    both holdtime and multiplier? Perhaps I am just not clear what
> >    holdtime does...
> >
> >  - Does a bfd/jp-interval of 'infinity' or 'not-set' make sense?
> >
> >  - More explicit description of bfd/jp-holdtime? Is a choice really
> >    appropriate (jp-holdtime-or-multiplier)? Can I not have both
> >    holdtime and multiplier? Perhaps I am just not clear what holdtime
> >    does...
> >
> >  - Please provide more meaningful descriptions:
> >
> >         description "Propagation description";
> >         description "Override interval";
> >
> >  - What is the meaning of the interface augmentation 'oper-status'
> >    relative to 'oper-status' defined by ietf-interfaces? Is this just
> >    a duplicate with fewer states? Or is this somehow more specific to
> >    multicast or PIM packets? In the later case, I think this deserves
> >    to the be explained in the description clause.
> >
> >  - How do the ip4 and ipv6 addresses relate to ip addresses assigned
> >    to an interface in ietf-ip?
> >
> >  - What is the meaning of hello-expiration 'not-set'?
> >
> >  - What is the meaning of expiration 'not-set'?
> >
> >  - Is it useful to return the uptime in seconds (which is changing on
> >    every get that is not in the same second) or could it be an option
> >    to report the time when something transitioned into the up state
> >    (which is not changing)? Well, it could be that we are simply used
> >    to uptime like objects. Anyway, the description of up-time should
> >    make it clear what exactly is defining the state 'up'. If this
> >    says up for 5 seconds, what exactly transitioned into an 'up'
> >    state 5 seconds ago?
> >
> >  - Is the any restriction for dr-priority or is it a full 32-bit
> >    unsigned number space? In some vendor documentation I saw 0..65535
> >    with a default of 1. What do RFCs say?
> >
> >  - I am not sure what the precise meaning of the error statistic
> >    counters are. What turns an received or sent messages into an
> >    error message? The description of grouping statistics-error does
> >    not explain this. Also, if I receive a hello and I later decide
> >    that this hello must have been an error, is this hello counted
> >    twice? And what about messages that could not be parsed because
> >    they were malformed, where are those counted?
> >
> >  - Why is 'pim' a presence container?
> >
> >  - Do comments like 'configuration data nodes' make sense if you
> >    include config false nodes in the same branch of the tree?
> >
> > * PIM RP Module
> >
> >  - Does the feature bsr-election-state depend on the feature bsr?
> >
> >  - Should there be a default bsr-candidate/priority?
> >
> >  - Do you need the address/hash-mask-length/priority in
> >    bsr-state-attributes in an NMDA implementation?
> >
> >  - I _assume_ the bsr-next-bootstrap value has to be interpreted
> >    relative to the time the value was obtained. What about making
> >    this an absolute timestamp instead? Well, actually I am not sure
> >    what the value represents - is it the remaining time interval
> >    until the next bootstrap will be sent?
> >
> >  - I have no clue what to expect here:
> >
> >         leaf group-policy {
> >           type string;
> >           description "Group policy.";
> >         }
> >
> >     What can I expect the string to contain?
> >
> >   - I am again uncertain how exactly to understand the value of
> >     rp-candidate-next-advertisement, see similar questions above.
> >
> >   - What are the policy values that can go into this:
> >
> >       leaf policy-name {
> >         type string;
> >         description
> >           "Static RP policy.";
> >       }
> >
> >     Is the string just an arbitrary name or does it mean something?
> >
> >   - How is this supposed to be used?
> >
> >       leaf policy {
> >         type string;
> >         description
> >           "ACL (Access Control List) policy used to filter group
> >            addresses.";
> >       }
> >
> >     What is the meaning of <policy>foo</policy>?
> >
> > * PIM SM Module
> >
> >  - What is the meaning of a policy-name value?
> >
> >               leaf policy-name {
> >                 if-feature spt-switch-policy;
> >                 type string;
> >                 description
> >                   "Switch policy.";
> >               }
> >
> >  - What is the meaning of a range-policy value?
> >
> >           leaf range-policy {
> >             type string;
> >             description
> >               "Policy used to define SSM address range.";
> >           }
> >
> > * PIM DM Module
> >
> >  - I wonder, would you need an identity for dense mode?
> >
> > * PIM BIDIR Module
> >
> >  - Remove
> >
> >     /*
> >      * Typedefs
> >      */
> >
> >  - What is the meaning of offer-interval or backoff-interval
> >    'not-set'?
> >
> > * Implementation Status
> >
> >  It seems the trac page pointed to was used to collect information
> > about what proprietary implementation support, i.e., it does not
> > document to what extend the models defined in this document have  been
> > implemented. There are some notable differences. For example,  it
> > seems most counters implemented are 32-bit while most counters in  the
> > YANG models are 64-bit. How chatty is PIM, are 64-bit counters  really
> > needed and are implementors willing to move to 64-bit  counters?
> >
> > * Security Considerations
> >
> >  I think this needs to include a bit more details. See
> >
> >  https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines
> >
> >  for the latest template that YANG module authors are expected to
> > use.
> >
> >
> > _______________________________________________
> > yang-doctors mailing list
> > yang-doctors@ietf.org
> > https://www.ietf.org/mailman/listinfo/yang-doctors
> 
> Mahesh Jethanandani
> mjethanandani@gmail.com