[sfc] Yangdoctors last call review of draft-ietf-sfc-proof-of-transit-08
Martin Björklund via Datatracker <noreply@ietf.org> Thu, 16 September 2021 11:14 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: sfc@ietf.org
Delivered-To: sfc@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1])
by ietfa.amsl.com (Postfix) with ESMTP id D66E53A24F9;
Thu, 16 Sep 2021 04:14:41 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: =?utf-8?q?Martin_Bj=C3=B6rklund_via_Datatracker?= <noreply@ietf.org>
To: <yang-doctors@ietf.org>
Cc: draft-ietf-sfc-proof-of-transit.all@ietf.org, last-call@ietf.org,
sfc@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 7.37.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <163179088168.23735.14264777118398601057@ietfa.amsl.com>
Reply-To: =?utf-8?q?Martin_Bj=C3=B6rklund?= <mbj+ietf@4668.se>
Date: Thu, 16 Sep 2021 04:14:41 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/q_0mJuGIU0s1v5Twr9C4hBVpymU>
Subject: [sfc] Yangdoctors last call review of
draft-ietf-sfc-proof-of-transit-08
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>,
<mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>,
<mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2021 11:14:42 -0000
Reviewer: Martin Björklund
Review result: Ready with Nits
Hi,
This is my YANG doctor review of draft-ietf-sfc-proof-of-transit-08. The
review is focused on the YANG module in the draft. In general, the draft and
YANG module are well-written.
o pyang --ietf complains that the module description doesn't contain
the (correct) IETF Trust Copyright statement. The problem is
probably due to an copy&paste error; some text is duplicated. I
suggest you also keep the normal line breaks to make the text easier to read:
description
"This module contains a collection of YANG
definitions for proof of transit configuration
parameters. The model is meant for proof of
transit and is targeted for communicating the
POT-Profile between a controller and nodes
participating in proof of transit.
Copyright (c) 2020 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC
itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
are to be interpreted as described in BCP 14 (RFC 2119)
(RFC 8174) when, and only when, they appear in all
capitals, as shown here.";
o It is not clear to me how the profile sets are supposed to be used.
Perhaps the intention is one set per packet flow? If so, how is
the set tied to a flow?
o The list "pot-profile-list" is defined as ordered-by user. Why?
How is the order relevant?
o In the profile list there is a leaf "status" of type "boolean". It
is not immediately clear what "status = false" means (but the
meaning of the values are explained in the text). I suggest that
the leaf is renamed to "active", or "enabled". But see below!
o The current model allows a list where both entries have "status"
true. Perhaps a simpler solution could be to remove the "status"
leaf, and instead have a leaf in the profile set that refers to the
active entry:
leaf active-profile {
type leafref {
path '../pot-profile-list/pot-profile-index';
}
}
o It is not clear why you have the two groupings in the model. Do you
expect other models to reuse these groupings? If so, you should
probably add some descriptions that explain how they are to be
reused. If not, perhaps remove the groupings. The model is quite
simple anyway.
o The choice of prefixes for some of the names seems a bit random.
Some are called 'pot-profile-xxx' and some just 'xxx'.
In YANG we tend to avoid repeating prefixes unless it is necessary.
So perhaps, instead of:
module: ietf-pot-profile
+--rw pot-profiles
+--rw pot-profile-set* [pot-profile-name]
+--rw pot-profile-name string
+--rw pot-profile-list* [pot-profile-index]
+--rw pot-profile-index profile-index-range
you could have:
module: ietf-pot-profile
+--rw pot-profiles
+--rw profile-set* [name]
+--rw name string
+--rw profile-list* [index]
+--rw index profile-index-range
Also I would probably name the list 'profile-list' just 'profile',
to align with other models.
o Minor: I suggest you run the module through:
pyang -f yang --yang-line-length 68 --yang-canonical MODULE
in order to fix some inconsistensies in the formatting of the text.
This will make the RFC editor's job easier.
Also, I suggest you remove the comments you have; I don't think
they add anything.
o It would be helpful with an example of the XML or JSON data for the
example in section 3.3. Perhaps add that as an appendix?
/martin
- [sfc] Yangdoctors last call review of draft-ietf-… Martin Björklund via Datatracker