Last Call Review of draft-ietf-bier-idr-extensions-11
review-ietf-bier-idr-extensions-10-rtgdir-lc-talaulikar-2024-02-12-01
Request | Review of | draft-ietf-bier-idr-extensions |
---|---|---|
Requested revision | No specific revision (document currently at 14) | |
Type | Last Call Review | |
Team | Routing Area Directorate (rtgdir) | |
Deadline | 2024-02-14 | |
Requested | 2024-02-01 | |
Requested by | Andrew Alston | |
Authors | Xiaohu Xu , Mach Chen , Keyur Patel , IJsbrand Wijnands , Tony Przygienda , Zhaohui (Jeffrey) Zhang | |
I-D last updated | 2024-09-27 | |
Completed reviews |
Rtgdir Last Call review of -11
by Ketan Talaulikar
(diff)
Secdir Last Call review of -12 by Brian Weis (diff) Opsdir Last Call review of -12 by Tim Chown (diff) Genart Last Call review of -12 by Behcet Sarikaya (diff) |
|
Assignment | Reviewer | Ketan Talaulikar |
State | Completed | |
Request | Last Call review on draft-ietf-bier-idr-extensions by Routing Area Directorate Assigned | |
Posted at | https://mailarchive.ietf.org/arch/msg/rtg-dir/HuVJbqwUHX0zXmFZEOkjyiW3qCo | |
Reviewed revision | 11 (document currently at 14) | |
Result | Has nits | |
Completed | 2024-09-27 |
review-ietf-bier-idr-extensions-10-rtgdir-lc-talaulikar-2024-02-12-01
Hello All, This is the updated RTGDIR review for the revised version 11 of the draft that has been updated to address the comments from the previous review. There are minor comments and nits that need to be addressed as described below. Thanks, Ketan idnits 2.17.1 draft-ietf-bier-idr-extensions-11.txt: Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 6 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: It's possible that the BFR supports some but not all BSLs in the received MPLS or non-MPLS Encapsulation sub-TLVs. After updating the BIER Nexthop sub-TLV in the top BIER TLV to itself, for the BSLs that it does support, the BFR MUST remove the BIER Nexthop sub-TLV (if present) in the corresponding Encapsulation sub-TLVs. For the BSLs that it does not support, it MUST not update those Encapsulation sub-TLVs except that if a BIER Nexthop sub-TLV is not included in the Encapsulation sub-TLV, the received BIER Nexthop sub-TLV in the top BIER TLV MUST be copied into the Encapsulation sub-TLV. All impacted length fields (e.g., the Encapsulation sub-TLV Length, the top level BIER TLV Length) MUST be updated accordingly. -- The document date (3 June 2024) is 116 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC8296' is mentioned on line 282, but not defined == Outdated reference: A later version (-07) exists of draft-ietf-bier-prefix-redistribute-06 Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 119 3. BIER Path Attribute 121 This draft defines a new optional, transitive BGP path attribute, 122 referred to as the BIER attribute. This attribute can be attached to 123 a BGP UPDATE message by the originator for NLRIs of AFI 1/2 and SAFI 124 1/2/4 so as to indicate the BIER-specific information of a particular 125 BFR identified by the /32 or /128 host address prefix contained in 126 the NLRI, or a set of BFERs covered by a non-host address prefix 127 [I-D.ietf-bier-prefix-redistribute]. In other words, if the BIER 128 path attribute is present, the NLRI is treated by BIER as a "BFR- 129 prefix". Use of the attribute with other AFIs/SAFIs is outside the 130 scope of this document. 132 The BIER path attribute is encoded in the TLV format shown in the 133 following figure. 135 0 1 2 3 136 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 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 138 | Type | Length | 139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 ~ Value (variable) ~ 141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 143 Figure 1 145 The Length field defines the length of the value portion in octets 146 (thus, a TLV with no value portion would have a length of zero). The 147 TLV is not padded to 4-octet alignment. Unknown and unsupported 148 types MUST be preserved and propagated within both the NLRI and the 149 BGP-LS Attribute. The presence of unknown or unexpected TLVs MUST 150 NOT result in the NLRI or the BGP-LS Attribute being considered 151 malformed. [nit] s/BGP-LS/BIER 153 When creating a BIER attribute, a BFR needs to include one BIER TLV 154 for every Sub-domain that the prefix belongs to. The attribute type 155 code for the BIER Attribute is TBD. The value field of the BIER 156 Attribute contains one or more BIER TLV as shown in Figure 2. 158 0 1 2 3 159 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 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 | Type = 1 | Length | 162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 | Sub-domain | BFR-ID | Reserved | 164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 165 ~ ~ 166 | Sub-TLVs | 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.......................... 169 Figure 2 171 Type: 1. 173 Length: Two octets encoding the length in octets of the Value 174 part. 176 Sub-domain: a one-octet field encoding the sub-domain ID 177 corresponding to the BFR-ID. 179 BFR-ID: a two-octet field encoding the BFR-ID. [minor] Please give reference pointers (with sections, if possible) to the base BIER RFCs for terminologies like sub-domain, BFR-ID, etc. when first introduced in this document. 181 Sub-TLVs: contains one or more sub-TLV. [minor] Just confirming that it MUST contain at least one sub-TLV ... 183 The BIER TLV MAY appear multiple times in the BIER Path Attribute, 184 one for each sub-domain. There MUST be no more than one BIER TLV 185 with the same Sub-domain value; if there is, the entire BIER Path 186 Attribute MUST be ignored. 188 A BIER TLV may have sub-TLVs, which may have their own sub-TLVs. All 189 those are referred to as sub-TLVs and share the same Type space, 190 regardless of the level. 326 4. Originating/Propagating/Updating BIER Attribute 328 The use of BIER attribute with a non-host BFR-prefix NLRI is covered 329 in [I-D.ietf-bier-prefix-redistribute]. 331 A BIER Forwarding Egress Router (BFER) MUST attach a BIER attribute 332 to its own host BFR-prefix NLRI. The BIER attribute MUST include one [minor] When you say "host", you mean local? Like a loopback? Perhaps you mean, when the local /32 or /128 that is the BFR Prefix is advertised via BGP (e.g., AFI=1/2, SAFI=1), then the BIER attribute is attached to it? 333 BIER TLV for each BIER sub-domain that it supports. Each BIER TLV 334 MUST include an MPLS and/or non-MPLS Encapsulation sub-TLV, and 335 SHOULD include a BIER Nexthop sub-TLV with the Nexthop set to the 336 BIER prefix. If the BIER Nexthop sub-TLV is not included, the BIER 337 prefix will be used by receiving BFRs as the BIER nexthop when 338 calculating BIFT. 340 When a BGP speaker receives an update with the BIER path attribute, 341 the syntactic validation of the attribute is done regardless if the 342 speaker is a BFR or not, and appropriate action is taken, e.g., 343 performing an "attribute discard" action [RFC7606] about the BIER 344 attribute. If it is a BFR, then semantics validation of the BIER 345 path attribute is done. If the validation passes, BIFT entries are 346 calculated as described in Section 5. Otherwise, some or all BIER 347 TLVs MUST be ignored and not re-advertised further. However, as long 348 as the syntactic validation of the BIER path attribute passes, the 349 route is useable for non-BIER purposes. 351 When a BFR re-advertises a BGP NLRI with a BIER attribute, for the 352 sub-domains that this BFR supports, in the corresponding BIER TLV it 353 SHOULD set/update the BIER Nexthop sub-TLV to use its own BIER 354 prefix, in which case it MUST replace the MPLS or non-MPLS 355 Encapsulation sub-TLV with its own, i.e., as if the BFR is attaching 356 the encapsulation sub-TLV for its own BIER prefix. If it does not 357 update the BIER Nexthop sub-TLVs, it MUST NOT update MPLS or non-MPLS 358 Encapsulation sub-TLV. If it does not support a sub-domain, it MUST 359 NOT update the corresponding BIER TLV. 361 It's possible that the BFR supports some but not all BSLs in the 362 received MPLS or non-MPLS Encapsulation sub-TLVs. After updating the 363 BIER Nexthop sub-TLV in the top BIER TLV to itself, for the BSLs that 364 it does support, the BFR MUST remove the BIER Nexthop sub-TLV (if 365 present) in the corresponding Encapsulation sub-TLVs. For the BSLs 366 that it does not support, it MUST not update those Encapsulation sub- 367 TLVs except that if a BIER Nexthop sub-TLV is not included in the 368 Encapsulation sub-TLV, the received BIER Nexthop sub-TLV in the top 369 BIER TLV MUST be copied into the Encapsulation sub-TLV. All impacted 370 length fields (e.g., the Encapsulation sub-TLV Length, the top level 371 BIER TLV Length) MUST be updated accordingly. 373 Since the BIER attribute is an optional, transitive BGP path 374 attribute, a non-BFR BGP speaker could still advertise the received 375 route with a BIER attribute. 377 Two different BFR-prefixes MUST NOT have the same non-zero BFR-ID in 378 the same sub-domain. If a duplication is detected, the receiving BFR 379 MUST NOT use it for BIFT calculation for the sub-domain and an error 380 SHOULD be logged. The BFR SHOULD discard the BIER attribute that 381 contains the duplicate BFR-ID. 448 7. Operational Considerations 450 It's assumed by this document that the BIER domain [RFC8279] is 451 aligned with an Administrative Domain (AD) which may be composed of 452 multiple ASes (either private or public ASes). Use of the BIER 453 attribute in other scenarios is outside the scope of this document. 455 A boundary router of the AD that supports the BIER attribute MUST [nit] s/AD/AS 456 support a per-EBGP-session/group policy, that indicates whether the 457 attribute is allowed and by default it is NOT allowed. If it is not 458 allowed, the BIER attribute MUST NOT be sent to any EBGP peer of the 459 session/group, and the BIER attribute received from the peer MUST be 460 treated exactly as if it were an unrecognized non-transitive 461 attribute. That is, "it MUST be quietly ignored and not passed along 462 to other BGP peers". 464 8. Acknowledgements 466 Thanks a lot for Eric Rosen and Peter Psenak for their valuable 467 comments on this document. 469 9. IANA Considerations 471 IANA is requested to assign a codepoint TBD in the "BGP Path 472 Attributes" registry to the BIER attribute. 474 IANA is requested to create a registry for "BGP BIER TLV and SUB-TLV [minor] I assume you mean this registry to be created under the BGP Parameter registry group? 475 Types". The type field for the registry consists of two octets, with 476 possible values from 1 to 655355 (the value 0 is reserved). The 477 allocation policy for this field is to be "First Come First Serve" 478 [RFC8126]. 480 Four initial values are to be allocated from the "BGP BIER TLV and 481 Sub-TLV Types" registry as follows: 483 1: BIER TLV 485 2: MPLS Encapsulation sub-TLV 487 3: non-MPLS Encapsulation sub-TLV 489 4: BIER Nexthop sub-TLV 491 10. Security Considerations 493 This document introduces no new security considerations beyond those 494 already specified in [RFC4271] and [RFC8279]. [minor] Since the BIER attribute is associated with prefixes in BGP AFI=1/2 SAFI = 1, perhaps some discussion may be needed that this is for local infrastructure loopback prefixes and not meant to be advertised out over the Internet.