[Detnet] AD review of draft-ietf-detnet-yang-17

John Scudder <jgs@juniper.net> Tue, 18 April 2023 20:37 UTC

Return-Path: <jgs@juniper.net>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D4D5AC151557; Tue, 18 Apr 2023 13:37:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.986
X-Spam-Level:
X-Spam-Status: No, score=-6.986 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTML_TAG_BALANCE_BODY=0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net header.b="SzDE8DcN"; dkim=pass (1024-bit key) header.d=juniper.net header.b="cGtip1k4"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o49SNrhxCaOb; Tue, 18 Apr 2023 13:37:35 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F60AC14CF12; Tue, 18 Apr 2023 13:37:32 -0700 (PDT)
Received: from pps.filterd (m0108163.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33IHjuD7029134; Tue, 18 Apr 2023 13:37:31 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : subject : date : message-id : content-type : mime-version; s=PPS1017; bh=ALIgCB5Xggf1QM18Sl5y8zixOHPYratkjgHb94OWAZo=; b=SzDE8DcNG/nU1wgzB2Fv4a4/Eyx3Xyggn1e+WmGauv8wg+oh7mbq6JN/OLdXhjNq7en6 SydTNTu36xUw4U2VrDZS2V/8x1yVR7GNf5g208GesBx+4xCZ3/zXsZCr4ffrDyymwDUO B8CzpZDAXuCKphuIZ7uzOK3+hHt9lccQme9le4SXPJt6ppxC8t9cbiHRlLXRemI6Necv 9Wd78KZsgayeBCyBwwGWxcWWXpjBqhjnEvtqsWe0uw4WxKWyOkyvgC3JNkxbN+MISM0K tD9wQlcvvAe49Q6b/6yrFKkIlhh2xQDV28yF6ffx/XUQpcWD2FyDHwTUshg2UWuvUkzy rQ==
Received: from co1pr02cu001.outbound.protection.outlook.com (mail-westus2azlp17011012.outbound.protection.outlook.com [40.93.10.12]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 3q1pd2hrku-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 18 Apr 2023 13:37:29 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B93jCRRhd9lFaNDQdgzqPoaCicq4XkZgFT9OI8KgCcPAlXHoWgbk+4zONZ+/u/Ws7yrQ2yFgh3RClxHkxPx+Z+deKDdlq+bflT/Af6M/YcIgBYl6M+IvRba0myeQQuGZB6XMrVO1VPncoaaQodP+EExzV3jKmkErT/dfpopIDlUGri/cw2NXM7PtBJqDvaAiTVY9GUdmDw9bmdQ1LqTOYHerE2W4siBpFYKsl4KcC/WbooNZj9uvEMZnhiXuvnjAGYAVk3o3UgxCjfFYrkeNuik8KRz4V5wSeWCErUIDbusE/db6GMxll72aSwR2NgQyBAQZ6PxaLm+48BoWuPpbmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ALIgCB5Xggf1QM18Sl5y8zixOHPYratkjgHb94OWAZo=; b=Ns1TYTv3zzFSkh7btRRBc2GYxrYn1zAhqCznQ8Pug7whK9TmSnpE7Z3BHrXYRXUS4YB+Z8zFoU3rX6dFApvXYU+M7uadBtV0739ZBQNYdECes10BTIII5hWK/dfI2PhCew/NWnmuKX4EZ7tGlZGQCp6mScxwwIPopmg8TqhnN0+/emNm8OeQT+tdk/vRDFa1IOd8Wn+AcUsOaqYoPy0GE82sOPQvkHfqNrGtqN3wFepIG+ZaS5raQxZLwrht2rFidZPjbzuZDT2TaxsB6/hirQOuEHA/TDvgTyBXYVS+4LQw694GJSOKDrjqjCYj/8uZEvMn7qNVNvQrIxcK91cmWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ALIgCB5Xggf1QM18Sl5y8zixOHPYratkjgHb94OWAZo=; b=cGtip1k4IvjwghwFxJewpCJ648cQye7ztHfd7PriK4QcOCNwcLBaXbuEjEOJhSx4M4qDetNjBDRCl9g+yvh7aUWYm9cNXCvbWT3K4x5A/Tlht3e+L36cGo12nkQ//+A3am4NT0oCh34ZwgzQQs78Mb1imWJbYf/nUZAiwXS8Da4=
Received: from MN2PR05MB6109.namprd05.prod.outlook.com (2603:10b6:208:c4::20) by SA0PR05MB7420.namprd05.prod.outlook.com (2603:10b6:806:b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 20:37:24 +0000
Received: from MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::666b:83f6:e10c:65a3]) by MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::666b:83f6:e10c:65a3%7]) with mapi id 15.20.6298.045; Tue, 18 Apr 2023 20:37:24 +0000
From: John Scudder <jgs@juniper.net>
To: "draft-ietf-detnet-yang@ietf.org" <draft-ietf-detnet-yang@ietf.org>, "detnet@ietf.org" <detnet@ietf.org>
Thread-Topic: AD review of draft-ietf-detnet-yang-17
Thread-Index: AQHZcjWV0tln6qWzZU6upX7E5dCIWw==
Date: Tue, 18 Apr 2023 20:37:24 +0000
Message-ID: <0E0F9C56-96F2-40F7-9FDF-8D6AF1BD0344@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.2)
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MN2PR05MB6109:EE_|SA0PR05MB7420:EE_
x-ms-office365-filtering-correlation-id: fa155b19-bf41-4da9-1019-08db404cb78e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 3P8V4plaaQ3Vjswp0vx/eAbTMdip+W650RHrZhuWigu6l0k2CaIJBizMwYWG0iqXbB1RZqdXud/WuiRi01DEdyZ73t+RgqKI1jj2PA+TWOEiQ1KbDg+4BYOiEs8uTuHBd20lWWAOjSBjnzpTbCr6aXNv1ARZvQS/OpHt3LjOsQT86nua3YfXmpfU8DOoYBsYuJKfNAOiFIdMNuiD8A11HK5xi5UB4reX7ppHFHKABuVgu4lu7ElsEzThgC0gW6Ztit7B3uSYepfhFSVvFjDniIf8O6WWGERWggAMzKq6VacHNwPpAUMS3vs1KRzc4HdcdE5f/uL6wOLzeb8LsH1TAamhDx9IZ89oVkocwvDLwM9NQernAJDFCXDhylnSx9iyaVpAN0bCDQj7IgfD7NRrHzqlX81+BLDQlspmVA2j/PCrFqH9mGR9Sj4smw1SzrZ2Q2q3XoWa7SrZlx1if0GKj1RbuxG75Nr3QPdMB2m/LUTyySDX2BCRLrr4up8ZxTYnHjlwc5PcAlyuu1+UlCE4SgG7eAH2MIXwyfn4/xRS4kjhYMEL/JT7nnV4VhkAVQirfg+PNJtfsS+P5RdvXL5wrg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR05MB6109.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(366004)(376002)(136003)(39860400002)(451199021)(66574015)(30864003)(66446008)(64756008)(66476007)(450100002)(99936003)(91956017)(66946007)(86362001)(76116006)(66556008)(38070700005)(38100700002)(83380400001)(2906002)(41300700001)(316002)(2616005)(110136005)(122000001)(478600001)(33656002)(71200400001)(5660300002)(8936002)(8676002)(6486002)(36756003)(186003)(6506007)(6512007)(26005)(45980500001)(579004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Wd4PNtYDwWV8FIVMnkTvx6w+8VZvNehlbwLKxDHyVW7B4lwyp+8oQ8IPGOmGVSLNwo5NWnopAw+SRuGChMK9u+YamuEXOtF64+wMzzduhX2EO4GQ13SRhNsYKKxL10hY0/CuHy80CeUVh9o1/Nm7xdyeL9Z8esDA1DySCPDmiboSwdhUQ6/JTg/xqOtOx+JdxiY9PddHF5pKH0LkLX7jLf7bIpKk8fwJHk2L9NNCZ0M4mcHUTf3vo53IAIDmZQh/P6kUCCIrrkyTmHDLv67OUaOO9KOHfZF2tYqKExFPTuFGsWLvng51B6WtodlthlB0yGErVHP71OI+wKD9Q/u5wFz0ekR8FTJ9ZlHMrYNeJKXcxRa78h3eGrpcXXIV1zo+yYrr/ycFb4offB0HHQm/51JI0VtsixjkpZEQxmSgDlZd55G0PCLcm1S0fB5ZNvfb5zUbYcktla81EYimoekz1Q16Uib+VMzXqSm18BsOmz15/UT2sOMmNFgOQI91TsadZeTPt2XpwfeyTbordky5vgeGkGEB4bcajwyJaLr63wpwlyW6spzodcvMXx2kVgNEYAq755drBfN7O2LmVmH5b4+pIxes7ypx1PZ/ANsvkD1ylZg5B9hJsvJM0uO9rOp5ajfrnf4AStAxkUiH1oBpdKh9lKVvRCQ/zGUtBTTXBkIzy422U7VBOr4Dr+FR33Mah/Nh3vMxZ8VVQM+nsmAebPhrkUWQh4bSBSiqy50svshDDAp8LUYsPqtWDv9a+rXdmoihaHLynOnSP/PQSOE3UEH4F5UYh/eDTWmPN0JR/Bc2FaXRe8K+JF5DedDVxdqTTtatnrtLP0PKED067SuYxja7zPKblPvq1x4ja6nNI990nBcREaD5iIivUxm1+9Uts2iN0vbiQl4EW65XLie3aoENIwcpjOuCh1Zk0sIENAlmPq0aBhq1gk6nBhMp9TvxpMT+/6GfJoc1oZaw4rM8e5uIw0ciMd5FoT21AkHEgVERuwSTTmbrWvLRjoPZzk9Sd+5mjOeLGxQNwHb8oGheedaguW99PlqonX3x0647kdxMeDnbyJKdj3vJehU6KG65NZnnKf+lZz4aRO5L4mhZf2zCAxfWibca+FtMKg9VZFW9klkSzQWx+gev2OwGkp2Rd3aViTF8KCgCGEaZMnBmbdRP5/N0TQXliBgw/7VE4uWleSNkfAK0XDnot/npH8l7mysYzNXhMTGRnczf8KzzYJaNRwjPiMaO9QjPjAhH1SdCprm8v2xzTIu//1CkY0lR0CwKp36kYbfPqPKEQVZPtnFL2jVu2AWMBu1b7l6ktB+msm7O+gfwyTfwEbYW2kbCmFvTfOfZiu6TOISKF/yqN5HJimRl7nMuAdv9NYcMaU8n1V3RCnzqCyAQqfwKwnTzuIqs48oVldA2LSYIjLJ8cCEhI2Xub1wUfqfcU+DbTxAW/+fR+3ioiUSjGAHyEKQLPXlx8iS+8yA0J2jE1B4spLbtwcf/dro6uO10kjaunfEJ+xMuNm9HSBQ9o92fTcyJm2M7muphd41kmDVvt5OI8JZZ8eqEK4ocui3gR5yKOXxtLDtpy9L3TjU82r/LJ96v
Content-Type: multipart/mixed; boundary="_003_0E0F9C5696F240F79FDF8D6AF1BD0344junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR05MB6109.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa155b19-bf41-4da9-1019-08db404cb78e
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2023 20:37:24.3811 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jQWJpmSPdil1bp1le48p9KdT7iaP7WN1gVCL4rdbt5tLaKk1amcYfUxzznJegD1A
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR05MB7420
X-Proofpoint-GUID: r4hUfyUMe0ltcHdCrDfnc2Y0EcHyW90f
X-Proofpoint-ORIG-GUID: r4hUfyUMe0ltcHdCrDfnc2Y0EcHyW90f
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-18_15,2023-04-18_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 lowpriorityscore=0 mlxscore=0 clxscore=1011 malwarescore=0 phishscore=0 impostorscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 mlxlogscore=999 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304180171
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/G5VYARdhn9WKA7dc5x93rwJQ93o>
Subject: [Detnet] AD review of draft-ietf-detnet-yang-17
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2023 20:37:40 -0000

Hi Authors, WG,

I apologize for the length of time this document has sat in AD Review! I found it a relatively easy review until I got to the examples, where I bogged down. I’m sending you my review without finishing past example B.5, in hopes that the issues identified up to that point help you do any necessary rework on the later examples as well — the issues identified do generally fall into a pattern that on brief review I do see repeating later.

I appreciate the inclusion of the detailed examples, they’re potentially extremely helpful to the non-expert reader (such as myself). I’m hoping that we can make the additional (I think relatively small) effort needed to make them truly usable by the audience. What I’ve identified so far largely involves providing better labeling of the diagrams, and prose introduction and separation of the various configurations. More detail is in the attached review.

I’ve supplied my questions and comments in the form of an edited copy of the draft. Minor editorial suggestions I’ve made in place without further comment, more substantive questions and comments are done in-line and prefixed with “jgs:”. You can use your favorite diff tool to review them; I’ve attached the iddiff output for your convenience if you’d like to use it. I’ve also pasted a traditional diff below in case you want to use it for in-line reply. 

Thanks,

—John

--- draft-ietf-detnet-yang-17.txt	2023-04-17 14:49:20.000000000 -0400
+++ draft-ietf-detnet-yang-17-jgs-comments.txt	2023-04-18 16:18:21.000000000 -0400
@@ -217,7 +217,14 @@
 
    At the egress the YANG model is handing off IP or MPLS to a next hop
    and a routing next hop structure is used.
-
+  
+--- 
+jgs: I found it a little difficult to understand what you meant by
+the above sentence. In the end, I guess what you're saying is that 
+forwarding at the egress isn't determined by anything in the DetNet
+YANG module, but rather non-DetNet forwarding is used? Maybe there 
+is some clearer way to say this? 
+---
 
 
 
@@ -245,10 +252,10 @@
 
    *  Service function indication, indicates which service function will
       be invoked at a DetNet edge, relay node or end station.  (DetNet
-      tunnel initialization or termination are default functions in
+      tunnel initialization or termination are default functions in the
       DetNet service layer, so there is no need for explicit
       indication).  The corresponding arguments for service functions
-      also needs to be defined.
+      also need to be defined.
 
 4.3.  DetNet Forwarding Sub-layer YANG Attributes
 
@@ -263,6 +270,14 @@
    transport layer related attributes are necessary:
 
    *  Flow Specification and Traffic Requirements, refers to [RFC9016].
+   
+---
+jgs: Would it be correct to elaborate the above something like
+
+   *  Flow Specification and Traffic Requirements, as described
+      in the information model in [RFC9016].
+---
+
       These may be used for resource reservation, flow shaping,
       filtering and policing by a control plane or other network
       management and control mechanisms.
@@ -286,7 +301,7 @@
 
    DetNet provides the capability of flow aggregation to improve
    scalability of DetNet data, management and control planes.
-   Aggregated flows can be viewed by the some DetNet nodes as individual
+   Aggregated flows can be viewed by some DetNet nodes as individual
    DetNet flows.  When aggregating DetNet flows, the flows should be
    compatible: if bandwidth reservations are used, the reservation
    should be a reasonable representation of the individual reservations;
@@ -297,6 +312,12 @@
    aggregation with the following functions:
 
    *  Aggregation flow encapsulation/decapsulation/identification
+   
+---
+jgs: I think the above should probably be rewritten as "Aggregated" flow,
+not Aggregation flow, but I'm flagging rather than changing inline in case
+you meant a different thing (if so, what?).
+---
 
    *  Mapping individual DetNet flows to an aggregated flow
 
@@ -345,7 +366,7 @@
 6.  DetNet YANG Structure Considerations
 
 
-   The picture shows that the general structure of the DetNet YANG
+   The picture shows the general structure of the DetNet YANG
    Model:
 
 
@@ -365,7 +386,7 @@
       | Profile    | | Profile    | | Profile      |   |Traffic Profile|
       +------------+ +------------+ +--------------+   +---------------+
 
-   There are three layer types in DetNet YANG Model: App-flow data
+   There are three layer types in the DetNet YANG Model: App-flow data
    layer, service sub-layer and forwarding sub-layer.  Additionally, the
    Traffic parameters are captured in a Traffic profile that can be
    referenced by any of the layers.
@@ -373,13 +394,19 @@
    Below is a a summary YANG tree showing the major items.  A complete
    YANG tree is in section Appendix A.
 
-   A traffic profile can be created for application, service sub-layer
-   or forwarding sub-layer.  A single profile may be shared by multiple
-   applications/sub-layer.  Each profile indicates the members that
+   A traffic profile can be created for an application, a service sub-layer
+   or a forwarding sub-layer.  A single profile may be shared by multiple
+   applications/sub-layers.  Each profile indicates the members that
    currently are using a profile.
+   
+---
+jgs: I wasn't sure if service sub-layer or forwarding sub-layer take a
+definite, or indefinite article in this context. I guessed "a" but if 
+it should be "the" please correct my correction.
+---
 
    Depending on which DetNet layers and functions are required, some or
-   all of the components may configured.  Examples are shown in
+   all of the components may be configured.  Examples are shown in
    Appendix B.
 
 
@@ -600,7 +627,7 @@
      identity failed {
        base app-status;
        description
-         "Application ingres/egresss failed.";
+         "Application ingres/egress failed.";
        reference
          "RFC 9016 Section 5.8";
      }
@@ -730,7 +757,7 @@
 Internet-Draft          draft-ietf-detnet-yang-17           October 2022
 
 
-             "This operation impose outgoing label(s) and forward to
+             "This operation imposes outgoing label(s) and forwards to the
               next-hop.";
            reference
              " A YANG Data Model for MPLS Base RFC 8960.";
@@ -751,18 +778,18 @@
          }
          enum swap-and-forward {
            description
-             "This operation swaps incoming label, with an outgoing
+             "This operation swaps an incoming label with an outgoing
               label and forwards to the next-hop.";
            reference
              " A YANG Data Model for MPLS Base RFC 8960.";
          }
          enum forward {
            description
-             "This operation forward to next-hop.";
+             "This operation forwards to the next-hop.";
          }
          enum pop-and-lookup {
            description
-             "This operation pops incoming label and performs a
+             "This operation pops an incoming label and performs a
               lookup.";
          }
        }
@@ -791,7 +818,7 @@
              "A Packet Replication Function (PRF) replicates DetNet
               flow packets and forwards them to one or more next hops in
               the DetNet domain.  The number of packet copies sent to
-              each next hop is a DetNet flow specific parameter at the
+              each next hop is a DetNet flow-specific parameter at the
               node doing the replication.  PRF can be implemented by an
               edge node, a relay node, or an end system.";
          }
@@ -851,6 +878,11 @@
              "This enum value means generate the sequence number by the
               DetNet flow.";
          }
+---
+jgs: a more descriptive description would be nice. The one above is
+essentially just a transcription of the name. I'd suggest text if I 
+were sure what to say.
+---
        }
        description
          "An enumeration for the sequence number behaviors supported.";
@@ -991,6 +1023,11 @@
        description
          "The TCP/UDP port(source/destination) identification
           information.";
+---
+jgs: What's "(source/destination) doing there? Surely this is just
+for the destination port, so maybe 'The TCP/UDP destination port' 
+would be appropriate?"
+---
        container destination-port {
          uses packet-fields:port-range-or-operator;
          description
@@ -1002,7 +1039,9 @@
        description
          "The TCP/UDP port(source/destination) identification
           information.";
-
+---
+jgs: Similarly to the above, this is the source port, only, right?
+---
 
 
 Geng, et al.              Expires 7 April 2023                 [Page 18]
@@ -1447,6 +1486,13 @@
                 MaxLatency is specified as an integer number of
                 nanoseconds. Any value above the MAX 4,294,967,295
                 is displayed as MAX";
+---
+jgs: I don't understand the last sentence. If it's a uint32, there *is*
+no value above 2^32-1, that's the highest representable value. So there
+is nothing to be "displayed as MAX". Furthermore, even if greater values
+were representable, is it the place of the YANG model to say how to 
+display them?
+---
              reference
                "RFC 9016 Section 4.2";
            }
@@ -1489,7 +1535,7 @@
              type uint32;
              units "packets";
              description
-               "Some applications have special loss requirement, such
+               "Some applications have special loss requirements, such
                 as MaxConsecutiveLossTolerance.  The maximum consecutive
                 loss tolerance parameter describes the maximum number of
                 consecutive packets whose loss can be tolerated.  The
@@ -1514,7 +1560,7 @@
 Internet-Draft          draft-ietf-detnet-yang-17           October 2022
 
 
-                maximum allowed misordering indicates that in order
+                maximum allowed misordering indicates that in-order
                 delivery is required, misordering cannot be tolerated.";
              reference
                "RFC 9016 Section 4.2";
@@ -1641,9 +1687,9 @@
              type boolean;
              default false;
              description
-               "Defines the data path requirement of the App-flow
+               "Defines the data path requirement of the App-flow,
                 whether it must share the same data path and physical
-                path for both directions through the network, e.g., to
+                path for both directions through the network, i.e., to
                 provide congruent paths in the two directions.";
              reference
                "RFC 9016
@@ -1653,14 +1699,14 @@
              type service-sub-layer-ref;
              config false;
              description
-               "Binding to this applications outgoing
+               "Binding to this application's outgoing
                 service.";
            }
            leaf incoming-service {
              type service-sub-layer-ref;
              config false;
              description
-               "Binding to this applications incoming service.";
+               "Binding to this application's incoming service.";
            }
            leaf traffic-profile {
              type traffic-profile-ref;
@@ -1706,7 +1752,7 @@
                "Route's next-hop attribute.";
              choice application-type {
                description
-                 "This is the application type choices.";
+                 "This is the application type choice.";
                container ethernet {
                  description
                    "This is TSN unaware traffic that maps to an
@@ -1823,7 +1869,7 @@
                container forwarding-aggregation {
                  description
                    "This service sub-layer is related to the forwarding
-                    sub-layer of the upper layer and provide
+                    sub-layer of the upper layer and provides
                     forwarding-to-service aggregation at the ingress
                     node or relay node.";
                  uses forwarding-sub-layer-group;
@@ -1831,7 +1877,7 @@
                container service-id {
                  description
                    "This service sub-layer is related to the service or
-                    forwarding sub-layer of the lower layer and provide
+                    forwarding sub-layer of the lower layer and provides
                     DetNet service relay or termination at the relay
                     node or egress node.";
                  uses detnet-flow-spec;
@@ -1860,7 +1906,7 @@
                     sub-layers of the lower layer for DetNet service
                     forwarding or service-to-forwarding aggregation at
                     the ingress node or relay node.  When the operation
-                    type is service-initiation, The service sub-layer
+                    type is service-initiation, the service sub-layer
                     encapsulates the DetNet Control-Word and services
                     label, which are for individual DetNet flow when the
                     incoming type is app-flow and for aggregated DetNet
@@ -2004,7 +2050,7 @@
                container service-sub-layer {
                  description
                    "This forwarding sub-layer is related to the service
-                    sub-layers of the upper layer and provide DetNet
+                    sub-layers of the upper layer and provides DetNet
                     forwarding or service-to-forwarding aggregation at
                     the ingress node or relay node.";
                  uses service-sub-layer-group;
@@ -2020,7 +2066,7 @@
 
                  description
                    "This forwarding sub-layer is related to the
-                    forwarding sub-layer of the upper layer and provide
+                    forwarding sub-layer of the upper layer and provides
                     forwarding-to-forwarding aggregation at the ingress
                     node or relay node or transit node.";
                  uses forwarding-sub-layer-group;
@@ -2028,7 +2074,7 @@
                container forwarding-id  {
                  description
                    "This forwarding sub-layer is related to all of the
-                    lower layer and provide DetNet forwarding swap or
+                    lower layer and provides DetNet forwarding swap or
                     termination at the transit node or relay node or
                     egress node.";
                  leaf interface {
@@ -2048,7 +2094,7 @@
              choice outgoing {
                mandatory true;
                description
-                 "This is when a service connected directly to an
+                 "This is when a service is connected directly to an
                  interface with no forwarding sub-layer.";
                container
                  interface {
@@ -2110,6 +2156,12 @@
                     disaggregation at the relay node or egress node.
                     This outgoing type only can be chosen when the
                     operation type is pop-and-lookup.";
+---
+jgs: the term "F-label" appears here without explanation, and in the following
+description, and figure 7, and nowhere else. I assume it means "forwarding 
+label" but if so, can you either use the term "forwarding label" which is
+self-explanatory, or gloss "f-label" somewhere?
+---
                  uses service-sub-layer-group;
                  reference
                    "RFC 8964 Section 4.2.3";
@@ -2122,6 +2174,9 @@
                     at the transit node or relay node or egress node.
                     This outgoing type only can be chosen when the
                     operation type is pop-and-lookup.";
+---
+jgs: same comment about F-label above.
+---
 
 
 
@@ -2206,8 +2261,8 @@
    be considered sensitive.
 
    /detnet/traffic-profile/member-app: This links traffic profiles to
-   applications, o this also could be considered more sensitive.  The
-   traffic profiles liked to service sub-layer and forwarding sub-layer
+   applications, so this also could be considered more sensitive.  The
+   traffic profiles linked to service sub-layer and forwarding sub-layer
    are less sensitive.
 
    /detnet/service/sub-layer/incoming/app-flow: This links applications
@@ -2219,7 +2274,7 @@
 11.  Contributors
 
    The editors of this document wish to thank and acknowledge the
-   following people who contributed substantially to the content of this
+   following person who contributed substantially to the content of this
    document and should be considered coauthors:
 
    Mach(Guoyi) Chen
@@ -2891,7 +2946,7 @@
 
 Appendix B.  Examples
 
-   The following examples are provided.  These examples are tested with
+   The following examples are provided.  These examples have been tested with
    Yanglint and use operational output to exercise both config true and
    config false objects.  Note that IPv4 and IPv6 addresses are
    supported but for clarity in the examples and diagrams IPv4 has been
@@ -2899,7 +2954,7 @@
    these support both IPv4 and IPv6.
 
    The following are examples of aggregation and disaggregation at
-   various points in Detnet.  Figures are provided in the PDF version of
+   various points in Detnet.  Figures are provided in the HTML and PDF versions of
    this document.
 
 
@@ -2923,6 +2978,19 @@
    address format.
 
    Please consult the PDF or HTML versions for the Case A-1 Diagram.
+   
+---
+jgs: In the diagram, some of the labels aren't self-explanatory, it seems
+like a legend is needed. I noted "DN-1", "R" in a circle, and "E" in a circle, 
+as needing to be glossed. (I presume "R" is "replication" and "E" is 
+"elimination", but please spell this out in a legend.)
+
+This comment applies to the later diagrams as well.
+
+In all of the examples, I presume the shown configuration applies to one or
+in some cases two of the boxes shown on the figure. Please specify, for each
+example, what configuration corresponds to what box.
+---
 
          Figure 2: Case A-1 Example JSON Operational/Configuration
 
@@ -3176,7 +3244,7 @@
 
 B.2.  Example B-1 XML Config: Aggregation using a Forwarding Sub-layer
 
-   This illustrates aggrgation in the service sub-layers of DetNet.
+   This illustrates aggregation in the service sub-layers of DetNet.
    Flows 1 and 2 are aggregated into a forwarding sub-layer.  A diagram
    illustrating this case is shown and then the corresponding XML
    operational data follows.
@@ -3439,9 +3507,22 @@
    This illustrates the service sub-layers of DetNet.  Flows 1 and 2 are
    aggregated into a service sub-layer of aggregated DetNet flow 1.  A
    diagram illustrating this case is shown and then the corresponding
-   JSON operational data follows.
+   JSON operational data for node Ingress 1 follows.
+---
+jgs: Would it be correct to interpolate "for node Ingress 1" as I've done?
+---
 
    Please consult the PDF or HTML versions for the Case B-2 Diagram.
+   
+---
+jgs: More items needing a legend appear on this diagram. S and A are
+identifiable by the diligent reader but an explanation would still be
+helpful, I assume they mean "source" and "aggregation". F-label is also
+a little problematic, as previously noted. 
+
+What is the meaning of the dashed boxes around "aggregation" and
+"disaggregation"?
+---
 
             Figure 7: Case B-2 Example JSON Service Aggregation
 
@@ -3700,6 +3781,13 @@
 
        }
      },
+---
+jgs: I found myself wondering why we need to have these interface
+stanzas spelled out in detail -- they don't help with illustrating the
+use case, in particular. I guess it's because these examples were 
+scraped directly from working labs, and are tested to work, and you
+don't want to alter them?
+---
      "ietf-interfaces:interfaces": {
        "interface": [
          {
@@ -3766,6 +3854,18 @@
    Please consult the PDF or HTML versions for the Case C-1 Diagram.
 
      Figure 9: Case C-1 Example JSON Service Aggregation/Disaggregation
+     
+---
+jgs: I see there is a de minimis identification of what this configuration
+applies to, in the "figure 10" legend that appears below it. This comes too
+late, and is also too subtle, to help the reader. Please consider introducing
+each distinct configuration with a short paragraph, as in,
+
+   Following is the JSON configuration for aggregation node Relay 1.
+   
+Making this configuration its own subsection would also help the reader to
+not get lost.
+---
 
    {
      "ietf-detnet:detnet": {
@@ -4231,6 +4331,14 @@
 
         Figure 10: Example C-1 DetNet JSON Relay Service Aggregation
 
+---
+jgs: and similarly, it would be helpful to introduce this one with something
+like 
+
+   Following is the JSON configuration for etc etc.
+
+and similarly, it might be helpful to put it in its own subsection.
+---
    {
      "ietf-detnet:detnet": {
        "traffic-profile": [
@@ -4687,10 +4795,16 @@
 
 B.5.  Example C-2 JSON Relay Aggregation Service Sub-Layer
 
-   This illustrates the Relay node 1 aggregating the service sub-layers
-   of DetNet flows 1 and 2 into a forwarding sub-layer A diagram
+   This illustrates the node Relay 1 aggregating the service sub-layers
+   of DetNet flows 1 and 2 into a forwarding sub-layer. A diagram
    illustrating both aggregation and disaggregation is shown and then
    the corresponding JSON operational data follows.
+---
+jgs: Shouldn't you also mention that it shows Relay 2 disaggregating it, 
+the way you do in B.6?
+
+A similar comment applies to B.4.
+---
 
    Please consult the PDF or HTML versions for the Case C-2 Diagram.