idnits 2.17.1 draft-chen-bier-te-lan-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (22 October 2021) is 916 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) -- Looks like a reference, but probably isn't: '1' on line 131 -- Looks like a reference, but probably isn't: '65535' on line 131 == Unused Reference: 'RFC5226' is defined on line 820, but no explicit reference was found in the text == Unused Reference: 'RFC5250' is defined on line 825, but no explicit reference was found in the text == Unused Reference: 'RFC5286' is defined on line 829, but no explicit reference was found in the text == Unused Reference: 'RFC5714' is defined on line 834, but no explicit reference was found in the text == Unused Reference: 'RFC5880' is defined on line 838, but no explicit reference was found in the text == Unused Reference: 'RFC7356' is defined on line 842, but no explicit reference was found in the text == Unused Reference: 'RFC7490' is defined on line 847, but no explicit reference was found in the text == Unused Reference: 'RFC7684' is defined on line 852, but no explicit reference was found in the text == Unused Reference: 'RFC7770' is defined on line 857, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 866, but no explicit reference was found in the text == Unused Reference: 'RFC8556' is defined on line 872, but no explicit reference was found in the text == Unused Reference: 'I-D.eckert-bier-te-frr' is defined on line 879, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-rtgwg-segment-routing-ti-lfa' is defined on line 886, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-protection-sr-te-paths' is defined on line 894, but no explicit reference was found in the text == Unused Reference: 'RFC8296' is defined on line 902, but no explicit reference was found in the text == Unused Reference: 'RFC8401' is defined on line 908, but no explicit reference was found in the text == Unused Reference: 'RFC8444' is defined on line 913, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-bier-te-arch-10 ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Downref: Normative reference to an Informational RFC: RFC 5714 == Outdated reference: A later version (-13) exists of draft-ietf-rtgwg-segment-routing-ti-lfa-07 == Outdated reference: A later version (-06) exists of draft-ietf-spring-segment-protection-sr-te-paths-01 Summary: 2 errors (**), 0 flaws (~~), 22 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group H. Chen 3 Internet-Draft M. McBride 4 Intended status: Standards Track Futurewei 5 Expires: 25 April 2022 A. Wang 6 China Telecom 7 G. Mishra 8 Verizon Inc. 9 L. Liu 10 Fujitsu 11 X. Liu 12 Volta Networks 13 22 October 2021 15 BIER-TE for Broadcast Link 16 draft-chen-bier-te-lan-00 18 Abstract 20 This document describes extensions to "Bit Index Explicit Replication 21 Traffic Engineering" (BIER-TE) for supporting LANs (i.e., broadcast 22 links). For a multicast packet with an explicit point-to-multipoint 23 (P2MP) path traversing LANs, the packet is replicated and forwarded 24 statelessly along the path. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 30 document are to be interpreted as described in [RFC2119] [RFC8174] 31 when, and only when, they appear in all capitals, as shown here. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at https://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on 25 April 2022. 50 Copyright Notice 52 Copyright (c) 2021 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 57 license-info) in effect on the date of publication of this document. 58 Please review these documents carefully, as they describe your rights 59 and restrictions with respect to this document. Code Components 60 extracted from this document must include Simplified BSD License text 61 as described in Section 4.e of the Trust Legal Provisions and are 62 provided without warranty as described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 68 2. Example Application of Current BIER-TE with LAN . . . . . . . 4 69 2.1. Example BIER-TE Topology with LAN . . . . . . . . . . . . 4 70 2.2. BIER-TE BIFT on BFR . . . . . . . . . . . . . . . . . . . 5 71 2.3. Example P2MP Path with LAN . . . . . . . . . . . . . . . 10 72 3. Improved BIER-TE with LAN . . . . . . . . . . . . . . . . . . 11 73 3.1. New BP Assignments for LAN . . . . . . . . . . . . . . . 11 74 3.2. Improved BIER-TE BIFT on BFR . . . . . . . . . . . . . . 12 75 3.3. Updated Forwarding Procedure . . . . . . . . . . . . . . 16 76 4. Example Application of Improved BIER-TE . . . . . . . . . . . 17 77 5. Security Considerations . . . . . . . . . . . . . . . . . . . 18 78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 79 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 80 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 81 8.1. Normative References . . . . . . . . . . . . . . . . . . 19 82 8.2. Informative References . . . . . . . . . . . . . . . . . 20 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 85 1. Introduction 87 [I-D.ietf-bier-te-arch] introduces Bit Index Explicit Replication 88 (BIER) Traffic/Tree Engineering (BIER-TE). It is an architecture for 89 per-packet stateless explicit point to multipoint (P2MP) multicast 90 path/tree. A Bit-Forwarding Router (BFR) in a BIER-TE domain has a 91 BIER-TE Bit Index Forwarding Table (BIFT). A BIER-TE BIFT on a BFR 92 comprises a forwarding entry for a BitPosition (BP) assigned to each 93 of the adjacencies of the BFR. If the BP represents a forward 94 connected adjacency, the forwarding entry for the BP forwards the 95 multicast packet with the BP to the directly connected BFR neighbor 96 of the adjacency. If the BP represents a BFER (i.e., egress node) or 97 say a local decap adjacency, the forwarding entry for the BP 98 decapsulates the multicast packet with the BP and passes a copy of 99 the payload of the packet to the packet's NextProto within the BFR. 101 In [I-D.ietf-bier-te-arch], for a LAN, the adjacency to each 102 neighboring BFR on the LAN is given a unique BitPosition. The 103 adjacency of this BitPosition is a forward connected adjacency 104 towards the BFR and this BitPosition is populated into the BIFT of 105 all the other BFRs on that LAN. This solution for a LAN does not 106 work in some cases. 108 For a packet with an explicit point-to-multipoint (P2MP) path, if the 109 path traverses some BFRs/nodes on a LAN, each of these BFRs/nodes on 110 the LAN may receive duplicated packets. Thus some of the egress 111 nodes will receive duplicated packets. 113 This document proposes a solution for LANs to resolve this issue. 114 For a packet with an explicit P2MP path traversing LANs (i.e., 115 broadcast links), the packet is replicated and forwarded statelessly 116 along the path. Each of the egress nodes of the path will not 117 receive any duplicated packet. 119 1.1. Terminology 121 BIER: Bit Index Explicit Replication. 123 BIER-TE: BIER Traffic Engineering. 125 BFR: Bit-Forwarding Router. 127 BFIR: Bit-Forwarding Ingress Router. 129 BFER: Bit-Forwarding Egress Router. 131 BFR-id: BFR Identifier. It is a number in the range [1,65535]. 133 BFR-NBR: BFR Neighbor. 135 BFR-prefix: An IP address (either IPv4 or IPv6) of a BFR. 137 BIRT: Bit Index Routing Table. It is a table that maps from the 138 BFR-id (in a particular sub-domain) of a BFER to the BFR-prefix 139 of that BFER, and to the BFR-NBR on the path to that BFER. 141 BIFT: Bit Index Forwarding Table. 143 IGP: Interior Gateway Protocol. 145 LSDB: Link State DataBase. 147 OSPF: Open Shortest Path First. 149 IS-IS: Intermediate System to Intermediate System. 151 2. Example Application of Current BIER-TE with LAN 153 This section illustrates an example application of the current BIER- 154 TE defined in [I-D.ietf-bier-te-arch] to the BIER-TE topology with 155 LAN in Figure 1. 157 2.1. Example BIER-TE Topology with LAN 159 An example BIER-TE topology with a LAN for a BIER-TE domain is shown 160 in Figure 1. It has 8 nodes/BFRs A, B, C, D, E, F, G and H. Nodes/ 161 BFRs D, F, E, H and A are BFERs and have local decap adjacency 162 BitPositions (BPs for short) 1, 2, 3, 4, and 5 respectively. For 163 simplicity, these BPs are represented by (SI:BitString), where SI = 0 164 and BitString is of 8 bits. BPs 1, 2, 3, 4, and 5 are represented by 165 1 (0:00000001), 2 (0:00000010), 3 (0:00000100), 4 (0:00001000) and 5 166 (0:00010000) respectively. 168 4' | 4 169 /-----------( G )--------+ ( H ) 170 / 14' |________/ 171 / | 15' 172 /3' _________| 173 1' 2' / 6' /13' | 16' 174 ( A )------------( B )--------------( C ) +--------( D ) 175 5 7'\ 5' \11' | 1 176 \ \ LAN 177 \ \ 178 \8' 10' \12' 179 ( E )--------------( F ) 180 3 9' 2 182 Figure 1: Example BIER-TE Topology with BP to BFR on LAN 184 The BitPositions for the forward connected adjacencies are 185 represented by i', where i is from 1 to 16. In one option, they are 186 encoded as (n+i), where n is a power of 2 such as 32768. For 187 simplicity, these BitPositions are represented by (SI:BitString), 188 where SI = (6 + (i-1)/8) and BitString is of 8 bits. BitPositions i' 189 (i from 1 to 16) are represented by 1'(6:00000001), 2'(6:00000010), 190 3'(6:00000100), 4'(6:00001000), 5'(6:00010000), 6'(6:00100000), 191 7'(6:01000000), 8'(6:10000000), 9'(7:00000001), 10'(7:00000010), . . 192 . , 16'(7:10000000). 194 For a link between two nodes X and Y, there are two BitPositions for 195 two forward connected adjacencies. These two forward connected 196 adjacency BitPositions are assigned on nodes X and Y respectively. 197 The BitPosition assigned on X is the forward connected adjacency of 198 Y. The BitPosition assigned on Y is the forward connected adjacency 199 of X. 201 For example, for the link between nodes B and C in the figure, two 202 forward connected adjacency BitPositions 5' and 6' are assigned to 203 two ends of the link. BitPosition 5' is assigned on node B to B's 204 end of the link. It is the forward connected adjacency of node C. 205 BitPosition 6' is assigned on node C to C's end of the link. It is 206 the forward connected adjacency of node B. 208 For a LAN (i.e., broadcast link) connecting nodes X1, X2, ..., Xm, 209 there are m BitPositions for m forward connected adjacencies. These 210 m forward connected adjacency BitPositions are assigned on nodes X1, 211 X2, ..., Xm respectively. 213 For the LAN connecting 4 nodes C, G, H and D in the figure, 4 forward 214 connected adjacency BitPositions 13', 14', 15' and 16' are assigned 215 to C, G, H and D respectively. 217 2.2. BIER-TE BIFT on BFR 219 Every BFR in a BIER-TE domain/topology has a BIER-TE BIFT. This 220 section shows the BIER-TE BIFT on every BFR/node of the BIER-TE 221 topology with LAN in Figure 1. 223 For the BIER-TE topology in Figure 1, each of 8 nodes/BFRs A, B, C, 224 D, E, F, G and H has its BIER-TE BIFT for the topology. The BIFT on 225 a BFR comprises a forwarding entry for each of the adjacencies of the 226 BFR. 228 The BIER-TE BIFT on BFR A (i.e., node A) is shown in Figure 2. There 229 are two adjacencies of A. One is the forward connected adjacency 230 from A to B (represented by BP 2'); the other is the local decap 231 adjacency (represented by BP 5) for BFER (i.e., egress) A. The BIFT 232 on A has two forwarding entries. 234 +-----------------+--------------+------------+ 235 | Adjacency BP | Action | BFR-NBR | 236 | (SI:BitString) | | (Next Hop) | 237 +=================+==============+============+ 238 | 2'(6:00000010) | fw-connected | B | 239 +-----------------+--------------+------------+ 240 | 5 (0:00010000) | local-decap | | 241 +-----------------+--------------+------------+ 243 Figure 2: BIER-TE BIFT on BFR A 245 The 1st forwarding entry in the BIFT is for BitPosition 2', which is 246 the forward connected adjacency from A to B. For a multicast packet 247 with BitPosition 2', which indicates that the P2MP path in the packet 248 traverses the adjacency from A to B, the forwarding entry forwards 249 the packet to B along the link from A to B. 251 The 2nd forwarding entry in the BIFT locally decapsulates a multicast 252 packet with BitPosition 5 and passes a copy of the payload of the 253 packet to the packet's NextProto. It is for BitPosition 5, which is 254 the local decap adjacency for BFER (i.e., egress) A. For a multicast 255 packet with BitPosition 5, which indicates that the P2MP path in the 256 packet has node A as one of its destinations (i.e., egress nodes), 257 the forwarding entry decapsulates the packet and passes a copy of the 258 payload of the packet to the packet's NextProto within node A. 260 The BIER-TE BIFT on BFR B (i.e., node B) is shown in Figure 3. There 261 are four forward connected adjacencies of B. They are the forward 262 connected adjacencies from B to A (represented by BP 1'), B to G 263 (represented by BP 4'), B to C (represented by BP 6') and B to E 264 (represented by BP 8') respectively. The BIFT on B has four 265 forwarding entries for these adjacencies. 267 +----------------+--------------+------------+ 268 | Adjacency BP | Action | BFR-NBR | 269 | (SI:BitString) | | (Next Hop) | 270 +================+==============+============+ 271 | 1'(6:00000001) | fw-connected | A | 272 +----------------+--------------+------------+ 273 | 4'(6:00001000) | fw-connected | G | 274 +----------------+--------------+------------+ 275 | 6'(6:00100000) | fw-connected | C | 276 +----------------+--------------+------------+ 277 | 8'(6:10000000) | fw-connected | E | 278 +----------------+--------------+------------+ 280 Figure 3: BIER-TE BIFT on BFR B 282 The 1st forwarding entry in the BIFT is for BitPosition 1', which is 283 the forward connected adjacency from B to A. For a multicast packet 284 with BitPosition 1', which indicates that the P2MP path in the packet 285 traverses the adjacency from B to A, the forwarding entry forwards 286 the packet to A along the link from B to A. 288 The 2nd forwarding entry in the BIFT is for BitPosition 4', which is 289 the forward connected adjacency from B to G. For a multicast packet 290 with BitPosition 4', which indicates that the P2MP path in the packet 291 traverses the adjacency from B to G, the forwarding entry forwards 292 the packet to G along the link from B to G. 294 The 3rd forwarding entry in the BIFT is for BitPosition 6', which is 295 the forward connected adjacency from B to C. For a multicast packet 296 with BitPosition 6', which indicates that the P2MP path in the packet 297 traverses the adjacency from B to C, the forwarding entry forwards 298 the packet to C along the link from B to C. 300 The 4-th forwarding entry in the BIFT is for BitPosition 8', which is 301 the forward connected adjacency from B to E. For a multicast packet 302 with BitPosition 8', which indicates that the P2MP path in the packet 303 traverses the adjacency from B to E, the forwarding entry forwards 304 the packet to E along the link from B to E. 306 The BIER-TE BIFT on BFR C (i.e., node C) is shown in Figure 4. There 307 are five forward connected adjacencies of C. They are the forward 308 connected adjacencies from C to B (represented by BP 5'), C to F 309 (represented by BP 12'), C to G (represented by BP 14'), C to H 310 (represented by BP 15') and C to D (represented by BP 16') 311 respectively. The BIFT on C has five forwarding entries for these 312 adjacencies. 314 +-----------------+--------------+------------+ 315 | Adjacency BP | Action | BFR-NBR | 316 | (SI:BitString) | | (Next Hop) | 317 +=================+==============+============+ 318 | 5'(6:00010000) | fw-connected | B | 319 +-----------------+--------------+------------+ 320 | 12'(7:00001000) | fw-connected | F | 321 +-----------------+--------------+------------+ 322 | 14'(7:00100000) | fw-connected | G | 323 +-----------------+--------------+------------+ 324 | 15'(7:01000000) | fw-connected | H | 325 +-----------------+--------------+------------+ 326 | 16'(7:10000000) | fw-connected | D | 327 +-----------------+--------------+------------+ 328 Figure 4: BIER-TE BIFT on BFR C 330 The BIER-TE BIFT on BFR D (i.e., node D) is shown in Figure 5. There 331 are four adjacencies of D. Three of them are the forward connected 332 adjacencies from D to C (represented by BP 13'), D to G (represented 333 by BP 14') and D to H (represented by BP 15') respectively; the other 334 is the local decap adjacency (represented by BP 1) for BFER (i.e., 335 egress) D. The BIFT on D has four forwarding entries for these 336 adjacencies. 338 +-----------------+--------------+------------+ 339 | Adjacency BP | Action | BFR-NBR | 340 | (SI:BitString) | | (Next Hop) | 341 +=================+==============+============+ 342 | 13'(7:00010000) | fw-connected | C | 343 +-----------------+--------------+------------+ 344 | 14'(7:00100000) | fw-connected | G | 345 +-----------------+--------------+------------+ 346 | 15'(7:01000000) | fw-connected | H | 347 +-----------------+--------------+------------+ 348 | 1 (0:00000001) | local-decap | | 349 +-----------------+--------------+------------+ 351 Figure 5: BIER-TE BIFT on BFR D 353 The BIER-TE BIFT on BFR E (i.e., node E) is shown in Figure 6. There 354 are three adjacencies of E. Two of them are the forward connected 355 adjacencies from E to B (represented by BP 7') and E to F 356 (represented by BP 10') respectively; the other is the local decap 357 adjacency (represented by BP 3) for BFER (i.e., egress) E. The BIFT 358 on E has three forwarding entries for these adjacencies. 360 +-----------------+--------------+------------+ 361 | Adjacency BP | Action | BFR-NBR | 362 | (SI:BitString) | | (Next Hop) | 363 +=================+==============+============+ 364 | 7'(6:01000000) | fw-connected | B | 365 +-----------------+--------------+------------+ 366 | 10'(7:00000010) | fw-connected | F | 367 +-----------------+--------------+------------+ 368 | 3 (0:00000100) | local-decap | | 369 +-----------------+--------------+------------+ 371 Figure 6: BIER-TE BIFT on BFR E 373 The BIER-TE BIFT on BFR F (i.e., node F) is shown in Figure 7. There 374 are three adjacencies of F. Two of them are the forward connected 375 adjacencies from F to E (represented by BP 9') and F to C 376 (represented by BP 11') respectively; the other is the local decap 377 adjacency (represented by BP 2) for BFER (i.e., egress) F. The BIFT 378 on F has three forwarding entries for these adjacencies. 380 +-----------------+--------------+------------+ 381 | Adjacency BP | Action | BFR-NBR | 382 | (SI:BitString) | | (Next Hop) | 383 +=================+==============+============+ 384 | 9'(7:00000001) | fw-connected | E | 385 +-----------------+--------------+------------+ 386 | 11'(7:00000100) | fw-connected | C | 387 +-----------------+--------------+------------+ 388 | 2 (0:00000010) | local-decap | | 389 +-----------------+--------------+------------+ 391 Figure 7: BIER-TE BIFT on BFR F 393 The BIER-TE BIFT on BFR G (i.e., node G) is shown in Figure 8. There 394 are four forward connected adjacencies of G. They are the 395 adjacencies from G to B (represented by BP 3'), G to C (represented 396 by BP 13'), G to H (represented by BP 15') and G to D (represented by 397 BP 16') respectively. The BIFT on G has four forwarding entries for 398 these adjacencies. 400 +-----------------+--------------+------------+ 401 | Adjacency BP | Action | BFR-NBR | 402 | (SI:BitString) | | (Next Hop) | 403 +=================+==============+============+ 404 | 3'(6:00000100) | fw-connected | B | 405 +-----------------+--------------+------------+ 406 | 13'(7:00010000) | fw-connected | C | 407 +-----------------+--------------+------------+ 408 | 15'(7:01000000) | fw-connected | H | 409 +-----------------+--------------+------------+ 410 | 16'(7:10000000) | fw-connected | D | 411 +-----------------+--------------+------------+ 413 Figure 8: BIER-TE BIFT on BFR G 415 The BIER-TE BIFT on BFR H (i.e., node H) is shown in Figure 9. There 416 are four adjacencies of H. Three of them are the forward connected 417 adjacencies from H to C (represented by BP 13'), H to G (represented 418 by BP 14') and H to D (represented by BP 16') respectively; the other 419 is the local decap adjacency (represented by BP 4) for BFER (i.e., 420 egress) H. The BIFT on H has four forwarding entries for these 421 adjacencies. 423 +-----------------+--------------+------------+ 424 | Adjacency BP | Action | BFR-NBR | 425 | (SI:BitString) | | (Next Hop) | 426 +=================+==============+============+ 427 | 13'(7:00010000) | fw-connected | C | 428 +-----------------+--------------+------------+ 429 | 14'(7:00100000) | fw-connected | G | 430 +-----------------+--------------+------------+ 431 | 16'(7:10000000) | fw-connected | D | 432 +-----------------+--------------+------------+ 433 | 4 (0:00001000) | local-decap | | 434 +-----------------+--------------+------------+ 436 Figure 9: BIER-TE BIFT on BFR H 438 2.3. Example P2MP Path with LAN 440 This section presents the forwarding behaviors along an explicit P2MP 441 path in Figure 1 going through the LAN in the figure. 443 The explicit P2MP path traverses the link/adjacency from A to B 444 (indicated by BP 2'), the link/adjacency from B to G (indicated by BP 445 4') and the link/adjacency from B to C (indicated by BP 6'), the 446 link/adjacency from G to H (indicated by BP 15'), and the link/ 447 adjacency from C to F (indicated by BP 12'). This path is 448 represented by {2', 4', 6', 12', 15', 2, 4}. The packet at A has 449 this path. 451 For the packet with the P2MP path, A forwards the packet to B 452 according to the forwarding entry for BP 2' in its BIFT. 454 After receiving the packet from A, B forwards the packet to G and C 455 according to the forwarding entries for BPs 4' and 6' in B's BIFT 456 respectively. The packet received by G has path {12', 15', 2, 4}. 457 The packet received by C has path {12', 15', 2, 4}. 459 After receiving the packet from B, G sends the packet to H according 460 to the forwarding entry for BP 15' in G's BIFT. 462 After receiving the packet from B, C copies and sends the packet to H 463 and F according to the forwarding entries for BPs 15' and 12' in C's 464 BIFT respectively. 466 Egress node H of the P2MP path receives the duplicated packets. One 467 packet is from G, and the same copy is from C. 469 The solution proposed for LANs in this document resolve this issue. 470 For a packet with an explicit P2MP path traversing LANs (i.e., 471 broadcast links), the packet is replicated and forwarded statelessly 472 along the path. Each of the egress nodes of the path will not 473 receive any duplicated packet. 475 3. Improved BIER-TE with LAN 477 3.1. New BP Assignments for LAN 479 For all the nodes/BFRs attached to a LAN (i.e., broadcast link), it 480 is assumed that they are connected a pseudo node. In one 481 implementation, the pseudo node is the Designated Router (DR) of the 482 LAN in OSPF or the Designated Intermediate System (DIS) of the LAN in 483 IS-IS. 485 For the connection between the pseudo node and each of the nodes/BFRs 486 attached to a LAN, two BPs are assigned to it. One is for the 487 adjacency from the BFR to the pseudo node, the other is for the 488 adjacency from the pseudo node to the BFR. 490 The adjacency from a BFR to the pseudo node is called a LAN 491 adjacency. The adjacency from the pseudo node to a BFR is a forward 492 connected adjacency. 494 For example, suppose that the pseudo node for the LAN in Figure 1 is 495 Px. The BP assignments for the LAN (i.e., connections between Px and 496 BFRs C, G, H and D) are illustrated in Figure 10. 498 4' 4 499 /-----------( G )---------+ ( H ) 500 / 15' | ________/ 501 / 16'| /18' 17' 502 /3' _________ Px 503 1' 2' / 6' /13' 14' |20' 19' 504 ( A )------------( B )--------------( C ) +---------( D ) 505 5 7'\ 5' \11' 1 506 \ \ 507 \ \ 508 \8' 10' \12' 509 ( E )--------------( F ) 510 3 9' 2 512 Figure 10: Example BIER-TE Topology with BPs for LAN 514 The connection/adjacency from Px to C is assigned BP 13', and the 515 connection/adjacency from C to Px is assigned BP 14'. 517 The connection/adjacency from Px to G is assigned BP 15', and the 518 connection/adjacency from G to Px is assigned BP 16'. 520 The connection/adjacency from Px to H is assigned BP 17', and the 521 connection/adjacency from H to Px is assigned BP 18'. 523 The connection/adjacency from Px to D is assigned BP 19', and the 524 connection/adjacency from D to Px is assigned BP 20'. 526 In an alternative, all the nodes/BFRs attached to a LAN are assumed 527 fully connected each other (i.e., they are fully meshed). For a 528 connection between any two BFRs on the LAN, two forward connected 529 adjacencies are assigned to the two ends of the connection. 531 For example, there are four BFRs C, G, H and D attached to the LAN in 532 Figure 1. There are six connections among these four BFRs. They are 533 connections between C and G, C and H, C and D, G and H, G and D, H 534 and D. Twelve BPs are needed for these six connections. 536 In general, for n BFRs attached to a LAN, there are n*(n-1)/2 537 connections among these n BFRs and n*(n-1) BPs are needed for these 538 connections. This may not be scalable. But for this alternative, 539 the BIER-TE BIFT on a BFR needs not to be changed except for 540 considering the full mesh connections among the BFRs attached to a 541 LAN. 543 3.2. Improved BIER-TE BIFT on BFR 545 Each BFR in a BIER-TE domain has a BIER-TE BIFT. For a BFR not 546 attached to any LAN, the BIER-TE BIFT on the BFR is the same as 547 before. For a BFR attached to a LAN, its BIER-TE BIFT is changed for 548 considering the LAN. 550 For example, BFRs C, G, H and D are attached to a LAN in Figure 1. 551 The BIER-TE BIFT on each of these four BFRs is changed for the new BP 552 assignments for the LAN in Figure 10. 554 For a BFR attached to a LAN, suppose that the pseudo node for the LAN 555 is Px. The improved BIER-TE BIFT on the BFR comprises a forwarding 556 entry for the LAN adjacency from the BFR to Px and a secondary BIFT 557 for Px. The secondary BIFT for Px on the BFR contains a forwarding 558 entry for each of the forward connected adjacencies from Px to the 559 BFRs attached to the LAN except for the adjacency from Px to the BFR. 561 For example, the improved BIER-TE BIFT on BFR C is illustrated in 562 Figure 11. It comprises the forwarding entry for the LAN adjacency 563 from C to Px (indicated by BP 14') and the secondary BIFT for Px on 564 BFR C. The secondary BIFT contains three forwarding entries for 565 three forward connected adjacencies from Px to G (indicated by 15'), 566 Px to H (indicated by 17') and Px to D (indicated by 19') 567 respectively. 569 +-----------------+--------------+------------+ 570 | Adjacency BP | Action | BFR-NBR | 571 | (SI:BitString) | | (Next Hop) | 572 +=================+==============+============+ 573 | 15'(7:01000000) | fw-connected | G | 574 +-----------------+--------------+------------+ 575 | 17'(8:00000001) | fw-connected | H | 576 +-----------------+--------------+------------+ 577 | 19'(8:00000100) | fw-connected | D | 578 +-----------------+--------------+------------+ 579 Secondary BIFT for Px on BFR C 581 +-----------------+--------------+------------+ 582 | Adjacency BP | Action | BFR-NBR | 583 | (SI:BitString) | | (Next Hop) | 584 +=================+==============+============+ 585 | 5'(6:00010000) | fw-connected | B | 586 +-----------------+--------------+------------+ 587 | 12'(7:00001000) | fw-connected | F | 588 +-----------------+--------------+------------+ 589 | 14'(7:00100000) |lan-connected | Px | 590 +-----------------+--------------+------------+ 592 Figure 11: Improved BIER-TE BIFT on BFR C 594 The improved BIER-TE BIFT on BFR G is illustrated in Figure 12. It 595 comprises the forwarding entry for the LAN adjacency from G to Px 596 (indicated by BP 16') and the secondary BIFT for Px on BFR G. The 597 secondary BIFT contains three forwarding entries for three forward 598 connected adjacencies from Px to C (indicated by 13'), Px to H 599 (indicated by 17') and Px to D (indicated by 19') respectively. 601 +-----------------+--------------+------------+ 602 | Adjacency BP | Action | BFR-NBR | 603 | (SI:BitString) | | (Next Hop) | 604 +=================+==============+============+ 605 | 13'(7:00010000) | fw-connected | C | 606 +-----------------+--------------+------------+ 607 | 17'(8:00000001) | fw-connected | H | 608 +-----------------+--------------+------------+ 609 | 19'(8:00000100) | fw-connected | D | 610 +-----------------+--------------+------------+ 611 Secondary BIFT for Px on BFR G 613 +-----------------+--------------+------------+ 614 | Adjacency BP | Action | BFR-NBR | 615 | (SI:BitString) | | (Next Hop) | 616 +=================+==============+============+ 617 | 3'(6:00000100) | fw-connected | B | 618 +-----------------+--------------+------------+ 619 | 16'(7:00100000) |lan-connected | Px | 620 +-----------------+--------------+------------+ 622 Figure 12: Improved BIER-TE BIFT on BFR G 624 The improved BIER-TE BIFT on BFR H is illustrated in Figure 13. It 625 comprises the forwarding entry for the LAN adjacency from H to Px 626 (indicated by BP 18') and the secondary BIFT for Px on BFR H. The 627 secondary BIFT contains three forwarding entries for three forward 628 connected adjacencies from Px to C (indicated by 13'), Px to G 629 (indicated by 15') and Px to D (indicated by 19') respectively. 631 +-----------------+--------------+------------+ 632 | Adjacency BP | Action | BFR-NBR | 633 | (SI:BitString) | | (Next Hop) | 634 +=================+==============+============+ 635 | 13'(7:00010000) | fw-connected | C | 636 +-----------------+--------------+------------+ 637 | 15'(7:01000000) | fw-connected | G | 638 +-----------------+--------------+------------+ 639 | 19'(8:00000100) | fw-connected | D | 640 +-----------------+--------------+------------+ 641 Secondary BIFT for Px on BFR H 643 +-----------------+--------------+------------+ 644 | Adjacency BP | Action | BFR-NBR | 645 | (SI:BitString) | | (Next Hop) | 646 +=================+==============+============+ 647 | 4 (0:00001000) | local-decap | | 648 +-----------------+--------------+------------+ 649 | 18'(8:00000010) |lan-connected | Px | 650 +-----------------+--------------+------------+ 652 Figure 13: Improved BIER-TE BIFT on BFR H 654 The improved BIER-TE BIFT on BFR D is illustrated in Figure 14. It 655 comprises the forwarding entry for the LAN adjacency from D to Px 656 (indicated by BP 20') and the secondary BIFT for Px on BFR D. The 657 secondary BIFT contains three forwarding entries for three forward 658 connected adjacencies from Px to C (indicated by 13'), Px to G 659 (indicated by 15') and Px to H (indicated by 17') respectively. 661 +-----------------+--------------+------------+ 662 | Adjacency BP | Action | BFR-NBR | 663 | (SI:BitString) | | (Next Hop) | 664 +=================+==============+============+ 665 | 13'(7:00010000) | fw-connected | C | 666 +-----------------+--------------+------------+ 667 | 15'(7:01000000) | fw-connected | G | 668 +-----------------+--------------+------------+ 669 | 17'(8:00000001) | fw-connected | H | 670 +-----------------+--------------+------------+ 671 Secondary BIFT for Px on BFR D 673 +-----------------+--------------+------------+ 674 | Adjacency BP | Action | BFR-NBR | 675 | (SI:BitString) | | (Next Hop) | 676 +=================+==============+============+ 677 | 1 (0:00000001) | local-decap | | 678 +-----------------+--------------+------------+ 679 | 20'(8:00000001) |lan-connected | Px | 680 +-----------------+--------------+------------+ 682 Figure 14: Improved BIER-TE BIFT on BFR D 684 3.3. Updated Forwarding Procedure 686 The forwarding procedure defined in [I-D.ietf-bier-te-arch] is 687 updated/enhanced for using an improved BIER-TE BIFT to support BIER- 688 TE with LAN. 690 The updated procedure is described in Figure 15. For a multicast 691 packet containing the BitString encoding an explicit P2MP path, if 692 the BP in the BitString is for a LAN adjacency to pseudo node Px for 693 the LAN, the updated forwarding procedure on a BFR sends the packet 694 towards Px's next hop nodes on the P2MP path encoded in the packet. 696 The procedure on a BFR "sends" (i.e., works as sending) the packet 697 with the BP for the LAN adjacency to Px according to the forwarding 698 entry for the BP in the improved BIER-TE BIFT on the BFR. And then 699 it acts on Px to "send" (i.e., works as sending) the packet to each 700 of the Px's next hop nodes that are on the P2MP path using the 701 secondary BIFT for Px. 703 It obtains the secondary BIFT for Px on the BFR, clears all the BPs 704 for the adjacencies of the BFR including the adjacency from the BFR 705 to Px, copies and sends the packet to each of the Px's next hop nodes 706 on the P2MP path using the secondary BIFT for Px. 708 For each Px's next hop node on the P2MP path, which is represented by 709 BP j in the packet's BitString, it gets the forwarding entry for BP j 710 from the secondary BIFT for Px, copies the packet, updates the copy's 711 BitString by clearing all the BPs for Px's adjacencies, and sends the 712 updated copy to the next hop node according to the forwarding entry. 714 Packet = the packet received by BFR; 715 FOR each BP k (from the rightmost in Packet's BitString) { 716 IF BP k is local decap adjacency (or say BP of BFER) { 717 Copies Packet, sends the copy to the multicast 718 flow overlay and clears bit k in Packet's BitString 719 } ELSE IF BP k is forward connected adjacency of the BFR { 720 Finds the forwarding entry in the BIER-TE BIFT using BP k, 721 Copies Packet, updates the copy's BitString by 722 clearing all the BPs for the adjacencies of the BFR, 723 and sends the updated copy to BFR-NBR 724 } ELSE IF BP k is LAN adjacency to Px { 725 Obtains the secondary BIFT for Px, 726 Clears all the BPs for the adjacencies of the BFR, 727 FOR each BP j (from the rightmost in Packet's BitString) { 728 IF BP j is Px's forward connected adjacency { 729 Gets the forwarding entry for BP j in the 730 secondary BIFT for Px, 731 Copies Packet, updates the copy's BitString by 732 clearing all the BPs for Px's adjacencies, 733 and sends the updated copy to BFR-NBR 734 } 735 } 736 } 737 } 739 Figure 15: Updated Forwarding Procedure 741 4. Example Application of Improved BIER-TE 743 This section illustrates an example application of improved BIER-TE 744 to Figure 1. It shows the forwarding behaviors along an explicit 745 P2MP path in Figure 10 going through the LAN in the figure. 747 The new BP assignments for the LAN in Figure 1 is shown in Figure 10. 748 The improved BIER-TE BIFT on each of the BFRs attached to the LAN is 749 given in Section 3.2. 751 The explicit P2MP path traverses the link/adjacency from A to B 752 (indicated by BP 2'), the link/adjacency from B to G (indicated by BP 753 4') and the link/adjacency from B to C (indicated by BP 6'), the 754 link/adjacency from G to Px (indicated by BP 16'), the link/adjacency 755 from C to F (indicated by BP 12'), and the link/adjacency from Px to 756 H (indicated by BP 17'). This path is represented by {2', 4', 6', 757 12', 16', 17', 2, 4}. The packet at A has this path. 759 For the packet with the P2MP path, A forwards the packet to B 760 according to the forwarding entry for BP 2' in its BIFT. 762 After receiving the packet from A, B forwards the packet to G and C 763 according to the forwarding entries for BPs 4' and 6' in B's BIFT 764 respectively. The packet received by G has path {12', 16', 17', 2, 765 4}. The packet received by C has path {12', 16', 17', 2, 4}. 767 After receiving the packet from B, G "sends" the packet to Px 768 according to the forwarding entry for BP 16' in G's improved BIER-TE 769 BIFT. After receiving the packet from G, which has path {12', 17', 770 2, 4}, Px "sends" the packet to H according to the forwarding entry 771 for BP 17' in the secondary BIFT for Px (a part of G's improved BIER- 772 TE BIFT). 774 After receiving the packet from G, which has path {12', 2, 4}, H 775 decapsulates the packet and passes a copy of the payload of the 776 packet to the packet's NextProto within node H according to the 777 forwarding entry for BP 4 in H's improved BIER-TE BIFT. 779 After receiving the packet from B, which has path {12', 16', 17', 2, 780 4}, C sends the packet to F according to the forwarding entry for BP 781 12' in C's improved BIER-TE BIFT. 783 After receiving the packet from C, which has path {16', 17', 2, 4}, F 784 decapsulates the packet and passes a copy of the payload of the 785 packet to the packet's NextProto within node F according to the 786 forwarding entry for BP 2 in F's BIER-TE BIFT. 788 Egress node H of the P2MP path does not receive any duplicated 789 packet. 791 5. Security Considerations 793 TBD. 795 6. IANA Considerations 797 No requirements for IANA. 799 7. Acknowledgements 801 The authors would like to thank people for their comments to this 802 work. 804 8. References 806 8.1. Normative References 808 [I-D.ietf-bier-te-arch] 809 Eckert, T., Cauchie, G., and M. Menth, "Tree Engineering 810 for Bit Index Explicit Replication (BIER-TE)", Work in 811 Progress, Internet-Draft, draft-ietf-bier-te-arch-10, 9 812 July 2021, . 815 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 816 Requirement Levels", BCP 14, RFC 2119, 817 DOI 10.17487/RFC2119, March 1997, 818 . 820 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 821 IANA Considerations Section in RFCs", RFC 5226, 822 DOI 10.17487/RFC5226, May 2008, 823 . 825 [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The 826 OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250, 827 July 2008, . 829 [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for 830 IP Fast Reroute: Loop-Free Alternates", RFC 5286, 831 DOI 10.17487/RFC5286, September 2008, 832 . 834 [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", 835 RFC 5714, DOI 10.17487/RFC5714, January 2010, 836 . 838 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 839 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 840 . 842 [RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding 843 Scope Link State PDUs (LSPs)", RFC 7356, 844 DOI 10.17487/RFC7356, September 2014, 845 . 847 [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. 848 So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", 849 RFC 7490, DOI 10.17487/RFC7490, April 2015, 850 . 852 [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., 853 Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute 854 Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 855 2015, . 857 [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and 858 S. Shaffer, "Extensions to OSPF for Advertising Optional 859 Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, 860 February 2016, . 862 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 863 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 864 May 2017, . 866 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 867 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 868 Explicit Replication (BIER)", RFC 8279, 869 DOI 10.17487/RFC8279, November 2017, 870 . 872 [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., 873 and A. Dolganow, "Multicast VPN Using Bit Index Explicit 874 Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April 875 2019, . 877 8.2. Informative References 879 [I-D.eckert-bier-te-frr] 880 Eckert, T., Cauchie, G., Braun, W., and M. Menth, 881 "Protection Methods for BIER-TE", Work in Progress, 882 Internet-Draft, draft-eckert-bier-te-frr-03, 5 March 2018, 883 . 886 [I-D.ietf-rtgwg-segment-routing-ti-lfa] 887 Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., 888 Decraene, B., and D. Voyer, "Topology Independent Fast 889 Reroute using Segment Routing", Work in Progress, 890 Internet-Draft, draft-ietf-rtgwg-segment-routing-ti-lfa- 891 07, 29 June 2021, . 894 [I-D.ietf-spring-segment-protection-sr-te-paths] 895 Hegde, S., Bowers, C., Litkowski, S., Xu, X., and F. Xu, 896 "Segment Protection for SR-TE Paths", Work in Progress, 897 Internet-Draft, draft-ietf-spring-segment-protection-sr- 898 te-paths-01, 11 July 2021, 899 . 902 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 903 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 904 for Bit Index Explicit Replication (BIER) in MPLS and Non- 905 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 906 2018, . 908 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 909 Zhang, "Bit Index Explicit Replication (BIER) Support via 910 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 911 . 913 [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., 914 Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 915 Extensions for Bit Index Explicit Replication (BIER)", 916 RFC 8444, DOI 10.17487/RFC8444, November 2018, 917 . 919 Authors' Addresses 921 Huaimo Chen 922 Futurewei 923 Boston, MA, 924 United States of America 926 Email: Huaimo.chen@futurewei.com 928 Mike McBride 929 Futurewei 931 Email: michael.mcbride@futurewei.com 933 Aijun Wang 934 China Telecom 935 Beiqijia Town, Changping District 936 Beijing 937 102209 938 China 939 Email: wangaj3@chinatelecom.cn 941 Gyan S. Mishra 942 Verizon Inc. 943 13101 Columbia Pike 944 Silver Spring, MD 20904 945 United States of America 947 Phone: 301 502-1347 948 Email: gyan.s.mishra@verizon.com 950 Lei Liu 951 Fujitsu 952 United States of America 954 Email: liulei.kddi@gmail.com 956 Xufeng Liu 957 Volta Networks 958 McLean, VA 959 United States of America 961 Email: xufeng.liu.ietf@gmail.com