[yang-doctors] Yangdoctors last call review of draft-ietf-rtgwg-yang-rib-extend-03

Christian Hopps via Datatracker <noreply@ietf.org> Sat, 13 June 2020 00:09 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: yang-doctors@ietf.org
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 9023B3A0A3A; Fri, 12 Jun 2020 17:09:41 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Christian Hopps via Datatracker <noreply@ietf.org>
To: yang-doctors@ietf.org
Cc: rtgwg@ietf.org, draft-ietf-rtgwg-yang-rib-extend.all@ietf.org, last-call@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 7.3.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <159200698154.14152.758833840972322733@ietfa.amsl.com>
Reply-To: Christian Hopps <chopps@chopps.org>
Date: Fri, 12 Jun 2020 17:09:41 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/wnfyFK41xaa37HFk6vZwSHmTgkE>
Subject: [yang-doctors] Yangdoctors last call review of draft-ietf-rtgwg-yang-rib-extend-03
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
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: Sat, 13 Jun 2020 00:09:42 -0000

Reviewer: Christian Hopps
Review result: Almost Ready


* Review of draft-ietf-rtgwg-yang-rib-extend-03

** Questions:

- Should the routing-state branch also be augmented?

- Preferences are only be added to static routes it seems. Aren't preferences a
  generic RIB concept though that determines which route the RIB selects as
  active? Is there are reason to not add them as operational state for all routes?

- Why are repair-routes (which are really repair-paths i.e., a set of next-hops)
  defined globally and then referred to by ID with leaf-refs, while normal sets
  of next hops are not defined this same way (i.e., they are defined inline with
  the route)?

** Major

- Experience has shown that examples not only help users but also serve as
  validation of the module schema itself. I think the document should at minimum
  include an example which fully exercises the module (and is validated).
  ([RFC8407] "Module Usage Examples").

  My review will assumes the eventual existence of this validated example rather
  than trying to do by a bye-eye validation of various issues it would catch
  (e.g., that xpaths free of typos, etc)

** Minor

- In a few places more descriptions and reference are warranted . I think the
  level of expertise being assumed here may be too high (i.e., at the expert
  routing geek level vs someone with basic routing fundamentals knowledge), some
  comments following are specific to this point.

*** Module

- "What's a metric?" A bit more description could be added. As this module is
  adding both metrics and preferences I think it could be more specific about
  what they both are. The preference description for static routes is pretty
  good as it says what it is and how it's used. There's nothing similarly given
  (in the module) though for the metric leaf. Metrics are briefly mentioned in
  the document Introduction. This could be as simple as saying something in the
  module like "The metric value as defined by the source of the route". But I
  feel like maybe more needs to be said about whether the RIB itself ever uses
  these metrics (it doesn't right?). Its a bit confusing I think b/c of the
  presence of possibly unequal metrics in the set of nexthops for a given,
  possibly active, route.

- Appearing in multiple leafs: what is a "tag"s vs "application-tag"s. There's a
  description of "application-tag" in the module that uses "tag" to help define
  itself, but nothing for the "tag" its referring to. At least a reference or
  better, a few references should be given for these tag types.

  Routing experts with years of experience probably know what these are
  implicitly, but probably not others.

- "repair-route" should probably be named "repair-path". Unlike their sibling
  "routes" they only really exist inside an actual route (i.e., they have no
  prefix to stand on their own as a "route").

** Nits

*** Text

Section 3, last words of first paragraph:

  "monitor RIB." -> "monitor a RIB"?

*** Module

- "path-attribute" grouping, should probably rename this "repair-path-attribute"
  (or something similarly more specific since it's only adding one thing) it
  makes "uses repair-path-attribute" more obvious.