Re: [yang-doctors] Yangdoctors last call review of draft-ietf-rtgwg-yang-rib-extend-06

Yingzhen Qu <yingzhen.ietf@gmail.com> Fri, 23 April 2021 04:13 UTC

Return-Path: <yingzhen.ietf@gmail.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 92C213A0E4F; Thu, 22 Apr 2021 21:13:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 YddEPo-IY48o; Thu, 22 Apr 2021 21:13:54 -0700 (PDT)
Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) (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 E32793A0E4A; Thu, 22 Apr 2021 21:13:53 -0700 (PDT)
Received: by mail-io1-xd36.google.com with SMTP id e186so47732397iof.7; Thu, 22 Apr 2021 21:13:53 -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=sCRHHgaAEYvGVVEpn9bTyGGaSC0j8pZNOhPXyidptV0=; b=n1flXuftBWJsq6qFXzA2Ov3Ni1yuoz7wJceLblhfRLSdsvEfXkD4cJVUBI+67paay0 eHtVvlNz2Vt4UleOqc3/JMczJVjly04Gw07j6dyXaOmK5L2dgXswMHw5C/6B1/QtMWTc c8ogsL/1r/4dRzDuq3BsdL72uAmnkpsYkHZHJn+7Olm+EQ+tcN438UCesqwfzv+Lg8N4 563YjjReJnFoVA2fMoKmxvlmhkdyB+BdpIdvcnhKOZo5B6og5o+5ua/54yyzRehpn4ZM AynqWMCO8cRW8NkmQ0nVrbEV54oH2MtMYjsTeVbbmwBdVJi7pzRpl10Y1eV+PKqSasmy Ne2w==
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=sCRHHgaAEYvGVVEpn9bTyGGaSC0j8pZNOhPXyidptV0=; b=O3W6OKSpxf48Btum97HKVXTBLEKk1TIMXQRLWr6BFsYC9jfSql/HLuSaEgGa90X+19 aq54knn2lnBvT6sKRCYSzqV4JQZGqfRa5YwOwRPEYDysbLFCajfBzPMyvvRCM1crnGwa xhBeDqJ27WhHXygeMNcncOmDpKmniQuSnsUFP5xkaL+3UEsV3tduUxfFGXj9E7fAyXjG GRDSwZtBmkm4iNUWFu59Juw5gu41Zikh04KpVwoBzd90/Nxfii/SX5qZDGw6LzP59R8/ VSmYjLWcPLIZH95yeGdqei/10Qpm628TRQzu/bbbEgKLX19gTOU2DMfP7JQSbaHDgmo0 0New==
X-Gm-Message-State: AOAM531uCF98hZFtlU8KHB1xFsg1Y/p0QAeD9c/owm3+xKm3HH/BREq8 niBv7rZRzjzy3d+eta6D8fh4byf3OCd9j6H3Ow==
X-Google-Smtp-Source: ABdhPJz3FXrsrM0OjwUGfI4DBePXj86JFVSRXGRTjQnk4dfzDQXsZ/kVWNHSJ8ZQvFR/CzrxAqijyy5JSgGDzX/EhQI=
X-Received: by 2002:a05:6602:218a:: with SMTP id b10mr1924606iob.122.1619151231576; Thu, 22 Apr 2021 21:13:51 -0700 (PDT)
MIME-Version: 1.0
References: <161840106237.25677.18076046999764052110@ietfa.amsl.com>
In-Reply-To: <161840106237.25677.18076046999764052110@ietfa.amsl.com>
From: Yingzhen Qu <yingzhen.ietf@gmail.com>
Date: Thu, 22 Apr 2021 21:13:39 -0700
Message-ID: <CABY-gONTxUNuYx2nxV0=xFmfO8q9jg5uOTj8kbF9KRWGkyp-ZQ@mail.gmail.com>
To: Martin Björklund <mbj+ietf@4668.se>
Cc: yang-doctors@ietf.org, draft-ietf-rtgwg-yang-rib-extend.all@ietf.org, last-call@ietf.org, RTGWG <rtgwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000feeef005c09c05a0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/ttfe-ALGJa_JgTteLIduDUgdTws>
Subject: Re: [yang-doctors] Yangdoctors last call review of draft-ietf-rtgwg-yang-rib-extend-06
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 23 Apr 2021 04:14:00 -0000

Hi Martin,

Thank you for your review, and we've published version -07 to address your
comments.

Please see my answers below inline.

Thanks,
Yingzhen

On Wed, Apr 14, 2021 at 4:51 AM Martin Björklund via Datatracker <
noreply@ietf.org> wrote:

> Reviewer: Martin Björklund
> Review result: Ready with Nits
>
> Here is my YANG doctors review of draft-ietf-rtgwg-yang-rib-extend-06.
> This is a well-written draft, and my comments are minor.
>
>
>
> o  1.  Introduction
>
>    This document defines a YANG [RFC6020][RFC7950] data model which
>    extends the generic data model for RIB by augmenting the ietf-routing
>    model as defined in [RFC8349].
>
>   Nit:   s/ietf-routing model/ietf-routing YANG module/
>
> [Yingzhen]: fixed.


> o  2. Terminology
>
>   You import a couple of terms that are not used, I suggest you remove
>   them.
>
> [Yingzhen]: removed a few terms not used.


>   In 2.1 you introduce RIB, but since this term is defined in RFC
>   8349, I suggest you import it instead.
>
> [Yingzhen]: modified as suggested.

>
> o  3. Design of the Model
>
>    The YANG definitions in this document augment the ietf-routing model
>    defined in [RFC8349], which provides a basis for routing system data
>    model development.  Together with modules defined in [RFC8349], a
>    generic RIB Yang model is defined to implement and monitor a RIB.
>
>   Perhaps:
>
>    The YANG definitions in this document augment the routing data model
>    defined in [RFC8349], which provides a basis for routing system data
>    model development.  Together with the YANG modules defined in
> [RFC8349], a
>    generic RIB YANG model is defined to implement and monitor a RIB.
>
> [Yingzhen]: fixed.


> o  3 & 4
>
>   To make the text in 3 easier to understand, and 4 easier to read, I
>   would move some snippets from 4 to 3.  For example:
>
>    3.1.  RIB Tags and Preference
>
>      Individual routes tags are supported at both the route and next-hop
>      level.  A preference per next-hop is also supported for selection of
>      the most preferred reachable static route.
>
>      augment /rt:routing/rt:control-plane-protocols
>              /rt:control-plane-protocol/rt:static-routes/v4ur:ipv4
>              /v4ur:route/v4ur:next-hop/v4ur:next-hop-options
>              /v4ur:simple-next-hop:
>        +--rw preference?   uint32
>        +--rw tag?          uint32
>
>      augment /rt:routing/rt:control-plane-protocols
>              /rt:control-plane-protocol/rt:static-routes/v6ur:ipv6
>              /v6ur:route/v6ur:next-hop/v6ur:next-hop-options
>              /v6ur:simple-next-hop:
>        +--rw preference?   uint32
>        +--rw tag?          uint32
>
>
>    Etc.
>
>    If each augment is explained in section 3, section 4 can be removed.
>
> [Yingzhen]: thank you for the good suggestion. Now tree snapshots are in
section 3. I kept section 4, just saying the full tree is in the appendix.

>
> o  module description
>
>      This YANG module extends the generic data model for
>      RIB by augmenting the ietf-routing model.  It is
>      intended that the module will be extended by vendors
>      to define vendor-specific RIB parameters.
>
>   I don't think I understand this description.  Here's my understanding,
>   but I don't think it is correct:
>
>     1. This module extends the existing RIB data model by using
>        augmentations.
>     2. The existing RIB data model is defined in the YANG module
>        ietf-routing.
>     3. The purpose of this new module is to allow vendors to extend the
>        the existing RIB data model with vendor-specific parameters.
>
>   It seems 3 is at least incomplete, since this module defines some
>   additional config param for static routes, and addtional state and
>   statistics for ribs.
>
>   It is not clear how vendors are expected to extend this model; the
>   word "vendor" doesn't show up anywhere else.
>
> [Yingzhen]: This module does define additional parameters and is
augmenting the existing RIB model. The module can be further augmented. Any
suggestions for a replacement of "vendor-specific"?


> o  revision
>
>   We usually write "Initial revision.".
>
> [Yingzhen]: fixed.


> o  rib-summary-statistics
>
>          leaf total-routes {
>            type uint32;
>            description
>              "Total routes in the RIB from all protocols";
>          }
>          leaf total-active-routes {
>            type uint32;
>            description
>              "Total active routes in the RIB";
>          }
>          leaf total-route-memory {
>            type uint64;
>            description
>              "Total memory for all routes in the RIB from all
>               protocol clients";
>
>   These three leafs have slightly different descriptions, so I wonder
>   if there is a difference between "from all protocols", "from all
>   protocol clients" and no mentioning of protocols?
>
> [Yingzhen]: changed the names and the descriptions. Now the RIB and
protocol level are consistent.

>
> o  naming of statistics
>
>   The draft defines:
>
>     augment /rt:routing/rt:ribs/rt:rib:
>       +--ro rib-summary-statistics
>          +--ro total-routes?              uint32
>          +--ro total-active-routes?       uint32
>          +--ro total-route-memory?        uint64
>          +--ro protocol-rib-statistics* []
>             +--ro rib-protocol?             identityref
>             +--ro protocol-total-routes?    uint32
>             +--ro protocol-active-routes?   uint32
>             +--ro protocol-route-memory?    uint64
>
>    The names seem to repeat some words where is it not necessary,
>    e.g., there's no reason to call it 'rib-summary-statistics' under the
>    'rib' list.  It is more that summary; so I suggest simply 'statistics'.
>    Also, what is a "rib protocol"?
>
>    Perhaps:
>
>     augment /rt:routing/rt:ribs/rt:rib:
>       +--ro statistics
>          +--ro total-routes?              uint32
>          +--ro total-active-routes?       uint32
>          +--ro total-route-memory?        uint64
>          +--ro protocol-statistics* []
>             +--ro protocol?             identityref
>             +--ro routes?               uint32
>             +--ro active-routes?        uint32
>             +--ro route-memory?         uint64
>
>
> o  protocol-rib-statistics
>
>          list protocol-rib-statistics {
>            description "List protocol statistics";
>
>    Perhaps:
>            description
>              "RIB statistics per protocol.";
>
>
>            leaf rib-protocol {
>              type identityref {
>                base rt:routing-protocol;
>              }
>              description "Routing protocol for statistics";
>
>   Perhaps just:
>
>              description
>                "Routing protocol.";
>
> [Yingzhen]: Please see my reply above.

>
> o  formatting
>
>   I suggest you run the module through:
>
>     pyang -f yang --yang-canonical ietf-rib-extension@2021-02-03.yang
>
>   to fix some formatting and statement ordering issues.
>
> [Yingzhen]: some formatting and editorial changes were made.