Re: [mpls] Benjamin Kaduk's No Objection on draft-ietf-mpls-base-yang-15: (with COMMENT)
Tarek Saad <tsaad.net@gmail.com> Tue, 20 October 2020 14:48 UTC
Return-Path: <tsaad.net@gmail.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27AD93A0EEE; Tue, 20 Oct 2020 07:48:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 d7gd04oFjeeH; Tue, 20 Oct 2020 07:48:57 -0700 (PDT)
Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9C29E3A0EE9; Tue, 20 Oct 2020 07:48:56 -0700 (PDT)
Received: by mail-ot1-x333.google.com with SMTP id f10so1945425otb.6; Tue, 20 Oct 2020 07:48:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :accept-language:content-language:mime-version; bh=cAbJV2khpP8WoBrPULzxflLMcoNW/HvUEedtC6IRdTA=; b=hloMR14cWoaCwxx2wLSk+Qfq/hzERvIH6NjNp1TWSRTyqXcMD+ksdnICUNECRMubo3 LaNs0vK0502hQcMOCAlxWT1gAfuOniXK78vEccdN6tdfV8BnIp9XmUflXvbn7UrWtMw1 6m+c32aKhGA/NMVDuDI+Xz09yIS6ieLQgIr2k0bybTTVmGPZrEFQpVIssDOMSueDohTS B7E8bLDwyx85BFMaNcIoZF1LjcGT0EY44f9qkr6ZqXcplWgxsTy41KnMS6DyKqgxM8p7 NeHGB/swBDHaRDYNYjT2dACXuVCYHKOPSDxH6HNDmNeRj460rrRQlDb/Rb/H/k5CIi47 KgEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:accept-language:content-language:mime-version; bh=cAbJV2khpP8WoBrPULzxflLMcoNW/HvUEedtC6IRdTA=; b=sFoFSU5HrQQWZ7HKMDFPqA83TBBFyYomK2VYPCDeWV2/HQLyVTuBl0746m3n6rrVp3 t4VWAkDVNr+s3whdM4bVdxkT2154RHgJUBzs9KJjk51tx6MM8lQHGHq1dbRAFm7P4vW0 JUcGFfR7csPq3XghLCwWRvGOXHHEglNvLEKUC1LPP5P1RbMdkO/EFb4k6oiQTLEJcRaK mE3R60z/dsIT5qhyqhiYEyR+LwL4To2nVBvFXIsRVn/vDhF2lV3BBMVX3RQQfmk38wV8 PNaldW0T5lj1/aKRfkHDRllCGx3GKlspxBI4ivpxf11aJ+1Rqne7wN158v+E8ZXi3d8S YSeA==
X-Gm-Message-State: AOAM530KPbyYQQjVFyWBK1uaoi7FFs5fY9vwG3CqnG7O701SkCQFFLLM 0I+em8Swm7ty9PzMkWBp8Lo=
X-Google-Smtp-Source: ABdhPJx/T1myJWHtEwHrVUNywM2xKY9Ff/HTOR/CI6UIHSuU68MV0W2rFN7ZCLeZd02+LOgepxiJ6g==
X-Received: by 2002:a9d:7a46:: with SMTP id z6mr2086759otm.170.1603205335534; Tue, 20 Oct 2020 07:48:55 -0700 (PDT)
Received: from DM5PR1901MB2150.namprd19.prod.outlook.com ([2603:1036:4:9e::5]) by smtp.gmail.com with ESMTPSA id y4sm502630oou.38.2020.10.20.07.48.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Oct 2020 07:48:54 -0700 (PDT)
From: Tarek Saad <tsaad.net@gmail.com>
To: "kaduk@mit.edu" <kaduk@mit.edu>, "iesg@ietf.org" <iesg@ietf.org>
CC: "draft-ietf-mpls-base-yang@ietf.org" <draft-ietf-mpls-base-yang@ietf.org>, "mpls-chairs@ietf.org" <mpls-chairs@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>, "loa@pi.nu" <loa@pi.nu>
Thread-Topic: Benjamin Kaduk's No Objection on draft-ietf-mpls-base-yang-15: (with COMMENT)
Thread-Index: AQHWpvAhto2BjEC8p0q5/aVn2h2Vjg==
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Tue, 20 Oct 2020 14:48:53 +0000
Message-ID: <DM5PR1901MB2150F36A917D391D5E4B2D84FC1F0@DM5PR1901MB2150.namprd19.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
Content-Type: multipart/alternative; boundary="_000_DM5PR1901MB2150F36A917D391D5E4B2D84FC1F0DM5PR1901MB2150_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/FS7G7ngdfl2042ocLG99lfuEN1A>
Subject: Re: [mpls] Benjamin Kaduk's No Objection on draft-ietf-mpls-base-yang-15: (with COMMENT)
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Oct 2020 14:48:59 -0000
Hi Benjamin, Thanks for your thorough review and comments. We have posted rev -16 (https://tools.ietf.org/html/draft-ietf-mpls-base-yang-16) of the document and have addressed all your comments. Please see inline for responses… [TS] Regards, Tarek On 9/8/20, 6:43 PM, "Benjamin Kaduk via Datatracker" <noreply@ietf.org> wrote: [External Email. Be cautious of content] Benjamin Kaduk has entered the following ballot position for draft-ietf-mpls-base-yang-15: No Objection 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://urldefense.com/v3/__https://www.ietf.org/iesg/statement/discuss-criteria.html__;!!NEt6yMaO-gk!ShQX5naGtiolElLjw1rNiM8siw7Iun8IyU2y_afo_a_mmGiaIiIqjIicHsT7ow$<https://urldefense.com/v3/__https:/www.ietf.org/iesg/statement/discuss-criteria.html__;!!NEt6yMaO-gk!ShQX5naGtiolElLjw1rNiM8siw7Iun8IyU2y_afo_a_mmGiaIiIqjIicHsT7ow$> for more information about IESG DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://urldefense.com/v3/__https://datatracker.ietf.org/doc/draft-ietf-mpls-base-yang/__;!!NEt6yMaO-gk!ShQX5naGtiolElLjw1rNiM8siw7Iun8IyU2y_afo_a_mmGiaIiIqjIgJouG_tg$<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-ietf-mpls-base-yang/__;!!NEt6yMaO-gk!ShQX5naGtiolElLjw1rNiM8siw7Iun8IyU2y_afo_a_mmGiaIiIqjIgJouG_tg$> ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- Before getting into the section-by-section comments, I'll note that there are a few things in the YANG module itself that seem awry to my untrained eye. Section 2.2 The 'ietf-mpls' module defines the following identities: [...] label-block-alloc-mode: (nit?) We also define two identities based on this one; is the list of "defines the following identities" supposed to be comprehensive (vs. "high-level")? [TS]: the style we follow is to keep it high-level and include descriptions of the base identity only. nhlfe-multiple-contents: A YANG grouping that describes a set of NHLFE(s) and their associated parameters as described in the MPLS architecture document [RFC3031]. (editorial) Perhaps we could say a few more words about how these NHLFEs are related/why they are being grouped together? (I do not recall such grouping being specifically covered in 3031.) [TS]: added. rib-mpls-properties: A YANG grouping for the augmentation of MPLS label forwarding data to the generic RIB as defined in [RFC3031]. nit(?): the "as defined in <reference>" seems more applicable to "MPLS label forwarding data" than "generic RIB". [TS]: rephrased. NEW: ¦ A YANG grouping for the augmentation of the generic RIB with MPLS ¦ label forwarding data as defined in [RFC3031]. Section 2.3 o routes that cross-connect an MPLS local label to a Layer-3 adjacency or interface - such as MPLS Segment-Routing (SR) Adjecency Segments (Adj-SIDs), SR MPLS Binding SIDs, etc. as defined in [RFC8402]. nit(?): is there a semantic difference between "MPLS SR" and "SR MPLS" for the two types of route mentioned? [TS]: no, they are same and we adopted SR MPLS for both. Section 2.5 identity label-block-alloc-mode { description "Base identity label-block allocation mode."; } nit: missing "for". [TS]: fixed. grouping nhlfe-multiple-contents { description "MPLS NHLFE contents."; nit: this description feels a little terse; is this the "generic" case or something similar? [TS]: updated. NEW: description ¦ "A YANG grouping that describes a set of NHLFE(s) and their ¦ associated parameters as described in the MPLS architecture. ¦ This grouping is used when multiple next-hops are associated ¦ with the route."; leaf index { type string; description "A user-specified identifier utilised to uniquely reference the next-hop entry in the next-hop list. The value of this index has no semantic meaning other than for referencing the entry."; } leaf backup-index { type string; description "A user-specified identifier utilised to uniquely reference the backup next-hop entry in the NHLFE list. The value of this index has no semantic meaning other than for referencing the entry."; } I'm not sure I understand the semantics, here -- does 'index' authoritatively name the current entry with 'backup-index' being effectively a pointer to a different entry? I don't see any leafs of type string in, e.g., rt-types:mpls-label-stack that this would be referring to. If the backup-index is indeed just a pointer to a different entry, why is the string name used instead of a YANG reference? [TS]: correct. The backup-index serves as a pointer to another forwarding entry that serves as backup path. Every entry has a primary "index"and a "backup-index". The "backup-index" has a value of another entry "index". Also, what's a good reference for "backup" MPLS next-hops? I don't see the string "backup" in either RFC 3031 or 3032. [TS]: I found RFC4090 and RFC5714 as related. grouping interfaces-mpls { [...] leaf name { type if:interface-ref; description "The name of a configured MPLS interface."; } pedantic nit: is this really a "name"? [TS]: updated as: NEW: description ¦ "A reference to the name of a interface in the system that is ¦ to be enabled for MPLS."; leaf start-label { type rt-types:mpls-label; must '. >= ../end-label' { error-message "The start-label must be less than or equal " + "to end-label"; } I think the sense of the YANG comparator is reversed, for both start-label (this) and end-label (not quoted). (Also, IIUC, it's redundant to specify both, but harmless.) [TS]: corrected the check: NEW: leaf start-label { ¦ type rt-types:mpls-label; ¦ must '. <= ../end-label' { ¦ error-message "The start-label must be less than or equal " ¦ ¦ ¦ ¦ + "to end-label"; ¦ } leaf free-labels-count { when "derived-from-or-self(../block-allocation-mode, " + "'mpls:label-block-alloc-mode-manager')"; type yang:counter32; config false; description "Label-block free labels count."; I think that counter32 is semantically the wrong type, here (and for inuse-labels-count as well) -- IIRC the 'counter' types are for thigns like counting a particular type of event, and only ever monotonically increase. Even if the free label count behaves monotonically (which is far from clear to me), wouldn't it be decreasing, not increasing? [TS]: we updated to use gauge32 instead. Also, won't it always be true that free-labels-count + inuse-labels-count == end-label - start-label + 1? I'm not sure why there's a need to introduce such redundant fields and the corresponding risk of internal inconsistency among them. [TS]: yes, we removed since it was redundant. uses rib-mpls-properties { /* MPLS AF aaugmentation to native MPLS RIB */ nit: s/aaugmentation/augmentation/ uses rib-active-route-mpls-input { /* MPLS AF aaugmentation to native MPLS RIB */ (ditto) [TS]: thanks for spotting, corrected. Section 4 Why is the rt:simple-next-hop augmentation listed but not the rt:next-hop-list augmentation? IIUC they are functionally identical in terms of the sensitivity of information content. Also, it seems like the augmented RPC output is similarly sensitive to the readable nodes that are already mentioned. [TS]: added. It looks like the main writeable nodes are the global configuration/state, and while it's perhaps defensible to say that these particular nodes are not sensitive, I did want to check what the behavior would be if (e.g.) the label-blocks subtree was overwritten. Would things just silently start using the new label block and keep working? [TS]: Updated for RPCs and writable data nodes. Perhaps it would be too banal, but should we reference the security considerations of 3031/3032 as applying to MPLS usage? [TS]: added. Section 7.1 It's not clear that we reference RFC 8402 in a normative manner anywhere. [TS]: section 2.3 lists Adj-SID and Binding-SID label(s) defined in RFC8402. Section 7.2 I agree with the document shepherd that RFCs 3031 and 3032 naturally would be classified as normative references. Similarly, RFC 7424 is refrenced by the YANG module itself, which usually indicates a normative reference. [TS]: ok, moved to normative. Regards, Tarek
- [mpls] Benjamin Kaduk's No Objection on draft-iet… Benjamin Kaduk via Datatracker
- Re: [mpls] Benjamin Kaduk's No Objection on draft… Tarek Saad