Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex-algo-08
Ketan Talaulikar <ketant.ietf@gmail.com> Tue, 19 July 2022 15:42 UTC
Return-Path: <ketant.ietf@gmail.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A56D3C15A733; Tue, 19 Jul 2022 08:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.539
X-Spam-Level: *
X-Spam-Status: No, score=1.539 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, FREEMAIL_REPLY=1, HTML_COMMENT_SAVED_URL=1.391, HTML_MESSAGE=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 CTFuQa2Fc-ei; Tue, 19 Jul 2022 08:42:45 -0700 (PDT)
Received: from mail-ua1-x930.google.com (mail-ua1-x930.google.com [IPv6:2607:f8b0:4864:20::930]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E00CC14F746; Tue, 19 Jul 2022 08:42:45 -0700 (PDT)
Received: by mail-ua1-x930.google.com with SMTP id v17so5590330uam.1; Tue, 19 Jul 2022 08:42:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8SIjln48ohFXy+EfxER2OhZWKCBfBgTvhS6Fo95rwhA=; b=XjxlMsa8qkai2enskW1gj0lTrn9RxFn8+lddpKmHBUg/PluqZ4L5JJDT+dxl89rcP0 um33HDwWkv/v6DQBC3LqUieFn0t58RIe1BIOnokUKcB4Q0mscjqc9GVcbDfEBuDqSF6a sRr5CSkMIg32tQv5eO+VUfgzCx672OUIFXuD6qGkgH1MSOwV0B7UpfDFv/MfmHfaRCQJ IBb/qXnbeTUI9sd4CSmQ2Dze6/Hiv9yBM+ySC6abIKq7ylQu4W7jyLLc9U+tmnvJK431 jyeArxg/YXCfovhQespQxT9dw/YcTv5kkPqmTBwRC4URzyLlDvybkzCQEhMbXLWQ67mw y1Qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8SIjln48ohFXy+EfxER2OhZWKCBfBgTvhS6Fo95rwhA=; b=TSVXJUIS2OVT7tih2xrXzCWE7oBEZZf4VTRQkhICHkZk0V6x751pB2YcqJKr3M5zB4 jupj+t5uaYQstdORRRaMJ9rnJDhlU70QTcg9qTNphFV6aTp2G1LY36/ZOaO7lfAuAulH iWxgBsSjhEFOS7ZrLlMMsUF+Ux7rnyzW18ikAZwqAiF3iHEDhoq012SvkC53C7XYFk7l 7VjwD5nVDez8aUY9eTIWyB6Kxv1LZCXNA9fdZzHz+nr9d3SMrFDWKNFrWNezrQE02hsx O7DXcKIUH/tyZgLhTfGq4KvEKRWsXSUEnimqc5XrRYv1JtUX+4pnO38SLXpB3bAU3U4d W0SA==
X-Gm-Message-State: AJIora83bn/jyWcjTSTimrNy2QUA+2gEY5q6qp6i79W8e83RIrf7grn0 OoU2iQLhFaYdky/hNceiGB4UT2vf23uSXrbVU+Q=
X-Google-Smtp-Source: AGRyM1uKBeYu8vmSg8DKEzBMDJXmo/7gVZhrSlZ/0XAUX7h1k0hreyfGQ48haN/QicH+sMy1SFVEvn9H5P3acxHWt9E=
X-Received: by 2002:a05:6130:b0b:b0:383:d6dc:9749 with SMTP id ca11-20020a0561300b0b00b00383d6dc9749mr7203052uab.12.1658245363321; Tue, 19 Jul 2022 08:42:43 -0700 (PDT)
MIME-Version: 1.0
References: <CAMMESsygHPZY4BW69RQrSMOSPQyvV367m9rn8nAmZqDc7QxFDA@mail.gmail.com>
In-Reply-To: <CAMMESsygHPZY4BW69RQrSMOSPQyvV367m9rn8nAmZqDc7QxFDA@mail.gmail.com>
From: Ketan Talaulikar <ketant.ietf@gmail.com>
Date: Tue, 19 Jul 2022 21:12:29 +0530
Message-ID: <CAH6gdPyVvw_RLjWyyQo4h9kWR2TxTLsdv_VHoE512SyT59tM+w@mail.gmail.com>
To: Alvaro Retana <aretana.ietf@gmail.com>
Cc: draft-ietf-idr-bgp-ls-flex-algo@ietf.org, Jie Dong <jie.dong@huawei.com>, idr-chairs@ietf.org, "idr@ietf. org" <idr@ietf.org>
Content-Type: multipart/mixed; boundary="000000000000d4ee7005e42a5589"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/wRPHDD1PHpFuMwjH_Z2hnAqSpX0>
Subject: Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex-algo-08
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Jul 2022 15:42:49 -0000
Hi Alvaro, Thanks for your detailed review and please check inline below for responses. Since the gates are closed for posting, please find attached the updated draft and its diff for your review. On Tue, Jul 12, 2022 at 9:30 PM Alvaro Retana <aretana.ietf@gmail.com> wrote: > Dear authors: > > Here is my review of this document. I found it clear -- however, > there are updates needed in line with other BGP-LS documents. > > I will wait for a reply to this document and a revised ID before > starting the IETF LC. > > Thanks! > > Alvaro. > > > [Line numbers from idnits.] > > > ... > 13 Abstract > > 15 Flexible Algorithm is a solution that allows routing protocols > (viz. > 16 OSPF and IS-IS) to compute paths over a network based on > user-defined > 17 (and hence, flexible) constraints and metrics. The computation > is > 18 performed by routers participating in the specific network in a > 19 distribute manner using a Flex Algorithm definition. This > definition > 20 provisioned on one or more routers and propagated (viz. OSPF > and IS- > 21 IS flooding) through the network. > > [nit] s/distribute manner/distributed manner > KT> Ack > > > [minor] This is the first use of "Flex Algorithm" (in place of > "Flexible Algorithm"). For the Abstract, please keep the long form. > KT> Ack > > The perm "flex" is used again in the Introduction but without an > indication of the (possibly obvious) relationship to "flexible". > Please indicate it somewhere. > > More important -- the document mostly uses "flex algorithm" > throughout, but also "flexible algorithm", "Flex-Algorithm", and "Flex > Algo". Please be consistent! > KT> Ack. Fixed. > > > [nit] s/This definition provisioned/This definition is provisioned > KT> Ack > > > 23 BGP Link-State (BGP-LS) enables the collection of various > topology > 24 information from the network. This draft defines extensions to > BGP- > 25 LS address-family to advertise the Flexible Algorithm > Definition as a > 26 part of the topology information from the network. > > [minor] s/This draft/This document/g > KT> Ack > > > [nit] s/to BGP-LS address-family/to the BGP-LS address-family > KT> Ack > > > ... > 82 1. Introduction > > 84 IGP protocols (OSPF and IS-IS) traditionally compute best paths > over > 85 the network based on the IGP metric assigned to the links. Many > 86 network deployments use RSVP-TE [RFC3209] based or Segment > Routing > 87 (SR) Policy [RFC8402] based solutions to enforce traffic over a > path > 88 that is computed using different metrics or constraints than the > 89 shortest IGP path. [I-D.ietf-lsr-flex-algo] defines the > Flexible > 90 Algorithm solution that allows IGPs themselves to compute > constraint > 91 based paths over the network. > > [nit] s/use RSVP-TE [RFC3209] based or Segment Routing (SR) Policy > [RFC8402] based solutions...compute constraint based paths/use > RSVP-TE-based [RFC3209] or Segment Routing (SR) Policy-based [RFC8402] > solutions...compute constraint-based paths > > KT> Ack > > ... > 103 The operations of the flexible algorithm solution are described > in > 104 detail in [I-D.ietf-lsr-flex-algo] and a high-level summary of > the > 105 same is described here for clarity. The network operator > enables the > 106 participation of specific nodes in the network for a specific > 107 algorithm and then provisions the definition of that flexible > 108 algorithm on one or more of these nodes. The nodes where the > 109 flexible algorithm definition (FAD) is advertised then flood > these > 110 definitions via respective IGP (IS-IS and OSPFv2/v3) mechanisms > to > 111 all other nodes in the network. The nodes select the > definition for > 112 each algorithm based on the flooded information in a > deterministic > 113 manner and thus all nodes participating in a flexible algorithm > 114 computation arrive at a common understanding of the type of > 115 calculation that they need to use. > > [major] "a high-level summary of the same is described here for clarity" > > The pointer to I-D.ietf-lsr-flex-algo is enough. There's no need to > explain anything else; BGP-LS just carries the information, it doesn't > matter how the IGPs (or the consumer) may use it. Please take the > extra description out. > > Note: I didn't review the extra text. > KT> Ack - removed that text and only retained the reference to the LSR draft. > > > ... > 128 A flex algorithm specific metric MAY be advertised along with > the > 129 prefix as described in [I-D.ietf-lsr-flex-algo] to enable > end-to-end > 130 optimal path computation for prefixes across multiple > areas/domains > 131 in the flex algorithm computation for the SR-MPLS forwarding > plane. > > [major] "MAY be advertised...as described in [I-D.ietf-lsr-flex-algo]" > > This Normative word comes from the IGP draft. It is not appropriate > to repeat specifications from other documents. I'm assuming you're > taking this part out. > KT> Ack. Reworded. > > > ... > 145 Thus a controller or a Path Computation Engine (PCE) is aware > of the > 146 IGP topology across multiple domains which includes the above > 147 information related to the flexible algorithm. This draft > defines > 148 extensions to BGP-LS for carrying the FAD information so that it > 149 enables the controller/PCE to learn the mapping of the flex > algorithm > 150 number to its definition in each area/domain of the underlying > IGP. > 151 The controller/PCE also learns the type of computation used and > the > 152 constraints for the same. This information can then be > leveraged by > 153 it for setting up SR Policy paths end to end across domains by > 154 leveraging the appropriate Flex Algorithm specific SIDs in its > 155 Segment List [I-D.ietf-spring-segment-routing-policy]. e.g. > picking > 156 the Flex Algorithm Prefix SID (in case of SR-MPLS) or End SID > (in > 157 case of SRv6) of ABRs/ASBRs corresponding to a definition that > 158 optimizes on the delay metric enables the PCE/controller to > build an > 159 end to end low latency path across IGP domains with minimal > SIDs in > 160 the SID list. > > [major] This paragraph goes back into what this document defines, but > it also tries to explain the consumer-specific use of the information, > which is out of scope for BGP-LS. > KT> The text has been reworded. The objective is to briefly inform the reader of a use case for these extensions. Even RFC7752 has covered the use cases or applications that may leverage BGP-LS. IMHO, it is good to get some description of the use case or reason for pushing things from the IGPs into BGP-LS. > > > ... > 170 2. BGP-LS Extensions for Flex Algo > > [] The header gives the impression that the extensions are defined in > this section, but they're not. Consider making §3 a sub-section of > this one. > KT> Have renamed the header. > > > ... > 178 The FAD advertised by a node is considered as its node level > 179 attributes and advertised as such. > > [nit] s/as its node level attributes/as a node-level attribute > KT> Ack > > > [minor] Consider adding a reference to the section where this is specified. > KT> Ack > > > 181 Various link attributes like affinities and SRLGs used during > the > 182 Flex-Algorithm path calculations in IS-IS and OSPF are > advertised in > 183 those protocols using the Application Specific Link Attribute > (ASLA) > 184 advertisements as described in [I-D.ietf-lsr-flex-algo]. The > BGP-LS > 185 extensions for ASLA advertisements > 186 [I-D.ietf-idr-bgp-ls-app-specific-attr] MUST be used for the > 187 advertisement of these Flex-Algorithm application-specific link > 188 attributes from the underlying IGP protocols using the Flexible > 189 Algorithm application specific bit defined in > 190 [I-D.ietf-lsr-flex-algo]. > > [major] As far as I can tell, the ASLA encoding is used by > I-D.ietf-lsr-flex-algo as is. IOW, a BGP-LS speaker would use > I-D.ietf-idr-bgp-ls-app-specific-attr regardless of whether flex algo > is used or not. Right? > KT> Correct. > > If so, the specification above requiring > I-D.ietf-idr-bgp-ls-app-specific-attr is not needed. > > As far as the new bit (X-bit) defined in I-D.ietf-lsr-flex-algo, the > inclusion of that bit by BGP-LS in > I-D.ietf-idr-bgp-ls-app-specific-attr is already defined there (as it > takes the SABM definition from rfc8919/8920). > KT> Agree. > > All this is to say that this whole paragraph is not needed. > > If anything, you might want to indicate that there's a relationship to > I-D.ietf-idr-bgp-ls-app-specific-attr. For example: > > Application-specific link attributes (ASLA) used during the > Flex-Algorithm path calculations are advertised as specified > in [RFC8919] and [RFC8920]. The BGP-LS extensions for ASLA > advertisements are specified in [I-D.ietf-idr-bgp-ls-app-specific-attr]. > > All these references should be Informative. > KT> Ack. Updated the text. > > > 192 The Flexible Algorithm Prefix Metric (FAPM) are considered as > prefix > 193 attributes and advertised as such. > > [minor] Consider adding a reference to the section where this is specified. > KT> Ack. > > > 195 3. Flexible Algorithm Definition > ... > 217 o Length: variable. Minimum of 4 octets. > > [major] What if the length is less than 4? What should the receiver do? > > [major] Suggestion> > > Length: variable length that represents the total length of the > value field in octets. The length value MUST be 4 or larger. > If the length is less than 4, the TLV MUST be considered > malformed. > > I'm mostly interested in capturing the error case. > > [This comment applies to all the Length fields. I'm assuming that one > bad length would invalidate the whole TLV.] > KT> I've fixed the text to use normative language. The convention that we are trying to follow is to use normative language but not discuss fault management (i.e. not say malformed). The fault management handling is being clarified in the BGP-LS base as part of the RFC7752 BIS work which will apply to this as well as all other BGP-LS extensions. > > > 219 o Flex-Algorithm : 1 octet value in the range between 128 and > 255 > 220 inclusive which is the range defined for Flexible Algorithms > in > 221 the IANA "IGP Parameters" registries under the "IGP Algorithm > 222 Types" registry [I-D.ietf-lsr-flex-algo]. > > [major] Please simply refer to the definition in > I-D.ietf-lsr-flex-algo. Note that in this case the definition above > says more than the one in I-D.ietf-lsr-flex-algo: "Flex-Algorithm: > Single octet value between 128 and 255 inclusive." > > Suggestion> > o Flex-Algorithm : Single octet value between 128 and 255 inclusive, > as defined in [I-D.ietf-lsr-flex-algo]. > KT> Ack. > > > 224 o Metric-Type : 1 octet value indicating the type of metric > used in > 225 the computation. Values allowed come from the IANA "IGP > 226 Parameters" registries under the "Flexible Algorithm > Definition > 227 Metric-Type" registry [I-D.ietf-lsr-flex-algo]. > > [major] Same comment as above. Also, please don't point at "values > allowed" because then we're getting close to telling the consumer what > to do. > > > 229 o Calculation-Type : 1 octet value in the range between 0 and > 127 > 230 inclusive which is the range defined for the standard > algorithms > 231 in the IANA "IGP Parameters" registries under the "IGP > Algorithm > 232 Types" registry [I-D.ietf-lsr-flex-algo]. > > [major] The field in the Figure and in I-D.ietf-lsr-flex-algo is > Calc-Type. Please be consistent. > KT> Ack > > > [major] Same comment as above. > KT> Ack > > > 234 o Priority : 1 octet value between 0 and 255 inclusive that > 235 specifies the priority of the FAD. > > [major] Same comment as above. > KT> Ack > > > 237 o sub-TLVs : zero or more sub-TLVs may be included as described > 238 further in this section. > > 240 The FAD TLV can only be added to the BGP-LS Attribute of the > Node > 241 NLRI if the corresponding node originates the underlying IGP > TLV/sub- > 242 TLV as described below. This information is derived from the > 243 protocol specific advertisements as below. > > [major] "IGP TLV/sub-TLV as described below" > > I didn't find anything called "IGP TLV/sub-TLV". What do you mean? > > Ahh...I think I figured it out! You mean the FAD sub-TLVs mentioned > below, right? Instead, be explicit by saying that the values are > derived from... > KT> Fixed the text. > > > 245 o IS-IS, as defined by the ISIS Flexible Algorithm Definition > sub- > 246 TLV in [I-D.ietf-lsr-flex-algo]. > > 248 o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm > 249 Definition TLV in [I-D.ietf-lsr-flex-algo]. > > [] In most of the other descriptions you mentioned the origin in a > more compact way: "derived from the IS-IS and OSPF protocol specific > xxx sub-TLV as defined in [I-D.ietf-lsr-flex-algo]." FWIW, I like > that phrasing better. > KT> Ack. Fixed > > > 251 The BGP-LS Attribute associated with a Node NLRI MAY include > one or > 252 more FAD TLVs corresponding to the FAD for each algorithm that > the > 253 particular node is advertising. > > [major] "MAY include" > > I understand that it is optional to use flex algo in general, which > means that the TLVs defined here don't have to be included if flex > algo is not used by the IGPs. However, I assume that it is required > to include FAD TLVs for as many algorithms used by the IGPs, right? > IOW, it is not up to BGP-LS when to advertise this new TLV, it should > do it always (when the IGP includes the corresponding information). > > TL;DR: Why is this action optional and not required? OTOH, you may > simply s/MAY/may > KT> Ack. Changed to "may". > > > ... > 257 3.1. Flex Algo Exclude Any Affinity > > 259 The Flex Algo Exclude Any Affinity sub-TLV is an optional > sub-TLV > 260 that is used to carry the affinity constraints [RFC2702] > associated > 261 with the FAD and enable the exclusion of links carrying any of > the > 262 specified affinities from the computation of the specific > algorithm > 263 as described in [I-D.ietf-lsr-flex-algo]. The affinity is > expressed > 264 in terms of Extended Admin Group (EAG) as defined in [RFC7308]. > > [major] "used to carry the affinity constraints [RFC2702]" > > This description goes beyond what it specified in > I-D.ietf-lsr-flex-algo, which doesn't even mention rfc2702. Note also > that rfc7308 mentions that the "concept of Administrative Groups comes > from...[RFC2702]", but then doesn't use it as part of the > specification. Please take this reference out and focus on what is > specified in I-D.ietf-lsr-flex-algo. > > [This comment applies to the description in the next 2 sub-sections.] > KT> Ack. Removed the reference to RFC2702. > > > 266 The sub-TLV has the following format: > > 268 0 1 2 3 > 269 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > 270 > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > 271 | Type | Length > | > 272 > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > 273 | Exclude-Any EAG (variable) > // > 274 > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > [minor] Please add figure numbers to all the packet formats. > KT> Ack > > > ... > 283 o Exclude-Any EAG : the bitmask used to represent the > affinities to > 284 be excluded. > > [major] Defining this field as including "the affinities to be > excluded" goes beyond that I-D.ietf-lsr-flex-algo specifies (and > assumes an action by the consumer), where the corresponding fields are > simply described as "Extended Administrative Group as defined in > [RFC7308]." > > Please point this description to the specification in > I-D.ietf-lsr-flex-algo. You can include text from the following > paragraph in it. > > Suggestion> > o Exclude-Any EAG : one or more sets of 32-bit bitmasks derived > from the IS-IS and OSPF protocol specific Flexible Algorithm > Exclude Admin Group sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. > KT> EAG is not actually defined as "one or more sets of 32-bit bitmasks" - it is a single bitmask of variable size that is in multiples of 32 bits. I believe there is no issue in referring to RFC7308 to indicate what is it that is being carried. > > > 286 The information in the Flex Algo Exclude Any Affinity sub-TLV is > 287 derived from the IS-IS and OSPF protocol specific Flexible > Algorithm > 288 Exclude Admin Group sub-TLV as defined in > [I-D.ietf-lsr-flex-algo]. > > [The comment above applies to the description in the next 2 sub-sections.] > KT> I've reworded the text in the field description but retained the text after the field description. > > > ... > 358 3.4. Flex Algo Definition Flags > ... > 381 o Flags : the bitmask used to represent the flags for the FAD > as > 382 introduced by [I-D.ietf-lsr-flex-algo] and listed in the > "Flex- > 383 Algorithm Definition Flags" registry under the "Interior > Gateway > 384 Protocol (IGP) Parameters" IANA registry. > > 386 The information in the Flex Algo Definition Flags sub-TLV is > derived > 387 from the IS-IS and OSPF protocol specific Flexible Algorithm > 388 Definition Flags sub-TLV as defined in [I-D.ietf-lsr-flex-algo] < adding below the rest of the review from the mailer that got snipped out for me > [major] Sugestion> o Flags : the bitmask used to represent the flags for the FAD derived from the IS-IS and OSPF protocol specific Flexible Algorithm Definition Flags sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. KT> Ack - reworded as per the fields of the FAD TLV. 390 3.5. Flex Algo Exclude SRLG 392 The Flex Algo Exclude SRLG sub-TLV is an optional sub-TLV that is 393 used to carry the shared risk link group (SRLG) [RFC4202] information 394 associated with the FAD and enable the exclusion of links that are 395 associated with any of the specified SRLG in the computation of the 396 specific algorithm as described in [I-D.ietf-lsr-flex-algo]. The 397 SRLGs associated with a link are carried in the BGP-LS Shared Link 398 Risk Group (TLV 1096) [RFC7752]. [major] "used to carry the shared risk link group (SRLG) [RFC4202]" This description goes beyond what it specified in I-D.ietf-lsr-flex-algo, which doesn't even mention rfc4202. Please take this reference out and focus on what is specified in I-D.ietf-lsr-flex-algo. KT> Updated the text to remove reference to RFC4202. [?] Just curious. Why was TLV 1096 not reused? It seems to me that the context (using it as a sub-TLV of the FAD TLV) would have been enough to understand the function. KT> The semantics of TLV 1096 is that it indicates SRLGs associated with a link. Here, it is about SRLG exclusion as a constraint and hence we thought it better to use a new TLV. ... 417 o SRLG Values : One or more SRLG values, each of 4 octet size, as 418 defined in [RFC4202]. [major] The field is called "Shared Risk Link Group Values". Please be consistent. KT> Ack 420 The information in the Flex Algo SRLG Exclude sub-TLV is derived from 421 the IS-IS and OSPF protocol specific Flexible Algorithm Exclude SRLG 422 sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. [major] "SRLG Values : ...as defined in [RFC4202]." This isn't even the reference in I-D.ietf-lsr-flex-algo. The values come from the TLVs in I-D.ietf-lsr-flex-algo. Suggestion> o Shared Risk Link Group Values : one or more 4-octet SRLG values derived from the IS-IS and OSPF protocol specific Flexible Algorithm Exclude SRLG sub-TLV as defined in [I-D.ietf-lsr-flex-algo]. KT> Fixed the text in the same way as for previous TLVs. 424 3.6. Flex Algo Unknown ... 456 o Protocol-ID: Indicates the BGP-LS Protocol-ID of the protocol from 457 which the FAD is being advertised via BGP-LS. The values are from 458 the "BGP-LS Protocol-IDs" registry under the IANA BGP-LS 459 Parameters registry. [?] The Protocol-ID is already present in the Node NLRI header. Why is a second indication needed? KT> I agree that it is the same information as in the Node NLRI header. It was mainly for parsing efficiency in an implementation. The Protocol Field is carried in the NLRI while these TLVs are in the BGP-LS attribute. 461 o Sub-TLV Types : Zero or more sub-TLV types that are unknown or 462 unsupported by the node originating the BGP-LS advertisement. The 463 size of each sub-TLV type depends on the protocol indicated by the 464 Protocol-ID field e.g., for ISIS each sub-TLV type would be of 465 size 1 byte while for OSPF each sub-TLV type would be of size 2 466 bytes. [major] The field is called "sub-TLV types" (lower case), please be consistent. KT> Ack ... 476 The node originating the advertisement SHOULD include the Flex Algo 477 Unknown sub-TLV when it comes across an unsupported or unknown sub- 478 TLV in the corresponding FAD in the IS-IS and OSPF advertisement. [major] "SHOULD include...unsupported or unknown sub-TLV" When is it ok to not include them? As explained in the next paragraph, the values need to be included. IOW, why is this action recommended and not required? KT> Ack - MUST is better for the inclusion of the Unknown sub-TLV while including the sub-TLVs themselves can remain a SHOULD. 480 This serves as an indication that the FAD information in BGP-LS is 481 incomplete and is not usable for computation purposes. When 482 advertising the Flex Algo Unknown sub-TLV, the protocol specific sub- 483 TLV types that are unsupported or unknown SHOULD be included. This 484 information serves as a diagnostic aid. [minor] The first and last sentences are a good description of the purpose of the sub-TLV. Please move them to be right after the description of the sub-TLV types field. KT> Ack [major] The second sentence is a restatement of the recommendation above. Please remove it to avoid specifying actions more then once. KT> Ack 486 4. Flex Algorithm Prefix Metric ... 508 o Flex-Algorithm : 1 octet value in the range between 128 and 255 509 inclusive which is the range defined for Flexible Algorithms in 510 the IANA "IGP Parameters" registries under the "IGP Algorithm 511 Types" registry [I-D.ietf-lsr-flex-algo]. [major] Please simply refer to the definition in I-D.ietf-lsr-flex-algo. Note that in this case the definition above says more than the one in I-D.ietf-lsr-flex-algo: "Flex-Algorithm: Single octet value between 128 and 255 inclusive." Suggestion> o Flex-Algorithm : Single octet value between 128 and 255 inclusive, as defined in [I-D.ietf-lsr-flex-algo]. KT> Ack 513 o Flags: single octet value and only applicable for OSPF as defined 514 in [I-D.ietf-lsr-flex-algo]. The value MUST be set to 0 for ISIS 515 and ignored by the receiver. [major] No instructions to the consumer: s/MUST be set to 0 for ISIS and ignored by the receiver./MUST be set to 0 for ISIS. KT> Ack ... 522 The FAPM TLV can be added to the BGP-LS Attribute of the Prefix NLRI 523 originated by a node, only if the corresponding node originates the 524 Prefix in along with the underlying IGP TLV/sub-TLV as described 525 below. This information is derived from the protocol specific 526 advertisements as below. 528 o IS-IS, as defined by the ISIS Flexible Algorithm Prefix Metric 529 sub-TLV in [I-D.ietf-lsr-flex-algo]. 531 o OSPFv2/OSPFv3, as defined by the OSPF Flexible Algorithm Prefix 532 Metric sub-TLV in [I-D.ietf-lsr-flex-algo]. [] See the related comments in §3. KT> Ack. Fixed. 534 The BGP-LS Attribute associated with a Prefix NLRI MAY include one or 535 more FAPM TLVs corresponding to the Flexible Algorithm Prefix Metric 536 for each algorithm associated with that particular prefix. [major] "MAY include" I understand that it is optional to use flex algo in general, which means that the TLVs defined here don't have to be included if flex algo is not used by the IGPs. However, I assume that it is required to include FAPM TLVs for as many algorithms used by the IGPs, right? IOW, it is not up to BGP-LS when to advertise this new TLV, it should do it always (when the IGP includes the corresponding information). TL;DR: Why is this action optional and not required? OTOH, you may simply s/MAY/may KT> Ack. 538 5. IANA Considerations 540 This document requests assigning code-points from the registry "BGP- 541 LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute 542 TLVs" <https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls- 543 parameters.xhtml#node-descriptor-link-descriptor-prefix-descriptor- 544 attribute-tlv> based on the table below which reflects the values 545 assigned via the early allocation process. The column "IS-IS TLV/ 546 Sub-TLV" defined in the registry does not require any value and 547 should be left empty. [major] The request should be to make the assignments permanent. And to assign the remaining value. KT> The allocations are actually permanent now per RFC9029. Will fix the text. 549 +------------+----------------------------------------+----------+ 550 | Code Point | Description | Length | 551 +------------+----------------------------------------+----------+ 552 | 1039 | Flex Algorithm Definition TLV | variable | 553 | 1040 | Flex Algo Exclude Any Affinity sub-TLV | variable | 554 | 1041 | Flex Algo Include Any Affinity sub-TLV | variable | 555 | 1042 | Flex Algo Include All Affinity sub-TLV | variable | 556 | 1043 | Flex Algo Definition Flags sub-TLV | variable | 557 | 1044 | Flex Algorithm Prefix Metric TLV | variable | 558 | 1045 | Flex Algorithm Exclude SRLG sub-TLV | variable | 559 | TBD | Flex Algorithm Unknown sub-TLV | variable | 560 +------------+----------------------------------------+----------+ [minor] Please add a Table number and description. KT> Ack 562 6. Manageability Considerations 564 The new protocol extensions introduced in this document augment the 565 existing IGP topology information that was distributed via [RFC7752]. 566 Procedures and protocol extensions defined in this document do not 567 affect the BGP protocol operations and management other than as 568 discussed in the Manageability Considerations section of [RFC7752]. 569 Specifically, the malformed NLRIs attribute tests in the Fault 570 Management section of [RFC7752] now encompass the new TLVs for the 571 BGP-LS NLRI in this document. [nit] s/that was distributed/that can be distributed KT> Ack ... 578 7. Security Considerations 580 The procedures and protocol extensions defined in this document do 581 not affect the BGP security model. See the "Security Considerations" 582 section of [RFC4271] for a discussion of BGP security. Also, refer 583 to [RFC4272] and [RFC6952] for analyses of security issues for BGP. 584 Security considerations for acquiring and distributing BGP-LS 585 information are discussed in [RFC7752]. The TLVs introduced in this 586 document are used to propagate the IGP Flexible Algorithm extensions 587 defined in [I-D.ietf-lsr-flex-algo]. It is assumed that the IGP 588 instances originating these TLVs will support all the required 589 security (as described in [I-D.ietf-lsr-flex-algo]) in order to 590 prevent any security issues when propagating the TLVs into BGP-LS. 591 The advertisement of the node and prefix attribute information 592 defined in this document presents no significant additional risk 593 beyond that associated with the existing node and prefix attribute 594 information already supported in [RFC7752]. [minor] There's no need to refer to BGP security, as that is covered in rfc7752. KT> Ack [nit] Divide this paragraph into a couple of smaller ones. KT> Ack [major] I would like to see something about the new functionality intriduced here -- for example, borrowing heavily from draft-ietf-idr-bgp-ls-app-specific-attr: This document defines a new way to advertise topology-specfic descriptions and attributes. Tampering with the information defined in this document may affect applications using it, including impacting route calculation and programming, which may use characteristics adverted here. As the advertisements defined in this document limit the scope to a specific topology, the impact of tampering is similarly limited in scope. KT> Ack - reworded and updated the text. Thanks, Ketan [EoR -08]
- [Idr] AD Review of draft-ietf-idr-bgp-ls-flex-alg… Alvaro Retana
- Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex… Ketan Talaulikar
- Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex… Alvaro Retana
- Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex… Ketan Talaulikar
- Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex… Ketan Talaulikar
- Re: [Idr] AD Review of draft-ietf-idr-bgp-ls-flex… Alvaro Retana