[Idr] Re: AD review of draft-ietf-idr-bgp-car-10
Dhananjaya Rao <dhananjaya.rao@gmail.com> Tue, 21 January 2025 14:38 UTC
Return-Path: <dhananjaya.rao@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 BD404C180B77; Tue, 21 Jan 2025 06:38:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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=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 wNZvoCJb9QbO; Tue, 21 Jan 2025 06:38:21 -0800 (PST)
Received: from mail-il1-x136.google.com (mail-il1-x136.google.com [IPv6:2607:f8b0:4864:20::136]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A47A3C151539; Tue, 21 Jan 2025 06:38:21 -0800 (PST)
Received: by mail-il1-x136.google.com with SMTP id e9e14a558f8ab-3cfa9272c14so2037035ab.3; Tue, 21 Jan 2025 06:38:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737470301; x=1738075101; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FyzcqSQYu4GX6kjCpalkvHr43p3A7jPANfM9goTBkLQ=; b=mFMvgy6WRjJz1ao7muXc9FjtNtlsi26iPJAYSZcLA8ohzYsSMoUnmyHTdeFWxAMcdb T+NXP1fUyYI8pbvt5PBn7INDEL0F2w5bhMLH31L1eBIMSdjQXBVcuSP1hk6PZ3ech4xG gqCcusnVEboxWyJvYxo4643qIxeZrZBOvUf9JIJnNM61aNTsDn2FnxNup40FlpmX4GO+ 7qlNxq4lGV/gDmYy3iz2MR9OZb7GyWmx3H3XgMSdOZZ29+j9dp9RoMBWJH/odAmWe+d9 Qd8/ME+Gkl3nW3/OvOjbhGd2TxBD7auZjBFwIbbdbyJFlfdwoEt6kl911MQGZ4Fu0dZ8 Dgkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737470301; x=1738075101; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FyzcqSQYu4GX6kjCpalkvHr43p3A7jPANfM9goTBkLQ=; b=VmwFikF7ZwoKU1J4/tVwiKZ+mJMeHC3yn7CVb1l5GkJsFeosuBuKFffSNRxqAeNQnG 2fl/2fTwUZZWlsgkddBeBJ4WaPleBonDUthDgdFyh9zFsGLzdP3Se4KDKooqten4+S9d A3jmoBF6gT3NnyyTskwfL9o8vA0aTDEVCmb9DURSSx5KncO2AvWL+Dg0RQApu3IAGpPO UJmv5g25dkY9tCkhMNc+sG38XktHqVd4CHMJx8fgkpl+nYfHFs8jooCi9rbXO6OppDJ4 WE9zlDgiqAhuzzQt2btVslxumOm7QeTkY662oJVZGkf0edTH2MzNMh+GnOWSpwGRU8Ay tK1A==
X-Forwarded-Encrypted: i=1; AJvYcCVuhWG0wePDUsXwkpMWfGnzpHjlIo90O4QQqlVM+Ar2Z2Nyf/e+CiZxlGmzuJYXTpaVdEk=@ietf.org
X-Gm-Message-State: AOJu0Yyq3XCqswsyPlHRuvRfAh4JA8f0A1Gxhru/DIng6FGU7ql/IFpx UQ6PLR0+XJGBBvv8YY3GchouUCfzP97wCjreiNwn2PBt7SfA6mV0th4Do4uvxVI6yDdcFHA4Xl6 0gZYyqFz+BBizPqzi9PdbuggbwjQ9zSR/
X-Gm-Gg: ASbGnctKqnF03L9By0YXF3/fjgx2eCsofuxw1YmFJbAHS13Lx7hAxKkOm4TFNUkcz98 9tme0VMgkWz2IRRn6hfp8yE8bFHKAsoxHOC5s8U6fmvFwrdY4hRo=
X-Google-Smtp-Source: AGHT+IHwIY/KlfIJM+nPr5FoIVIM63veyHOcsX9nysjN9wfdEm09BeNbgxWiXmh+4C26DHkWAj3h/mchg4d//elGu/E=
X-Received: by 2002:a05:6e02:1f85:b0:3cf:b08e:7e91 with SMTP id e9e14a558f8ab-3cfb08e7f5bmr1827315ab.13.1737470300607; Tue, 21 Jan 2025 06:38:20 -0800 (PST)
MIME-Version: 1.0
References: <277A6369-0F6C-472D-923F-C160A501390B@juniper.net>
In-Reply-To: <277A6369-0F6C-472D-923F-C160A501390B@juniper.net>
From: Dhananjaya Rao <dhananjaya.rao@gmail.com>
Date: Tue, 21 Jan 2025 06:38:09 -0800
X-Gm-Features: AbW1kvaEuy8NmQnSccJdZhQ-NEOu4RNJxLnWvYhmeiHwoeaSXwz6tWBRDr2aHQ4
Message-ID: <CALvZiSyo-eq1dctpO54mJNhwegEcdKtS8QiAk9eCr3xQ5ZBcTA@mail.gmail.com>
To: John Scudder <jgs@juniper.net>
Content-Type: multipart/alternative; boundary="000000000000135c4b062c38542e"
Message-ID-Hash: OPLV6K7WWGW5VNKVDDZICC4HAOJCKB43
X-Message-ID-Hash: OPLV6K7WWGW5VNKVDDZICC4HAOJCKB43
X-MailFrom: dhananjaya.rao@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-idr.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "draft-ietf-idr-bgp-car@ietf.org" <draft-ietf-idr-bgp-car@ietf.org>, "idr@ietf.org" <idr@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Idr] Re: AD review of draft-ietf-idr-bgp-car-10
List-Id: Inter-Domain Routing <idr.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/0QzVi1KUATc16yEBpPPO9fl7L1w>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Owner: <mailto:idr-owner@ietf.org>
List-Post: <mailto:idr@ietf.org>
List-Subscribe: <mailto:idr-join@ietf.org>
List-Unsubscribe: <mailto:idr-leave@ietf.org>
Hi John, Thank you for your detailed review and feedback. We will check the comments and respond/update the draft. Regards, -Dhananjaya On Mon, Jan 20, 2025 at 6:24 PM John Scudder <jgs@juniper.net> wrote: > Hi Authors, WG, > > Thanks for your patience as I mostly completed this review. I say “mostly” > because I haven’t reviewed the appendices yet. These may clear up some of > the questions I’ve asked, and it’s also possible I may have further > questions about the appendices, but I thought it better to get the review > of the main body shipped off now without further delay. > > 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-idr-bgp-car-10.txt 2025-01-20 19:28:43 > +++ draft-ietf-idr-bgp-car-10-jgs-comments.txt 2025-01-20 21:18:34 > @@ -7,6 +7,19 @@ > Intended status: Experimental Cisco Systems > Expires: 28 October 2024 Co-authors > Section 13 > ++-- > +jgs: While I applaud your creativity, please stick with the accepted > +practice of listing additional contributors in the "Contributors" > +section, and don't invent a new category of back-page "co-authors". > + > +If you'd like, you can follow the example of > +https://www.rfc-editor.org/rfc/rfc9681.html#name-contributors > +and include a statement such as, > + > + The following people gave substantial contributions to the content of > + this document and should be considered as coauthors: > + > ++-- > 26 April 2024 > > > @@ -17,6 +30,15 @@ > > This document describes a BGP based routing solution to establish > end-to-end intent-aware paths across a multi-domain transport > ++-- > +jgs: I think it would be useful to state someplace early on what > +"transport" means in the context of this document, since it will > +also be reviewed by people who think "transport" means UDP, TCP, > +and QUIC. This goes double for "transport layer" which is more > +commonly understood to mean OSI reference model layer 4. That one > +at least, I think should go in the Terminology section, I'll add > +a stub. > ++-- > network. The transport network can span multiple service provider > and customer network domains. The BGP intent-aware paths can be used > to steer traffic flows for service routes that need a specific > @@ -282,9 +304,16 @@ > Internet-Draft BGP Color-Aware Routing (CAR) April 2024 > > > - | | concept w.r.t. routing beyond best-effort, | > + | | concept with respect to routing beyond best-effort, > | > | | compared to intent as declarative abstraction in | > | | [RFC9315]. | > ++-- > +jgs: I take it the definition is deliberately limiting. I can't > +immediately think of something else that wouldn't be covered by > +a combination of path, service insertion, and PHB, but I wanted > +to check that you intend and prefer that any other (hypothetical?) > +thing would be out of scope. > ++-- > +-------------+---------------------------------------------------+ > +-------------+---------------------------------------------------+ > | Color | A 32-bit numerical value associated with an | > @@ -373,6 +402,11 @@ > | | IGP Flex-Algo, BGP CAR) or traditional routing/TE | > | | path (e.g. RSVP-TE, IGP/LDP, BGP-LU). | > +-------------+---------------------------------------------------+ > ++-- > +jgs: Transport > + Transport Network > + Transport Layer > ++-- > > Table 1 > > @@ -574,7 +608,20 @@ > for an intent (i.e, IP Prefix == Intent or Color) distinguishes > the color-aware route. Color is not needed in NLRI key as a > distinguisher. > ++-- > +jgs: The use of non-descriptive names is a particular bugaboo of mine. > +E.g., I always have to go back and look up what the differences are > +between Options A, B, and C. And let's not even start on all the > +different BESS NLRI variants all named Type-foo. > > +I don't insist, but please consider whether you could use meaningful > +names for these throughout your document and not name them after their > +code points, which names will have no meaning to anyone not immersed in > +the document. I acknowledge it would be a large diff set, but it's > +potentially a straightforward search-and-replace job so not that much > +labor. > ++-- > + > * NLRI non-key encapsulation data: Data such as MPLS label stack, > Label Index and SRv6 SID list associated with NLRI. Contained in > TLVs as described in section 2.9.2.1 - 2.9.2.3. > @@ -624,6 +671,10 @@ > * Key length field: specifies the key length. It allows new NLRI > types to be handled opaquely, which permits transitivity of new > route types through BGP speakers such as Route Reflectors. > ++-- > +jgs: See my comments later in the doc about needing to cover garbage > +bits. > ++-- > > * TLV-based encoding of non-key part of NLRI: This allows the > inclusion of additional non-key fields for a prefix to support > @@ -787,14 +838,21 @@ > > > Additional AIGP extensions may be defined to signal state for > - specific use-cases: MSD along the BGP CAR route advertisement, > + specific use-cases: Maximum SID Depth (MSD) along the BGP CAR route > advertisement, > Minimum MTU along the BGP CAR advertisement. This is out of scope > for this document. > ++-- > +jgs: One of your use cases is "along the BGP CAR route advertisement" > +whereas the other is "along the BGP CAR advertisement". Is there some > +subtle difference between these that led you to omit the word "route" in > +the second? If so, please help me understand. If not, please make > +consistent. > ++-- > > 2.7. Native MultiPath Capability > > The (E, C) route definition inherently provides availability of > - redundant paths at every BGP hop, identical to BGP-LU or BGP IP. For > + redundant paths at every BGP hop identical to BGP-LU or BGP IP. For > instance, BGP CAR routes originated by two or more egress ABRs in a > domain are advertised as multiple paths to ingress ABRs in the > domain, where they become equal-cost or primary-backup paths. A > @@ -802,6 +860,20 @@ > locally within the domain for faster convergence, without any > necessity to propagate the event to upstream nodes for traffic > restoration. > ++-- > +jgs: I removed a comma above, to change the shade of meaning. I think it > +brings the paragraph closer to reality. With the comma, the impression > +given is that vanilla BGP "inherently provides availability of redundant > +paths at every BGP hop", which isn't true -- as we know, one of BGP's > +core functions is path hiding. > + > +It would likely be good to be even clearer, as in, > + > +NEW: > + The (E, C) route definition has the same characteristics as > + BGP-LU or BGP IP concerning whether redundant paths are > + available. > ++-- > > BGP ADD-PATH [RFC7911] SHOULD be enabled for BGP CAR to signal > multiple next hops through a transport RR. > @@ -817,7 +889,11 @@ > (i.e., they belong to different color domains). Low-delay in domain > 2 is color C2, while it is C1 in domain 1 (C1 <> C2). > > - The BGP CAR solution seamlessly supports this rare scenario while > + The BGP CAR solution seamlessly supports this scenario while > ++-- > +jgs: I removed "rare", it appears to be unnecessary and invites the > +distraction of asking what data you rely on in stating it to be rare. > ++-- > maintaining the separation and independence of the administrative > authority in different color domains. > > @@ -829,6 +905,12 @@ > Color-Mapping-Extended-Community (LCM-EC) of color C2. > > * A is aware (as per classic peering agreement) of the intent-to- > ++-- > +jgs: I think you need more and different words than "classic peering > +agreement". Probably you mean something like, "(through some out-of-band > +means not specified here, for example, determined during the business > +negotiation of a peering agreement)" > ++-- > color mapping within domain 2 ("low-delay" in domain 2 is C2). > > * A maps C2 in LCM-EC to C1 and signals within domain 1 the received > @@ -872,8 +954,12 @@ > > * In the vast majority of the cases, the color of the NLRI is used > for resolution and steering > ++-- > +jgs: Similar to my comment above, maybe drop the claim of "vast majority". > +For example, "When colors are congruent, ..." > ++--- > > - * In the rare case of color incongruence, the local color encoded in > + * In the case of color incongruence, the local color encoded in > LCM-EC takes precedence > > Operational consideratons are in Section 11. Further illustrations > @@ -946,9 +1032,22 @@ > > A route (NLRI) can carry more than one non-key TLV (of different > types). > ++-- > +jgs: Your bullet above calls the trailing data "non-key fields". But > +the sentence directly above talks about TLVs. Do you intend that > +all NLRI, both current and future, should use a uniform TLV system > +for extra data? If so, the trailing data should be called "non-key > +TLVs". On the other hand if you do intend complete freedom for each > +variant NLRI, then the sentence above needs to be revised. > > +Also, if you intend a uniform TLV system (and that seems like a good > +idea to me) then consider breaking out the TLV format description > +into its own subsection, instead of redefining it per NLRI. I'll re- > +flag this where relevant. > ++-- > > > + > Rao, et al. Expires 28 October 2024 [Page 17] > > Internet-Draft BGP Color-Aware Routing (CAR) April 2024 > @@ -967,7 +1066,20 @@ > in an opaque manner for handling of unknown or unsupported NLRI > types. This can help deployed Route Reflectors (RR) to propagate > NLRI types introduced in the future in a transparent manner. > ++-- > +jgs: The problem with the way you've specified this is that with NLRI > +formats that can have unused bits, for example all the formats you > +have in this document, where for example a /9 prefix has 7 unused bits, > +the values of the unused bits are uninteresting to implementations that > +understand the format, but are very interesting to implementations > +treating the NLRI as opaque. > > +So I think if you want to deliver on the promise of opaque NLRI, you > +have to state that all bits covered by the key length MUST be > +specified, even if it's to say that unused bits must be zero. I'll flag > +this again later. > ++-- > + > The key length also helps error handling be more resilient and > minimally disruptive. The use of key length in error handling is > described in Section 2.11. > @@ -1021,7 +1133,12 @@ > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Followed by optional TLVs encoded as below: > ++-- > +jgs: as noted above, I suggest you specify TLV encoding once instead > +of per NLRI type. Then you'd say "encoded as per Section foo" > ++-- > > + > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | Type | Length | Value (variable) // > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > @@ -1072,6 +1189,11 @@ > - The last octet has enough trailing bits to make the end of the > field fall on an octet boundary. Note that the value of the > trailing bits is irrelevant. The size of the field MUST be > ++-- > +jgs: nope, see comment above. Probably go with "trailing bits MUST be set > +to zero" although if you want to say something about how they need not be > +inspected by the receiver you can. > ++-- > less than or equal to 4 for IPv4 (AFI=1) and less than or equal > to 16 for IPv6 (AFI=2). > > @@ -1216,7 +1338,7 @@ > provides much better packing efficiency by carrying Label Index in > NLRI instead of in the BGP Prefix-SID Attribute (Appendix D). > > - Label Index TLV MUST not be carried in the Prefix-SID attribute for > + Label Index TLV MUST NOT be carried in the Prefix-SID attribute for > BGP CAR routes. If a speaker receives a CAR route with Label Index > TLV in the Prefix-SID attribute, it SHOULD ignore it. The BGP > Prefix-SID Attribute SHOULD NOT be sent with the labeled color-aware > @@ -1244,6 +1366,13 @@ > connectivity using Segment Routing over IPv6 (SRv6) [RFC8402]. > [RFC8986] specifies the SRv6 Endpoint behaviors (e.g. End PSP) which > MAY be leveraged for BGP CAR with SRv6. The SRv6 SID TLV is used for > ++-- > +jgs: The use of the RFC 2119-style MAY implies that any other endpoint > +behaviors that may be defined elsewhere MUST NOT be leveraged. I bet you > +don't mean that. If you don't mean to be limiting, change to "may" or > +better still, "can". If you do mean it to be limiting, make that clear > +with a MUST NOT clause. > ++-- > advertisement of color-aware routes along with their SRv6 SIDs and > has the following format: > > @@ -1261,7 +1390,7 @@ > multiple of 16. > > * SRv6 SID Information: field of size as indicated by the length > - that either carries the SRv6 SID(s) for the advertised color-aware > + that carries the SRv6 SID(s) for the advertised color-aware > route as one of the following: > > - A single 128-bit SRv6 SID or a stack of 128-bit SRv6 SIDs. > @@ -1311,6 +1440,10 @@ > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Followed by optional TLVs encoded as below: > ++-- > +jgs: as noted above, I suggest you specify TLV encoding once instead > +of per NLRI type. Then you'd say "encoded as per Section foo" > ++-- > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |R|T| Type | Length | Value (variable) // > @@ -1362,6 +1495,9 @@ > - The last octet has enough trailing bits to make the end of the > field fall on an octet boundary. Note that the value of the > trailing bits is irrelevant. The size of the field MUST be > ++-- > +jgs: Again, something like "trailing bits MUST be set to zero." > ++-- > less than or equal to 4 for IPv4 (AFI=1) and less than or equal > to 16 for IPv6 (AFI=2). > > @@ -1371,7 +1507,18 @@ > IP Prefix NLRI type. > > 2.9.4. Local-Color-Mapping (LCM) Extended-Community > ++-- > +jgs: Your Color-Aware Route NLRI Type ("Type-1") encodes Color as > +part of the NLRI... presumably to optimize for packing. But by > +carrying this mapping thingy in a path attribute, you eliminate > +any packing advantage you created, for any route that needs to > +carry an LCM. Hopefully it's self-evident why I say this. > > +Why is it both so important to protect packing that you make color > +a first-class part of the NLRI, but yet also so unimportant that > +you abandon it when the route crosses an AS boundary? > ++-- > + > This document defines a new BGP Extended-Community called "LCM". The > LCM is a Transitive Opaque Extended-Community with the following > encoding: > @@ -1418,7 +1565,32 @@ > If two BGP paths for a route have different LCM values, it is > considered an error and the route is not considered for bestpath > selection. > ++-- > +jgs: I think you mean "... routes for a prefix" or "... routes for a > +destination". As a reminder, "route" has a well-defined meaning in BGP. > +From RFC 4271: > > + Route > + A unit of information that pairs a set of destinations with the > + attributes of a path to those destinations. The set of > + destinations are systems whose IP addresses are contained in one > + IP address prefix carried in the Network Layer Reachability > + Information (NLRI) field of an UPDATE message. The path is the > + information reported in the path attributes field of the same > + UPDATE message. > + > +That also implies it should be "... the destination is not considered". > + > +But apart from getting the terminology right, I am also concerned with > +the dynamics this implies. If I understand you right, if I have route A > +for destination D with LCM blue, that's fine and it's installed. If > +route B for destination D with LCM green comes along, now neither route > +can be considered and I have to uninstall route A. If route A is later > +withdrawn, now I can install route B. Is that right? If so, why shouldn't > +that be concerning to me? For that matter, does it open a new security > +implication that should be reported in the Security Considerations? > ++-- > + > If present, LCM-EC contains the intent of a BGP CAR route. LCM-EC > Color is used instead of the Color in CAR route NLRI for procedures > described in earlier sections such as route validation (Section 2.4), > @@ -1464,7 +1636,7 @@ > in Section 2.8, and an example is given in Appendix B.3. > > Both LCM-EC and BGP Color-EC may be present at the same time with a > - BGP CAR route. For axample, a BGP CAR route (E, C1) from color > + BGP CAR route. For example, a BGP CAR route (E, C1) from color > domain D1, with LCM-EC C2 in color domain D2, may also carry Color-EC > C3 and next hop N in a transit network domain within D2 where C2 is > being resolved via an available intra-domain intent C3 (See the > @@ -1576,6 +1748,9 @@ > considered invalid and not eligible for best path selection. > Treat-as-withdraw may be used, though it is recommended to keep > the NLRI for debugging purposes. > ++-- > +jgs: Can you help me understand why the T bit is crucial here? > ++-- > > 3. Service Route Automated Steering on Color-Aware Path > > @@ -1589,6 +1764,15 @@ > > An egress PE may request intent through the transport for service > routes using the BGP Color-EC [RFC9012]. An ingress PE steers > ++-- > +jgs: The phrasing of the first sentence is ambiguous. This is because > +of the overloading of the word "transport". Even ignoring the OSI Layer 4 > +meaning, this document uses it to mean *at least* two things, one being > +a layer in the packet forwarding virtualization hierarchy, and the other > +being the control plane. If you could rewrite the sentence without using > +the word "transport" that would probably fix it, or anyway, please > +help me understand what you mean. > ++-- > service traffic over a CAR Type-1 route using the service route's > next hop and BGP Color-EC. > > @@ -1597,6 +1781,10 @@ > [RFC9256]. All the steering variations described in [RFC9256] are > applicable to BGP CAR color-aware path: on-demand steering, per- > destination, per-flow, CO-only. For brevity, please refer to > ++-- > +jgs: What's "CO-only"? You haven't defined "CO" anywhere, and it's also > +not defined in RFC 9256. > ++-- > [RFC9256] Section 8. > > Appendix A provides illustrations of service route automated steering > @@ -1604,6 +1792,9 @@ > > An egress PE may request intent through the transport for service > routes by allocating the SRv6 Service SID from a routed intent-aware > ++-- > +jgs: see my comment above. > ++-- > locator prefix (Section 3.3 of [RFC8986]). Steering at an ingress PE > is via resolution of the Service SID over a CAR Type-2 IP Prefix > route. Service Steering over BGP CAR SRv6 transport is described in > @@ -1627,6 +1818,9 @@ > > > RTC [RFC4684] may also be applied to the CAR SAFI, where Route Target > ++-- > +jgs: please expand "RTC" > ++-- > ECs [RFC4360] can be used to constrain distribution of CAR routes. > RT assignment may be via user policy, for example an RT value can be > assigned to all routes of a specific color. > @@ -1663,7 +1857,16 @@ > > On-demand subscription and filtering procedures are outside the scope > of this document. > ++-- > +jgs: I'm bamboozled by this section. If it's out of scope, why have the > +section at all? > > +On the other hand, if you do want to keep the section, it seems to be > +not up to snuff -- it doesn't provide enough detail, by a long chalk. > +So I'd say either remove the section (easy, quick) or let's have a > +conversation about how to fix it (not easy, not quick). > ++-- > + > 5. Scaling > > This section analyses the key scale requirement of > @@ -1750,7 +1953,10 @@ > > * When a transport RR is used within the domain or across domains, > ADD-PATH is enabled to advertise paths from both egress BRs to > - it's clients. > + its clients. > ++-- > +jgs: What's a "transport RR"? Define or reword. > ++-- > > * Egress PE E2 advertises a VPN route RD:V/v with BGP Color extended > community C1 that propagates via service RRs to ingress PE E1. > @@ -2140,6 +2346,10 @@ > most complex data-plane option for the ingress PE. > > 5.4. Scaling Benefits of the (E, C) BGP Subscription and Filtering > ++-- > +jgs: per my comments on Section 4.1, either remove this section, or > +let's do the work to fix Section 4.1. > ++-- > > The (E, C) subscription scheme from Section 4.1 provides the > following theoretical scaling benefits for the models in Section 5.2 > @@ -2262,6 +2472,9 @@ > PEs. > > * An IP Prefix CAR route (Type-2) is defined to distribute SRv6 > ++-- > +jgs: Thank you for using a meaningful name here! > ++-- > locator prefixes and described in Section 2.9.3 and Section 8. > > * A BGP CAR advertised SRv6 locator prefix may also be used for > @@ -2559,6 +2772,13 @@ > route/NLRI. When traversing network domain(s) where a different > intent/color is used for next-hop resolution, BGP Color-EC may > additionally be used as in Section 2.10. > ++-- > +jgs: This reminder actually reminds me that I find the overlap (not to > +say conflict) between LCM-EC and Color-EC to be confusing. For now I'm > +suspending judgment so I can ship this review, but TBH I'm still trying > +to make sense of it and hoping the appendices (not yet reviewed) will > +help me. > ++-- > > A special case of intent is best-effort which may be represented by a > color and follow above procedures. But to be compatible with > @@ -2676,7 +2896,10 @@ > different customers being advertised by the PE. > > 9.1. Format and Encoding > - > ++-- > +jgs: Is it true that in all cases RD has to be zero? If so, why > +are we burning 8 bytes for sending constant zero? > ++-- > BGP VPN CAR SAFI leverages the BGP multi-protocol extensions > [RFC4760] and uses the MP_REACH_NLRI and MP_UNREACH_NLRI attributes > for route updates by using the SAFI value 84 along with AFI 1 for > @@ -2721,7 +2944,12 @@ > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Followed by optional TLVs encoded as below: > ++-- > +jgs: as noted above, I suggest you specify TLV encoding once instead > +of per NLRI type. Then you'd say "encoded as per Section foo" > ++-- > > + > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |R|T| Type | Length | Value (variable) // > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > @@ -2736,6 +2964,11 @@ > > * Route Distinguisher: An 8-octet field encoded according to > [RFC4364]. > ++-- > +jgs: per my question above, if RD really is always zero in this > +application, then state MBZ here. (But then I still want to know why > +we even have this field.) > ++-- > > > > @@ -2766,7 +2999,12 @@ > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Followed by optional TLVs encoded as below: > ++-- > +jgs: as noted above, I suggest you specify TLV encoding once instead > +of per NLRI type. Then you'd say "encoded as per Section foo" > ++-- > > + > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |R|T| Type | Length | Value (variable) // > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > @@ -2780,6 +3018,9 @@ > the RD, Prefix Length field and IP Prefix field. > > * Route Distinguisher: 8 octet field encoded according to [RFC4364]. > ++-- > +jgs: Same question as earlier. > ++-- > > * Type-Specific Non-Key Fields: Encoded as per Type-Specific Non-Key > Fields of IP Prefix NLRI Type in Section 2.9.3. Label TLV, Label > @@ -2806,8 +3047,8 @@ > > IANA has assigned SAFI value 83 (BGP CAR) and SAFI value 84 (BGP VPN > CAR) from the "SAFI Values" sub-registry under the "Subsequent > - Address Family Identifiers (SAFI) Parameters" registry with this > - document as a reference. > + Address Family Identifiers (SAFI) Parameters" registry. IANA is > requested > + to update the reference to this document. > > 10.2. BGP CAR NLRI Types Registry > > @@ -2896,13 +3137,21 @@ > > * Check IDR implementation reports for two implementation of new > non-Key TLV type. > + > ++-- > +jgs: For both of the above I suggest adding something like, > > + * Check that all bits of the key portion are defined, unused > + subfields MUST have required values (e.g. must be zero). > ++-- > + > 10.5. BGP Extended-Community Registry > > IANA has assigned the sub-type 0x1b for "Local Color Mapping (LCM)" > in the "Transitive Opaque Extended Community Sub-Types" registry > located in the "Border Gateway Protocol (BGP) Extended Communities" > - registry group. > + registry group. IANA is requested to update the referent to this > + document. > > > > @@ -2941,7 +3190,7 @@ > conflicts in either network (Appendix A.7). > > It should be noted that the color assignments coordination are only > - necessary for routes specific to the shared service IP. Colors used > + necessary for routes specific to the shared service IP address. > Colors used > for intra-domain or for inter-domain intents associated with unique > IP addresses do not need any coordination. > > @@ -2989,6 +3238,14 @@ > routing information carried within a new SAFI, BGP origin validation > [RFC6811] and BGPsec [RFC8205] could be used as means to increase > assurance that the information has not been falsified. > ++-- > +jgs: I don't think BGPsec does what you think it does. BGPsec signs the > +AS path, period. It doesn't protect anything else carried within the > +message. Similarly, origin validation only tells me that the origin AS > +is the one that matches the prefix in the NLRI. Can you help me > +understand how these would "mitigate any risk of manipulating the > +routing information carried within a new SAFI"? > ++-- > > Since CAR SAFI is a separate BGP SAFI that carries transport or > infrastructure routes for routers in the operator network, it > @@ -3031,8 +3288,18 @@ > Furthermore, as long as the filtering and appropriate configuration > mechanisms discussed above are applied diligently, risk of the > diversion of the traffic is eliminated. > ++-- > +jgs: It's awfully daring to say a "risk ... is eliminated", especially > when > +the "elimination" is through the hard crunchy exterior, completely trusted > +interior security model. I would suggest deleting the "furthermore" > sentence > +which is likely to draw fire and doesn't seem needed. > ++-- > > 13. Co-authors > ++-- > +jgs: As noted up top, please make this part of your Contributors section, > +optionally inserting a statement such as I provided. > ++-- > > Clarence Filsfils > Cisco Systems > @@ -3113,6 +3380,16 @@ > > The authors would like to acknowledge the review and inputs from many > people.TBD > ++-- > +jgs: There can't be any TBD in a document I take for IESG review (other > than > +placeholders for code point allocations). Please finish. > + > +BTW I noticed that the final paragraph of your Security Considerations is > +almost verbatim identical to the final paragraph of > draft-ietf-idr-bgp-ct-33. > +I have no idea who cribbed from whom, or if the paragraph came from a > third > +party, but take this as a suggestion to consider acknowledging sources of > +things like that. (I'll also make this suggestion to the authors of > bgp-ct.) > ++-- > > 16. References > > > > >
- [Idr] AD review of draft-ietf-idr-bgp-car-10 John Scudder
- [Idr] Re: AD review of draft-ietf-idr-bgp-car-10 Dhananjaya Rao
- [Idr] Re: AD review of draft-ietf-idr-bgp-car-10 John Scudder