Re: [Pce] Yangdoctors early review of draft-ietf-pce-pcep-yang-08

Dhruv Dhody <dhruv.ietf@gmail.com> Sun, 24 March 2019 21:08 UTC

Return-Path: <dhruv.ietf@gmail.com>
X-Original-To: pce@ietfa.amsl.com
Delivered-To: pce@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89FC6120106; Sun, 24 Mar 2019 14:08:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 rfMSHZgAdgVD; Sun, 24 Mar 2019 14:07:58 -0700 (PDT)
Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 70DFD120100; Sun, 24 Mar 2019 14:07:55 -0700 (PDT)
Received: by mail-io1-xd29.google.com with SMTP id x3so6003193iol.10; Sun, 24 Mar 2019 14:07:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qDxeBucvlzPrMSky1qa47Xc7gG84MeCFZiinVpBU6TQ=; b=LMUEKSE79YQNmQ4ANpJCpo1a+4gUT0zuhFeScBSVZuaBcPlEyJjt00noO/z7UD611V hJJDOUSt6AjVvSpRzOSuOzwlay1+BbuF0OGEHizJ7yYAu8V1zgsPdLtJJeNCxS7gUbcJ 9UpNWigHbC0k0TApTHwyl6ffMoWKaJYCijRpcw5DZAY6sol2u/2VF4N425g3OOZKPMUZ 0EeKitm8moSjUBHzHy1OArPPRD+EqOb336Er3VqSB/VLYtxEo2rZ7nxqTTiQ/JJ/JziC t4h/nbW6F5oN35ykngJP/6OHEwqr97cYzZYiGNzxIg1CbCWG9g/gkblSrwGMMj8R7fNO Fjgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qDxeBucvlzPrMSky1qa47Xc7gG84MeCFZiinVpBU6TQ=; b=l2L4VC7a9v3H/12kkAZcT2Jvt3umOVlRSLsc3YHQw4RLhY7Q6cr/wup6Q48sckqRoR d9fbteV0+LfeCUbu75Z821+ptKBYJGyk6xTEpYZStC8fBW6YCy4OMErbiqAbpr5zYqj1 VkKTBKINeTr1KbznlzEmhfxzFTstQm/h982X4LbCUF7STBUxHXY9q31cQDJRfTH2YcNk 7VecaAWAcsi+ea02PRcIH5tzLVUnZ6IJHW2iPJ5WDaJUSYWyzu8ciBjopzctrPVLQLHP pWZQHR0tpRnym1g0wHrXw79fMvYY5EKXGeumIUIM2zi1u148YW6skfVxLegjOJUH+nJW cN/A==
X-Gm-Message-State: APjAAAVpmYdOdPSfoJUBoaI3ui6x60twXJ2UR/KaI0rh4lbU0l+J8ghv cf6sWub8a5O8qW+3aDxj1L6AZf0604qe9zN4SEQ=
X-Google-Smtp-Source: APXvYqyvESEz9zAfRvrKGFZqRUh9Qut1T8A2DeJAoXyHe9dlyRbOw85HuZ1vW+Xsy5P2dr13tKEDMlAOT2aHyQ7kenI=
X-Received: by 2002:a6b:ef12:: with SMTP id k18mr14680480ioh.171.1553461674519; Sun, 24 Mar 2019 14:07:54 -0700 (PDT)
MIME-Version: 1.0
References: <154328751678.23848.17617047655308813382@ietfa.amsl.com>
In-Reply-To: <154328751678.23848.17617047655308813382@ietfa.amsl.com>
From: Dhruv Dhody <dhruv.ietf@gmail.com>
Date: Sun, 24 Mar 2019 22:07:18 +0100
Message-ID: <CAB75xn4NYtECK_EuBELRYxDaDg_n9EFZHwAX2EpT=AJUdCwa8w@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: yang-doctors@ietf.org, draft-ietf-pce-pcep-yang.all@ietf.org, pce@ietf.org
Content-Type: multipart/alternative; boundary="0000000000004830ef0584dd7bbc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/U6vf02MLHkJrhi3XhIvI_KI33Cc>
Subject: Re: [Pce] Yangdoctors early review of draft-ietf-pce-pcep-yang-08
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pce/>
List-Post: <mailto:pce@ietf.org>
List-Help: <mailto:pce-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 Mar 2019 21:08:02 -0000

Hi Mahesh,

Apologies for a late reply to your review. Being stuck in a long flight
finally gave me enough time to fix up the indentation in the model :)

An update (-10) has been posted.

More details inline...

On Tue, Nov 27, 2018 at 8:28 AM Mahesh Jethanandani <mjethanandani@gmail.com>
wrote:

> Reviewer: Mahesh Jethanandani
> Review result: On the Right Track
>
> Document reviewed: draft-ietf-pce-pcep-yang-08
>
> I am not an expert in PCEP. This review is looking at the draft from a YANG
> perspective. With that said, I have marked it as “On the Right Track”
> because
> of some of the points discussed below.
>
> Summary:
>
> This document defines a YANG data model for the management of Path
> Computation
> Element communications Protocol (PCEP) for communications between a Path
> Computation Client (PCC) and a Path Computation Element (PCE), or between
> two
> PCEs.  The data model includes configuration data and state data (status
> information and counters for the collection of statistics).
>
> Comments:
>
> General
>
> - The module uses indentation that varies all over the module, from 2
> spaces to
> 5. Please fix the module to have consistent indentation.
>

Used 2 spaces now.

>
> - The module makes heavy use of groupings. They are great if they are being
> used in multiple places. But I seem to see single usage of groupings, which
> makes the model hard to read. Please collapse all groupings that are used
> only
> once into the module.
>
>
All groupings that were used only once are now removed.



> Abstract:
>
> It is best not to try to redefine terms, specially if they have already
> been
> defined already in another RFC. Case in point, "state data". This term has
> been
> defined in RFC6241, and it would be best to list it in the Terminology and
> Notation section, as has been done with other definitions.
>
> The following terms are defined in [RFC6241]:
>
>    o  configuration data
>
>    o  state data
>

Done.



>
> Introduction:
>
> Please update reference of YANG to RFC7950. These are YANG 1.1 modules
> after
> all.
>

Done.



>
> Section 5. The Design of the PCEP Data Model.
>
> Thank you for first of all for creating a abridged version of the tree
> diagram.
> What would really help to understand the design of the model would be to
> place
> the full tree diagram at the end of the section, and move sections 5.3 to
> 5.7.
> directly under 5.1. Scrolling through pages of the full diagram to get to
> the
> design sections is painful to read.
>

Done.



>
> Section 10. PCEP YANG Modules
>
> - Please list all RFCs and I-D that are referenced in the model, so there
> is a
> normative reference to them in the draft.
>

Done.



>
> - Please expand the reference to different RFCs to include the title of the
> RFC, and not just the number.
>

Done.



>
> - The reference to tls-server and tls-client should be to
> I-D.ietf-netconf-tls-client-server, as it is not an RFC as yet. Also, the
> document refers to all other RFCs as RFC XXXX. What is the RFC editor
> supposed
> to replace XXXX with? With the RFC number assigned to this draft?? I think
> you
> want to refer to I-D that contain those modules.
>

Done.



>
> - What is "PCEP common"? That term has not been defined anywhere in the
> document, but is used in the YANG model.
>
>
Removed.



> - What is the 'identify pcep' for?
>

Removed.



>
> - Why is pcep-admin-status a enum and not a boolean? Since YANG nodes are
> hierarchical, there should be no reason to repeat prefixes like
> 'admin-status'
> in node names such as 'admin-status-up', both where it is defined and
> where it
> is used (under admin-status).
>

Changed.



>
> - Where are the different operational status definitions defined? Can that
> RFC
> be referenced? Same for Session state, Association Type, Objective
> Function.
>
>
References added.



> - Could the YANG module use existing definitions? For example could the
> module
> use ospf-area as defined in I-D.ietf-ospf-yang or use isis-area defined in
> the
> ISIS YANG Module.
>
>
Updated.



> - Can the document use more descriptive names for features such as 'gco'.
>

Updated.



>
> - If the range of the timer is 1..65535, why does it need to be a uint32?
> Same
> for the range of 0..255.
>

Corrected.



>
> - RFC 5440 makes no reference to 'max-keep-alive-timer' or
> 'max-dead-timer'. If
> they are max value, can they not be expressed as part of the range for
> 'keep-alive-timer' or 'dead-timer'? Same for 'min-keep-alive-timer' and
> 'min-dead-timer'.
>
>
You are right that these are not explicitly stated in 5440, but are needed
to set what is the acceptable range of these values as received in the open
message from a peer. These are different from the max value as part of the
range allowed by the protocol. You would also find these in our PCEP MIB
RFCs.



> - What is the default value for 'admin-status'?
>

set now to enabled (true).



>
> - The grouping pce-scope seems to be defining a header with each of the
> leafs
> as bits in the header. In that case, it would be better if this was
> defined as
> a bits/bit field, rather than leafs that are of type uint8 and boolean.
> Same
> for the grouping called 'capability'
>
>
Updated.
But the priority fields are kept outside of bits/bit.
Also in case of capability, fields that are not part of RFC5088/RFC5089
capability bit fields are kept outside.



> - The description "LSP is PCE-initiated or not" is hardly a description
> for the
> leaf 'enabled'. It might be more a description of the feature
> 'pce-initiated'.
>
>
Updated.



> - Could description "Valid at PCC" be improved upon?
>
>
Updated.



> - Most keys are defined as 'type binary'. Why is key-string defined as
> 'type
> string' or 'type hex-string', and not 'type binary'? Is it possible to
> reuse
> definitions from draft-ietf-netconf-crypto-types?
>
>
Updated according to the Key chain RFC that allows both ASCII and Hex
(instead of binary), i think this is better aligned to other related work.


> - I am not an expert in this protocol, but a lot of the nodes defined are
> generated by the system. Yet, they are defined as rw. For example, the list
> 'path-keys' carries a description "The list of path-keys generated by the
> PCE".
> If so, should this not be marked 'config false'. I would suggest authors
> take a
> more concerted look and see what nodes are indeed rw and which ones are ro.
> Other examples include 'req-id' and 'retrieved'.
>
>
The examples you cited are already 'ro'. I did a check throughout the
document as well.



> - Can this error-message and description be reconciled?
>
>                     error-message
>                         "The Path-key should be retreived";
>                     description
>                         "When Path-Key has been retreived";
>
>
Updated.



> - It is great to see that extensive amount of statistics are required to be
> implemented by the model. How many implementations actually support all
> these
> statistics? What would happen if implementations support a small number of
> these statistics? In other words, are all these statistics required to be
> maintained/implemented?
>
>
We have kept most of these as optional and not mandated it, these are also
aligned to stats in PCEP MIB RFC.


> - In addition, a lot of the statistics have when statements. Since these
> are
> statistics maintained by the system, why the when statement? Does it mean
> that
> even if the statistics are written by the system, they are not valid (for
> reading) under certain scenarios. Or is it more likely that they are only
> written when the role is ether of a 'pce' or 'pcc-and-pce', in which case
> reading for other roles would return 0 values.
>
>
It is the latter case, where some statistics are written based on the role.
Do you think this usage of 'when' is incorrect and needs changing?

Thanks again for your detailed review.

Regards,
Dhruv