[yang-doctors] Yangdoctors early review of draft-ietf-opsawg-ntw-attachment-circuit-04

Martin Björklund via Datatracker <noreply@ietf.org> Wed, 24 January 2024 15:20 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 A5ADBC15106C; Wed, 24 Jan 2024 07:20:18 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Martin Björklund via Datatracker <noreply@ietf.org>
To: yang-doctors@ietf.org
Cc: draft-ietf-opsawg-ntw-attachment-circuit.all@ietf.org, opsawg@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 12.3.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <170610961866.4027.4880525096043611049@ietfa.amsl.com>
Reply-To: Martin Björklund <mbj+ietf@4668.se>
Date: Wed, 24 Jan 2024 07:20:18 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/XkZZ7z-hHlDrILX7SN6IRLqhG08>
Subject: [yang-doctors] Yangdoctors early review of draft-ietf-opsawg-ntw-attachment-circuit-04
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.39
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, 24 Jan 2024 15:20:18 -0000

Reviewer: Martin Björklund
Review result: Ready with Issues

Here is my YANG doctor's review of draft-ietf-opsawg-ntw-attachment-circuit-04.

o  There are several typedefs defined on the form:

  typedef attachment-circuit-reference {
    type leafref {
      path "/nw:networks/nw:network/nw:node/ac-ntw:ac/ac-ntw:name";
    }

  Note that this path spans three lists (network, node, ac).  Unless
  it is guaranteed that the `ac-ntw:ame` value is unique within all
  networks and all nodes, this typedef won't work (or rather, it may
  refer to more than one ac).


o typedef ac-profile-reference {
    type leafref {
      path "/nw:networks/nw:network/ac-profile/name";
    }

  The nodes should have prefixes:

      path "/nw:networks/nw:network/ac-ntw:ac-profile/ac-ntw:name";


o   leaf site-of-origin {
      when "../address-family = 'vpn-common:ipv4' "
         + "or 'vpn-common:dual-stack'" {

    leaf ipv6-site-of-origin {
      when "../address-family = 'vpn-common:ipv6' "
         + "or 'vpn-common:dual-stack'" {


   Use 'derived-from-or-self' instead of comparison.


o  Some lists have plural-names: routing-profiles, ipv4-lan-prefixes,
   ipv6-lan-prefixes.  Usually lists should have singular names.


o typedef encryption-profile-reference {
    ...
    description
      "Defines a type to an encryption profile for referencing
       purposes.";
  }

  Perhaps "Defines a reference to an encryption profile"?

  (Same for 4 more typedefs)



/martin