Re: [Lsr] Benjamin Kaduk's Discuss on draft-ietf-ospf-yang-26: (with DISCUSS and COMMENT)

"Acee Lindem (acee)" <acee@cisco.com> Fri, 23 August 2019 00:30 UTC

Return-Path: <acee@cisco.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E7727120C3F; Thu, 22 Aug 2019 17:30:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.5
X-Spam-Level:
X-Spam-Status: No, score=-9.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, GB_SUMOF=5, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=Ewsu46jX; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=OGmStN09
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 gRV-K_79P6Im; Thu, 22 Aug 2019 17:30:32 -0700 (PDT)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA243120AD5; Thu, 22 Aug 2019 17:30:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19172; q=dns/txt; s=iport; t=1566520232; x=1567729832; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=IvjVHp9hzoMjMXSOdehDhW/IsuLvveGnpV8S8E6bm3A=; b=Ewsu46jXUseyzckGRsUJtj5jgJEYDLgqPHdCUZ9tiLGOU1RcNQXgTktP A/7OyxUavzXkqTruVO2W1fxiiSANG5SwDpavS3NLJNbDe1GDp9dRd5oBx UAh2LKa01Z7TS0P9dt1R9n5Zx29wzZuluKwfwc3Lda1+9rh4lRSn3jRtL Q=;
IronPort-PHdr: =?us-ascii?q?9a23=3AVEjagRaPmscZw+JIB/voI9v/LSx94ef9IxIV55?= =?us-ascii?q?w7irlHbqWk+dH4MVfC4el20QKbRp3VvvRDjeee87vtX2AN+96giDgDa9QNHw?= =?us-ascii?q?QAld1QmgUhBMCfDkiuJfXnYgQxHd9JUxlu+HToeUU=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AOAAD1Ml9d/5hdJa1cCQ4LAQEBAQE?= =?us-ascii?q?BAQEBAQEBBwEBAQEBAYFVAgEBAQEBCwGBRFADbVUgBAsqhCCDRwOKboNalmi?= =?us-ascii?q?BLhSBEANUCQEBAQwBASMKAgEBhD8CF4JIIzYHDgIJAQEEAQEDAQYEbYUtDIV?= =?us-ascii?q?LAgEDEhERDAEBJRIBDwIBCBoCJgICAjAVEAIEAQ0FIoMAAYFqAx0BAgyhGAK?= =?us-ascii?q?BOIhhc4EygnsBAQWBRkGDGxiCFgMGgQwoAYorgUMYgX+BEScfghc1PoJhAgE?= =?us-ascii?q?CAYEqAQgDBwEHGIMLMoImjEEygXQxhTKIYo1HbQkCgh2GaYUAhF+DdRuCMYc?= =?us-ascii?q?wjmmNX4E2hi6QLwIEAgQFAg4BAQWBVwkoRCNYEQhwFTsqAYJBgkI4gzqFFIU?= =?us-ascii?q?EO3IBgSiIWw8XgiwBAQ?=
X-IronPort-AV: E=Sophos;i="5.64,419,1559520000"; d="scan'208";a="312226461"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 23 Aug 2019 00:30:30 +0000
Received: from XCH-ALN-019.cisco.com (xch-aln-019.cisco.com [173.36.7.29]) by rcdn-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id x7N0UUO2008270 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 23 Aug 2019 00:30:30 GMT
Received: from xhs-aln-001.cisco.com (173.37.135.118) by XCH-ALN-019.cisco.com (173.36.7.29) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 22 Aug 2019 19:30:30 -0500
Received: from xhs-rtp-001.cisco.com (64.101.210.228) by xhs-aln-001.cisco.com (173.37.135.118) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 22 Aug 2019 19:30:29 -0500
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-001.cisco.com (64.101.210.228) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 22 Aug 2019 20:30:29 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SC0d3XIQGd2A+DzX36O8vQ6k0yPd+cYpeIjHOF0Y9b7gqcP8jeS1JptZd1xRb3Ll2wR/1rfitNpa4Mk8Oo/vHVoZvNAxux7WMQfwXSz46Ghg7rUOcUHTTOXh0KD9sTA8BhJIaWXoUa4cwyTzrloGY6IoRyOTXAWyNbjrKkRBKhpdwkvLpU00cV1mqyeZotVkMXq2QAhBHG9dqqkduEud4oUdHsGP7FwoUlXjzC5YT50gzyYJ9YVR+dcu70kiAtuw/GSpshB68UdynwlhCRLiSnNhJGE4V8IfCv+Os+fxtohbgSkOqSPR+rUBP01xFflxptbMUZhCHlTiDpSIhjqL2g==
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-SenderADCheck; bh=IvjVHp9hzoMjMXSOdehDhW/IsuLvveGnpV8S8E6bm3A=; b=m6PVWGO/+XdJynFAx4fzJ7z1sqsVDazjeG5Vj47cHMOm0j/5JW8mZaMaeax1kqeoXQsL56FyldU/k1cBpDsIXVJoWaCXztClejwol3ku3OX+pnSdb7sSbGbIMKJwwuOZfkXmP4Rf/wXhDZwHxhNPzq+6+LfS7Q5TjtqdDmDJsQPltqLC+Tc6zPur2ogBwdt9Pe/IQTj0HFfXaOeT6UFq+xC57K6qYvobkoC9JRfcCcOJkctnupnq49U8nFTebUbsxyutYBwuEtBSyHsTxV6EO6heZUGBS5I4lbNza4qqsg9tzn2qzuhTyd5gzegIUq04I/g2C9x2x5X24D0Wpq6vAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IvjVHp9hzoMjMXSOdehDhW/IsuLvveGnpV8S8E6bm3A=; b=OGmStN09zb/IV0rQhe5LfrOu735vxDUSpi4J2OUGEX1OCEJd5Aw3xx/ZPhm0lmth+eoRx4OUrXWo7SNDSlKctbi4ij4QsPZ5doWpxnrVqCjYrrbrgQLt+dScYbjGGiyqhZmAKe5CNGEA7B2KQTfz1AmwhBxkOHVSj4O8AZr1O94=
Received: from MN2PR11MB4221.namprd11.prod.outlook.com (52.135.38.14) by MN2PR11MB4431.namprd11.prod.outlook.com (52.135.37.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.18; Fri, 23 Aug 2019 00:30:27 +0000
Received: from MN2PR11MB4221.namprd11.prod.outlook.com ([fe80::859c:f271:3be2:74e0]) by MN2PR11MB4221.namprd11.prod.outlook.com ([fe80::859c:f271:3be2:74e0%3]) with mapi id 15.20.2178.020; Fri, 23 Aug 2019 00:30:27 +0000
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
CC: "draft-ietf-ospf-yang@ietf.org" <draft-ietf-ospf-yang@ietf.org>, "Stephane Litkowski" <stephane.litkowski@orange.com>, "aretana.ietf@gmail.com" <aretana.ietf@gmail.com>, "lsr-chairs@ietf.org" <lsr-chairs@ietf.org>, "lsr@ietf.org" <lsr@ietf.org>
Thread-Topic: Benjamin Kaduk's Discuss on draft-ietf-ospf-yang-26: (with DISCUSS and COMMENT)
Thread-Index: AQHVWKzlv2qdUEtg30mdXATo61DUU6cHn4UA
Date: Fri, 23 Aug 2019 00:30:27 +0000
Message-ID: <DCC2B37B-7E04-4D6B-8C77-C48650CDA4B9@cisco.com>
References: <156645274645.25722.10228898924938704759.idtracker@ietfa.amsl.com>
In-Reply-To: <156645274645.25722.10228898924938704759.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=acee@cisco.com;
x-originating-ip: [2001:420:c0c4:1007::de]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 251e35a5-6b24-469d-2a4d-08d7276118cc
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:MN2PR11MB4431;
x-ms-traffictypediagnostic: MN2PR11MB4431:
x-ms-exchange-purlcount: 2
x-microsoft-antispam-prvs: <MN2PR11MB44311199282D095B0A8BC94FC2A40@MN2PR11MB4431.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-forefront-prvs: 0138CD935C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(376002)(39860400002)(346002)(366004)(189003)(199004)(186003)(316002)(7736002)(46003)(110136005)(305945005)(2906002)(71200400001)(5660300002)(6246003)(4326008)(99286004)(6506007)(81166006)(6306002)(2171002)(966005)(6486002)(36756003)(71190400001)(66574012)(8676002)(478600001)(66476007)(53936002)(66446008)(8936002)(256004)(6512007)(64756008)(81156014)(86362001)(6116002)(66946007)(30864003)(6436002)(66556008)(2616005)(446003)(229853002)(33656002)(76116006)(476003)(54906003)(11346002)(486006)(102836004)(14454004)(14444005)(25786009)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4431; H:MN2PR11MB4221.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 2nBKaGVc86Eu8R0VQriF2gYrrydSTWhlupadD916r/9Fx76tOehvZNyNFG/RDuX5yPlxx9QfpQ5vvBE3zxxSm+FaalkC8Cn9UADcyHNj9//qXn0QHJ6eFw8gKrK4EF9XMUt4IYFo7+gYezAA1HtiSpuiDd1pnd++Jo8w4RtLLtCaASmc3thordY55hWHRy2eu06DwibozAgoxx6hgfuf5/E+6mbtm6+uvAOFgWRHWz6AlbrNDJf/idSJqzITO1uzrQTbyleR0s0VoHVzGnpqR1Pxdm++oWGbf3X6Dtw1Y0rS73ZQdXQGjJvj+vERKIpRfZ1wGIoczKT6pEadYTYxMYygDReEkfRS7CixDPdEVqRG49yqTik62FaFW3Eyx4gWqi9mjWHElFFefI02/Y2Iyrdd2By/UPlOhe1VSROUwXA=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <E9B0B1D2F8E0A545A354697A65A29014@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 251e35a5-6b24-469d-2a4d-08d7276118cc
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2019 00:30:27.6069 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rfee/RwZe57n7A9bksno1Eg2LsA41txK/69UhDqzfIJg3nFYVyQiLXaORGRJZtS/
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4431
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.29, xch-aln-019.cisco.com
X-Outbound-Node: rcdn-core-1.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/fmvGIas6O7orOFPGBOtajvsfj6o>
Subject: Re: [Lsr] Benjamin Kaduk's Discuss on draft-ietf-ospf-yang-26: (with DISCUSS and COMMENT)
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Aug 2019 00:30:42 -0000

Hi Ben, 

´╗┐On 8/22/19, 1:46 AM, "Benjamin Kaduk via Datatracker" <noreply@ietf.org>; wrote:

    Benjamin Kaduk has entered the following ballot position for
    draft-ietf-ospf-yang-26: Discuss
    
    When responding, please keep the subject line intact and reply to all
    email addresses included in the To and CC lines. (Feel free to cut this
    introductory paragraph, however.)
    
    
    Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
    for more information about IESG DISCUSS and COMMENT positions.
    
    
    The document, along with other ballot positions, can be found here:
    https://datatracker.ietf.org/doc/draft-ietf-ospf-yang/
    
    
    
    ----------------------------------------------------------------------
    DISCUSS:
    ----------------------------------------------------------------------
    
    (1) Can we check whether it's okay to use the yang "string" type for raw
    cryptographic keys (e.g., ospfv2-key, ospfv3-key)?  My understanding was
    that yang strings were limited to human-readable, but that the crypto
    keys could be raw binary values.

It does only include human-readable keys. Here is the RFC 7950 YANG ABNF definition.


   ;; any Unicode or ISO/IEC 10646 character, including tab, carriage
   ;; return, and line feed but excluding the other C0 control
   ;; characters, the surrogate blocks, and the noncharacters
   yang-char = %x09 / %x0A / %x0D / %x20-D7FF /
                               ; exclude surrogate blocks %xD800-DFFF
              %xE000-FDCF /    ; exclude noncharacters %xFDD0-FDEF
              %xFDF0-FFFD /    ; exclude noncharacters %xFFFE-FFFF
              %x10000-1FFFD /  ; exclude noncharacters %x1FFFE-1FFFF
              %x20000-2FFFD /  ; exclude noncharacters %x2FFFE-2FFFF
              %x30000-3FFFD /  ; exclude noncharacters %x3FFFE-3FFFF
              %x40000-4FFFD /  ; exclude noncharacters %x4FFFE-4FFFF
              %x50000-5FFFD /  ; exclude noncharacters %x5FFFE-5FFFF
              %x60000-6FFFD /  ; exclude noncharacters %x6FFFE-6FFFF
              %x70000-7FFFD /  ; exclude noncharacters %x7FFFE-7FFFF
              %x80000-8FFFD /  ; exclude noncharacters %x8FFFE-8FFFF
              %x90000-9FFFD /  ; exclude noncharacters %x9FFFE-9FFFF
              %xA0000-AFFFD /  ; exclude noncharacters %xAFFFE-AFFFF
              %xB0000-BFFFD /  ; exclude noncharacters %xBFFFE-BFFFF
              %xC0000-CFFFD /  ; exclude noncharacters %xCFFFE-CFFFF
              %xD0000-DFFFD /  ; exclude noncharacters %xDFFFE-DFFFF
              %xE0000-EFFFD /  ; exclude noncharacters %xEFFFE-EFFFF
              %xF0000-FFFFD /  ; exclude noncharacters %xFFFFE-FFFFF
              %x100000-10FFFD  ; exclude noncharacters %x10FFFE-10FFFF

However, this is the intent as this is support for implementations that don't support key-chains (RFC 8177). The "Security Considerations" recommend key chains. We'll add the hexadecimal specification as another reason for preferring key-chains. 

 
  
    (2) Do we need to say anything about how to indicate when there are
    discontinuities for the various "counter" types?

I've never heard any mention of counter discontinuities in the context of OSPF control plane counters. 
    
    
    ----------------------------------------------------------------------
    COMMENT:
    ----------------------------------------------------------------------
    
    I'm happy to see the discussion around Roman's Discuss.
    
    Section 1
    
       YANG [RFC6020][RFC7950] is a data definition language used to define
       the contents of a conceptual data store that allows networked devices
       to be managed using NETCONF [RFC6241].  YANG is proving relevant
       beyond its initial confines, as bindings to other interfaces (e.g.,
       ReST) and encodings other than XML (e.g., JSON) are being defined.
    
    This text feels a bit stale at this point.

Updated in -27.
    
    Section 2
    
       model varies among router vendors.  Differences are observed in terms
       of how the protocol instance is tied to the routing domain, how
       multiple protocol instances are be instantiated among others.
    
    nit: the grammar here is a bit odd, with the comma suggesting the start
    of a list but no "and" present.

Fixed in -27.
    
    Section 2.2
    
       The ospf module is intended to match to the vendor specific OSPF
       configuration construct that is identified by the local identifier
       'name'.
    
    I don't really understand what this is intended to mean.

I removed this paragraph and augmented the next one.
    
    Section 2.7
    
    hello-timer in the module claims to be a rt-types:timer-value-seconds16
    but shows up in the tree(s) as a uint32.
    Similarly, the wait-itmer is a rt-types:timer-value-seconds32, which
    also shows up in the tree(s) as a uint32, which is perhaps more
    reasonable but perhaps not entirely accurate.
    Other 'timer' leafs seem to have similar issues.

Fixed. 
    
    Section 3
    
         feature ospfv2-authentication-trailer {
           description
             "Use OSPFv2 authentication trailer for OSPFv2
              authentication.";
    
    Is the feature for "use" or "support for"?
    (Similarly for the ospfv3 authentication features.)

The latter - fixed. 
    
         identity ospfv2-lsa-option {
           description
             "Baes idenity for OSPFv2 LSA option flags.";
    
    nit: "Base"

Fixed. 
    
         identity v2-p-bit {
           base ospfv2-lsa-option;
           description
             "Only used in type-7 LSA. When set, an NSSA
              border router should translate the type-7 LSA
              to a type-5 LSA.";
    
    There seem to be a few "identity <foo>-bit" stanzas whose description do
    not mention the named bit specifically (but many that do).  Do we want
    to be consistent about doing so?  (Likewise for <foo>-flag.)

Made these consistent. This was added very late when we realized that YANG type bit is not extendable. 
    
         grouping tlv {
           description
             "Type-Length-Value (TLV)";
           leaf type {
             type uint16;
             description "TLV type.";
           }
           leaf length {
             type uint16;
             description "TLV length (octets).";
           }
           leaf value {
             type yang:hex-string;
             description "TLV value.";
    
    Is there a way to apply a constraint so the 'length' matches the
    hext-string's length?

Since this is returned operational data, it doesn't make a lot of sense to put constraints on it. It is basically what the router returns. If it is wrong, it wouldn't have been parsed correctly in the first place. 
    
         grouping router-capabilities-tlv {
    
    The various descriptions hereunder could perhaps benefit from section
    references, as, e.g., two nodes named "informational-capabilities" may
    otherwise require some effort to distinguish.  Well, aside from the fact
    that one is currently listed as "capabilitiess" with two esses, which
    seems unlikely to be intended.

I fixed the description on these to differential between the list uint32 flags and the identities.
    
         grouping ospf-router-lsa-bits {
           container rputer-bits {
    
    s/rputer/router/?

Fixed. 
    
             container te-opaque {
               [...]
               container link-tlv {
                 description "Describes a singel link, and it is constructed
                 of a set of Sub-TLVs.";
    
    s/singel/single/

Fixed. 
    
         grouping ospfv3-lsa-external {
           [...]
           leaf referenced-link-state-id {
             type yang:dotted-quad;
    
    RFC 5340 section 2.2 implies that the Link State ID is going to be a
    32-bit identifier that need not be represented as dotted-quad, as it
    does not have addressing semantics.  (dotted-quad seems to be used for
    Link-State-ID-shaped things elsewhere, too, though the preferred form
    may be the union of dotted-quad and uint32.)

Good catch. This should be unit32 for OSPFv3. There were two instances of this. 
    
         grouping lsa-common {
           description
               "Common fields for OSPF LSA representation.";
           leaf decode-completed {
             type boolean;
             description
               "The OSPF LSA body was successfully decoded other than
                unknown TLVs. Unknown LSAs types and OSPFv2 unknown
                opaque LSA types are not decoded. Additionally,
                malformed LSAs are generally not accepted and are
                not be in the Link State Database.";
    
    nit: "are not be" is not grammatical.

Fixed - "will not be".
    
         grouping lsa-key {
           description
             "OSPF LSA key.";
    
    This could maybe benefit from a more descriptive description; is this a
    sort or lookup key, for example?

Yes - I've improved.
    
           container database {
             description "Container for per AS-scope LSA statistics.";
             list as-scope-lsa-type {
               [...]
               leaf lsa-cksum-sum {
                 type uint32;
                 description
                   "The sum of the LSA checksums of the LSA type.";
    
    [It's not entirely clear to me why this sum-of-checksums is a useful
    thing to track, but it may not be this document's role to do so.
    Though, perhaps we do need to say if the sum is computed as integers
    modulo 2**32.]

This is from the OSPF MIB (RFC 4750). It is not used functionally as one cannot guarantee differing LSDBs will not yield the same checksum. However, if the checksums are different, you can assure the databases are different. 
    
           leaf transmit-delay {
             type uint16;
             units seconds;
             description
               "Estimated time needed to transmit Link State Update
                (LSU) packets on the interface (seconds). LSAs have
                their age incremented by this amount on advertised
                on the interface. A sample value would be 1 second.";
    
    nit: "on advertised on" does not seem grammatical.

Fixed - "when advertised on".
    
           leaf lls {
           [...]
           container ttl-security {
    
    Should these have a default value?

I think 1 would be appropriate since only virtual-links and sham-links require more.
    
               case ospfv3-auth-ipsec {
                 when "derived-from-or-self(../../../../../../rt:type, "
                   +  "'ospfv3')" {
                   description "Applied to OSPFv3 only.";
                 }
                 if-feature ospfv3-authentication-ipsec;
                 leaf sa {
                     type string;
    
    I don't see RFC 4552 talking about names for SAs; where would this be
    discussed (and, are they guaranteed to be human-readable)?

If it is not human readable, how would it be configured? 
    
               leaf poll-interval {
                 type uint16;
                 units seconds;
                 description
                   "Neighbor poll interval (seconds) for sending OSPF
                    hello packets to discover the neighbor on NBMA
                    networks. This interval dictates the granularity for
                    discovery of new neighbors. A sample would be 2 minutes
                    for a legacy Packet Data Network (PDN) X.25 network.";
    
    Maybe "2 minutes (120 seconds)" since the units are seconds?

Fixed.
    
           container preference {
             description
               "Route preference configuration In many
                implementations, preference is referred to as
                administrative distance.";
    
    nit: missing sentence break?

Fixed.
    
    For the spf- and lsa-logs, do we require that the 'id' is assigned in
    any particular order, or do we just rely on the included timestamp(s)
    for any time-ordering required by the consumer?

I added ordering to the description of the spf-log and lsa-log. However, the id is a purely internal value to provide a uniqueness key for the YANG list. 
    
         grouping notification-neighbor {
           [...]
           leaf neighbor-ip-addr {
             type yang:dotted-quad;
             description "Neighbor address.";
    
    neighbors can only be identified by IPv4 addresses?

Changed to IP address type.
    
           leaf packet-source {
             type yang:dotted-quad;
    
    packet sources, too? (multiple times)
    
Changed to IP address type. 

           description
             "This notification is sent when aa neighbor
              state change is detected.";
    
    nit: s/aa/a/

Fixed. 
    
    Section 4
    
       Additionally, local specificationn of OSPF authentication keys and
       the associated authentication algorithm is supported for legacy
       implementations that do not support key-chains [RFC8177] for legacy
       implementations that do not support key-chains.  It is RECOMMENDED
       that implementations migrate to key-chains due the seamless support
       of key and algorithm rollover, as well as, the encryption of key
       using the Advanced Encryption Standard (AES) Key Wrap Padding
       Algorithm [RFC5649].
    
    (Roman caught the nits, so I won't duplicate that.)
    I expected to see something about keeping the actual key material
    secret, as well.

Can you suggest some text?

Thanks,
Acee