idnits 2.17.00 (12 Aug 2021) /tmp/idnits53442/draft-chen-bier-te-lan-03.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 document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (24 February 2022) is 79 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 872, but no explicit reference was found in the text == Unused Reference: 'RFC5250' is defined on line 877, but no explicit reference was found in the text == Unused Reference: 'RFC5286' is defined on line 881, but no explicit reference was found in the text == Unused Reference: 'RFC5714' is defined on line 886, but no explicit reference was found in the text == Unused Reference: 'RFC5880' is defined on line 890, but no explicit reference was found in the text == Unused Reference: 'RFC7356' is defined on line 894, but no explicit reference was found in the text == Unused Reference: 'RFC7490' is defined on line 899, but no explicit reference was found in the text == Unused Reference: 'RFC7684' is defined on line 904, but no explicit reference was found in the text == Unused Reference: 'RFC7770' is defined on line 909, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 918, but no explicit reference was found in the text == Unused Reference: 'RFC8556' is defined on line 924, but no explicit reference was found in the text == Unused Reference: 'I-D.eckert-bier-te-frr' is defined on line 931, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-rtgwg-segment-routing-ti-lfa' is defined on line 938, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-protection-sr-te-paths' is defined on line 946, but no explicit reference was found in the text == Unused Reference: 'RFC8296' is defined on line 954, but no explicit reference was found in the text == Unused Reference: 'RFC8401' is defined on line 960, but no explicit reference was found in the text == Unused Reference: 'RFC8444' is defined on line 965, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-bier-te-arch-12 ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Downref: Normative reference to an Informational RFC: RFC 5714 == Outdated reference: A later version (-03) exists of draft-ietf-spring-segment-protection-sr-te-paths-02 Summary: 2 errors (**), 0 flaws (~~), 20 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: 28 August 2022 A. Wang 6 China Telecom 7 G. Mishra 8 Verizon Inc. 9 L. Liu 10 Fujitsu 11 X. Liu 12 Volta Networks 13 24 February 2022 15 BIER-TE for Broadcast Link 16 draft-chen-bier-te-lan-03 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 28 August 2022. 50 Copyright Notice 52 Copyright (c) 2022 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 Revised BSD License text as 61 described in Section 4.e of the Trust Legal Provisions and are 62 provided without warranty as described in the Revised 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 . . . . . . . . . . . . . . . . . . 12 73 3.1. New BP Assignments for LAN . . . . . . . . . . . . . . . 12 74 3.2. Improved BIER-TE BIFT on BFR . . . . . . . . . . . . . . 13 75 3.3. Updated Forwarding Procedure . . . . . . . . . . . . . . 17 76 4. Example Application of Improved BIER-TE . . . . . . . . . . . 18 77 5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 79 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 80 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 81 8.1. Normative References . . . . . . . . . . . . . . . . . . 20 82 8.2. Informative References . . . . . . . . . . . . . . . . . 21 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 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 9 nodes/BFRs A, B, C, D, E, F, G, H and K. 161 Nodes/BFRs D, F, E, H, A and K are BFERs and have local decap 162 adjacency BitPositions (BPs for short) 1, 2, 3, 4, 5 and 6 163 respectively. For simplicity, these BPs are represented by 164 (SI:BitString), where SI = 0 and BitString is of 8 bits. BPs 1, 2, 165 3, 4, 5 and 6 are represented by 1 (0:00000001), 2 (0:00000010), 3 166 (0:00000100), 4 (0:00001000), 5 (0:00010000) and 6 (0:00100000) 167 respectively. 169 6 170 ( K ) 171 /14' 172 / 173 4' /13' | 4 174 /-----------( G )--------+ ( H ) 175 / 16' |________/ 176 / | 17' 177 /3' _________| 178 5 1' 2' / 6' /15' | 18' 179 ( A )------------( B )--------------( C ) +--------( D ) 180 \10' 7'\ 5' \11' | 1 181 \ \ \ LAN 182 \ \ \ 183 \ 9' \8' \12' 184 \--------------( E ) ( F ) 185 3 2 187 Figure 1: Example BIER-TE Topology with BP to BFR on LAN 189 The BitPositions for the forward connected adjacencies are 190 represented by i', where i is from 1 to 18. In one option, they are 191 encoded as (n+i), where n is a power of 2 such as 32768. For 192 simplicity, these BitPositions are represented by (SI:BitString), 193 where SI = (6 + (i-1)/8) and BitString is of 8 bits. BitPositions i' 194 (i from 1 to 18) are represented by 1'(6:00000001), 2'(6:00000010), 195 3'(6:00000100), 4'(6:00001000), 5'(6:00010000), 6'(6:00100000), 196 7'(6:01000000), 8'(6:10000000), 9'(7:00000001), 10'(7:00000010), . . 197 . , 16'(7:10000000), 17'(8:00000001), 18'(8:00000010). 199 For a link between two nodes X and Y, there are two BitPositions for 200 two forward connected adjacencies. These two forward connected 201 adjacency BitPositions are assigned on nodes X and Y respectively. 202 The BitPosition assigned on X is the forward connected adjacency of 203 Y. The BitPosition assigned on Y is the forward connected adjacency 204 of X. 206 For example, for the link between nodes B and C in the figure, two 207 forward connected adjacency BitPositions 5' and 6' are assigned to 208 two ends of the link. BitPosition 5' is assigned on node B to B's 209 end of the link. It is the forward connected adjacency of node C. 210 BitPosition 6' is assigned on node C to C's end of the link. It is 211 the forward connected adjacency of node B. 213 For a LAN (i.e., broadcast link) connecting nodes X1, X2, ..., Xm, 214 there are m BitPositions for m forward connected adjacencies. These 215 m forward connected adjacency BitPositions are assigned on nodes X1, 216 X2, ..., Xm respectively. 218 For the LAN connecting 4 nodes C, G, H and D in the figure, 4 forward 219 connected adjacency BitPositions 15', 16', 17' and 18' are assigned 220 to C, G, H and D respectively. 222 2.2. BIER-TE BIFT on BFR 224 Every BFR in a BIER-TE domain/topology has a BIER-TE BIFT. This 225 section shows the BIER-TE BIFT on every BFR/node of the BIER-TE 226 topology with LAN in Figure 1. 228 For the BIER-TE topology in Figure 1, each of 9 nodes/BFRs A, B, C, 229 D, E, F, G, H and K has its BIER-TE BIFT for the topology. The BIFT 230 on a BFR comprises a forwarding entry for each of the adjacencies of 231 the BFR. 233 The BIER-TE BIFT on BFR A (i.e., node A) is shown in Figure 2. There 234 are three adjacencies of A. The 1st one is the forward connected 235 adjacency from A to B (represented by BP 2'); the 2nd is the forward 236 connected adjacency from A to E (represented by BP 9'); the 3rd is 237 the local decap adjacency (represented by BP 5) for BFER (i.e., 238 egress) A. The BIFT on A has three forwarding entries. 240 +-----------------+--------------+------------+ 241 | Adjacency BP | Action | BFR-NBR | 242 | (SI:BitString) | | (Next Hop) | 243 +=================+==============+============+ 244 | 2'(6:00000010) | fw-connected | B | 245 +-----------------+--------------+------------+ 246 | 9'(7:00000001) | fw-connected | E | 247 +-----------------+--------------+------------+ 248 | 5 (0:00010000) | local-decap | | 249 +-----------------+--------------+------------+ 251 Figure 2: BIER-TE BIFT on BFR A 253 The 1st forwarding entry in the BIFT is for BitPosition 2', which is 254 the forward connected adjacency from A to B. For a multicast packet 255 with BitPosition 2', which indicates that the P2MP path in the packet 256 traverses the adjacency from A to B, the forwarding entry forwards 257 the packet to B along the link from A to B. 259 The 2nd forwarding entry in the BIFT is for BitPosition 9', which is 260 the forward connected adjacency from A to E. For a multicast packet 261 with BitPosition 9', which indicates that the P2MP path in the packet 262 traverses the adjacency from A to E, the forwarding entry forwards 263 the packet to E along the link from A to E. 265 The 3rd forwarding entry in the BIFT locally decapsulates a multicast 266 packet with BitPosition 5 and passes a copy of the payload of the 267 packet to the packet's NextProto. It is for BitPosition 5, which is 268 the local decap adjacency for BFER (i.e., egress) A. For a multicast 269 packet with BitPosition 5, which indicates that the P2MP path in the 270 packet has node A as one of its destinations (i.e., egress nodes), 271 the forwarding entry decapsulates the packet and passes a copy of the 272 payload of the packet to the packet's NextProto within node A. 274 The BIER-TE BIFT on BFR B (i.e., node B) is shown in Figure 3. There 275 are four forward connected adjacencies of B. They are the forward 276 connected adjacencies from B to A (represented by BP 1'), B to G 277 (represented by BP 4'), B to C (represented by BP 6') and B to E 278 (represented by BP 8') respectively. The BIFT on B has four 279 forwarding entries for these adjacencies. 281 +----------------+--------------+------------+ 282 | Adjacency BP | Action | BFR-NBR | 283 | (SI:BitString) | | (Next Hop) | 284 +================+==============+============+ 285 | 1'(6:00000001) | fw-connected | A | 286 +----------------+--------------+------------+ 287 | 4'(6:00001000) | fw-connected | G | 288 +----------------+--------------+------------+ 289 | 6'(6:00100000) | fw-connected | C | 290 +----------------+--------------+------------+ 291 | 8'(6:10000000) | fw-connected | E | 292 +----------------+--------------+------------+ 294 Figure 3: BIER-TE BIFT on BFR B 296 The 1st forwarding entry in the BIFT is for BitPosition 1', which is 297 the forward connected adjacency from B to A. For a multicast packet 298 with BitPosition 1', which indicates that the P2MP path in the packet 299 traverses the adjacency from B to A, the forwarding entry forwards 300 the packet to A along the link from B to A. 302 The 2nd forwarding entry in the BIFT is for BitPosition 4', which is 303 the forward connected adjacency from B to G. For a multicast packet 304 with BitPosition 4', which indicates that the P2MP path in the packet 305 traverses the adjacency from B to G, the forwarding entry forwards 306 the packet to G along the link from B to G. 308 The 3rd forwarding entry in the BIFT is for BitPosition 6', which is 309 the forward connected adjacency from B to C. For a multicast packet 310 with BitPosition 6', which indicates that the P2MP path in the packet 311 traverses the adjacency from B to C, the forwarding entry forwards 312 the packet to C along the link from B to C. 314 The 4-th forwarding entry in the BIFT is for BitPosition 8', which is 315 the forward connected adjacency from B to E. For a multicast packet 316 with BitPosition 8', which indicates that the P2MP path in the packet 317 traverses the adjacency from B to E, the forwarding entry forwards 318 the packet to E along the link from B to E. 320 The BIER-TE BIFT on BFR C (i.e., node C) is shown in Figure 4. There 321 are five forward connected adjacencies of C. They are the forward 322 connected adjacencies from C to B (represented by BP 5'), C to F 323 (represented by BP 12'), C to G (represented by BP 14'), C to H 324 (represented by BP 15') and C to D (represented by BP 16') 325 respectively. The BIFT on C has five forwarding entries for these 326 adjacencies. 328 +-----------------+--------------+------------+ 329 | Adjacency BP | Action | BFR-NBR | 330 | (SI:BitString) | | (Next Hop) | 331 +=================+==============+============+ 332 | 5'(6:00010000) | fw-connected | B | 333 +-----------------+--------------+------------+ 334 | 12'(7:00001000) | fw-connected | F | 335 +-----------------+--------------+------------+ 336 | 16'(7:10000000) | fw-connected | G | 337 +-----------------+--------------+------------+ 338 | 17'(8:00000001) | fw-connected | H | 339 +-----------------+--------------+------------+ 340 | 18'(8:00000010) | fw-connected | D | 341 +-----------------+--------------+------------+ 343 Figure 4: BIER-TE BIFT on BFR C 345 The BIER-TE BIFT on BFR D (i.e., node D) is shown in Figure 5. There 346 are four adjacencies of D. Three of them are the forward connected 347 adjacencies from D to C (represented by BP 13'), D to G (represented 348 by BP 14') and D to H (represented by BP 15') respectively; the other 349 is the local decap adjacency (represented by BP 1) for BFER (i.e., 350 egress) D. The BIFT on D has four forwarding entries for these 351 adjacencies. 353 +-----------------+--------------+------------+ 354 | Adjacency BP | Action | BFR-NBR | 355 | (SI:BitString) | | (Next Hop) | 356 +=================+==============+============+ 357 | 15'(7:01000000) | fw-connected | C | 358 +-----------------+--------------+------------+ 359 | 16'(7:10000000) | fw-connected | G | 360 +-----------------+--------------+------------+ 361 | 17'(8:00000001) | fw-connected | H | 362 +-----------------+--------------+------------+ 363 | 1 (0:00000001) | local-decap | | 364 +-----------------+--------------+------------+ 366 Figure 5: BIER-TE BIFT on BFR D 368 The BIER-TE BIFT on BFR E (i.e., node E) is shown in Figure 6. There 369 are three adjacencies of E. Two of them are the forward connected 370 adjacencies from E to B (represented by BP 7') and E to A 371 (represented by BP 10') respectively; the other is the local decap 372 adjacency (represented by BP 3) for BFER (i.e., egress) E. The BIFT 373 on E has three forwarding entries for these adjacencies. 375 +-----------------+--------------+------------+ 376 | Adjacency BP | Action | BFR-NBR | 377 | (SI:BitString) | | (Next Hop) | 378 +=================+==============+============+ 379 | 7'(6:01000000) | fw-connected | B | 380 +-----------------+--------------+------------+ 381 | 10'(7:00000010) | fw-connected | A | 382 +-----------------+--------------+------------+ 383 | 3 (0:00000100) | local-decap | | 384 +-----------------+--------------+------------+ 386 Figure 6: BIER-TE BIFT on BFR E 388 The BIER-TE BIFT on BFR F (i.e., node F) is shown in Figure 7. There 389 are two adjacencies of F. The 1st one is the forward connected 390 adjacencies from F to C (represented by BP 11'); the 2nd is the local 391 decap adjacency (represented by BP 2) for BFER (i.e., egress) F. The 392 BIFT on F has two forwarding entries for these adjacencies. 394 +-----------------+--------------+------------+ 395 | Adjacency BP | Action | BFR-NBR | 396 | (SI:BitString) | | (Next Hop) | 397 +=================+==============+============+ 398 | 11'(7:00000100) | fw-connected | C | 399 +-----------------+--------------+------------+ 400 | 2 (0:00000010) | local-decap | | 401 +-----------------+--------------+------------+ 403 Figure 7: BIER-TE BIFT on BFR F 405 The BIER-TE BIFT on BFR G (i.e., node G) is shown in Figure 8. There 406 are four forward connected adjacencies of G. They are the 407 adjacencies from G to B (represented by BP 3'), G to C (represented 408 by BP 13'), G to H (represented by BP 15') and G to D (represented by 409 BP 16') respectively. The BIFT on G has four forwarding entries for 410 these adjacencies. 412 +-----------------+--------------+------------+ 413 | Adjacency BP | Action | BFR-NBR | 414 | (SI:BitString) | | (Next Hop) | 415 +=================+==============+============+ 416 | 3'(6:00000100) | fw-connected | B | 417 +-----------------+--------------+------------+ 418 | 14'(7:00100000) | fw-connected | K | 419 +-----------------+--------------+------------+ 420 | 15'(7:01000000) | fw-connected | C | 421 +-----------------+--------------+------------+ 422 | 17'(8:00000001) | fw-connected | H | 423 +-----------------+--------------+------------+ 424 | 18'(8:00000010) | fw-connected | D | 425 +-----------------+--------------+------------+ 427 Figure 8: BIER-TE BIFT on BFR G 429 The BIER-TE BIFT on BFR H (i.e., node H) is shown in Figure 9. There 430 are four adjacencies of H. Three of them are the forward connected 431 adjacencies from H to C (represented by BP 13'), H to G (represented 432 by BP 14') and H to D (represented by BP 16') respectively; the other 433 is the local decap adjacency (represented by BP 4) for BFER (i.e., 434 egress) H. The BIFT on H has four forwarding entries for these 435 adjacencies. 437 +-----------------+--------------+------------+ 438 | Adjacency BP | Action | BFR-NBR | 439 | (SI:BitString) | | (Next Hop) | 440 +=================+==============+============+ 441 | 15'(7:01000000) | fw-connected | C | 442 +-----------------+--------------+------------+ 443 | 16'(7:10000000) | fw-connected | G | 444 +-----------------+--------------+------------+ 445 | 18'(8:00000010) | fw-connected | D | 446 +-----------------+--------------+------------+ 447 | 4 (0:00001000) | local-decap | | 448 +-----------------+--------------+------------+ 450 Figure 9: BIER-TE BIFT on BFR H 452 2.3. Example P2MP Path with LAN 454 This section presents the issue about receiving duplicated packets at 455 BFER H for any explicit P2MP path/tree from BFIR A to BFERs K, H and 456 F in Figure 1 with minimum height of the tree, which is 3 (hops). 457 Any path will go through the LAN in order to reach BFER H. 459 There are only following explicit P2MP paths from A to K, H and D. 461 K K 462 /14' H /14' 463 / |___/17' / H 464 G---------| G |____/17' 465 /4' LAN /4' _| 466 2' / 6' 2' / 6' / | 467 A--------B----------C A--------B----------C LAN 468 \ \ 469 \12' \12' 470 F F 472 Path 1 from A to K, H and F Path 2 from A to K, H and F 474 Figure 10: All explicit paths with height 3 from A to K,H and F 476 Path 1 and path 2 are represented by {2', 4', 6', 12', 14', 17', 2, 477 4, 6}. Path 1 traverses the link/adjacency from A to B (indicated by 478 BP 2'), the link/adjacency from B to G (indicated by BP 4'), the 479 link/adjacency from B to C (indicated by BP 6'), the link/adjacency 480 from G to K (indicated by BP 14'), the link/adjacency from G to H 481 (indicated by BP 17') [the link/adjacency from C to H (also indicated 482 by BP 17') for Path 2], and the link/adjacency from C to F (indicated 483 by BP 12'). Path 1 is represented by {2', 4', 6', 12', 14', 17', 2, 484 4, 6}. Path 2 has the same representation. The packet at A has this 485 representation. 487 For the packet with the P2MP path, A forwards the packet to B 488 according to the forwarding entry for BP 2' in its BIFT. 490 After receiving the packet from A, B forwards the packet to G and C 491 according to the forwarding entries for BPs 4' and 6' in B's BIFT 492 respectively. The packet received by G has path {12', 14', 17', 2, 493 4, 6}. The packet received by C has path {12', 14', 17', 2, 4, 6}. 495 After receiving the packet from B, G sends a copy of the packet to K 496 according to the forwarding entry for BP 14' in G's BIFT, and another 497 copy of the packet to H according to the forwarding entry for BP 17' 498 in G's BIFT. 500 After receiving the packet from B, C copies and sends the packet to H 501 and F according to the forwarding entries for BPs 17' and 12' in C's 502 BIFT respectively. 504 Egress node H of the P2MP path receives the duplicated packets. One 505 packet is from G, and the same copy is from C. 507 The solution proposed for LANs in this document resolve this issue. 508 For a packet with an explicit P2MP path traversing LANs (i.e., 509 broadcast links), the packet is replicated and forwarded statelessly 510 along the path. Each of the egress nodes of the path will not 511 receive any duplicated packet. 513 3. Improved BIER-TE with LAN 515 3.1. New BP Assignments for LAN 517 For all the nodes/BFRs attached to a LAN (i.e., broadcast link), it 518 is assumed that they are connected a pseudo node. In one 519 implementation, the pseudo node is the Designated Router (DR) of the 520 LAN in OSPF or the Designated Intermediate System (DIS) of the LAN in 521 IS-IS. 523 For the connection between the pseudo node and each of the nodes/BFRs 524 attached to a LAN, two BPs are assigned to it. One is for the 525 adjacency from the BFR to the pseudo node, the other is for the 526 adjacency from the pseudo node to the BFR. 528 The adjacency from a BFR to the pseudo node is called a LAN 529 adjacency. The adjacency from the pseudo node to a BFR is a forward 530 connected adjacency. 532 For example, suppose that the pseudo node for the LAN in Figure 1 is 533 Px. The BP assignments for the LAN (i.e., connections between Px and 534 BFRs C, G, H and D) are illustrated in Figure 11. 536 6 537 ( K ) 538 /14' 539 / 540 4' /13' | 4 541 /-----------( G )---------+ ( H ) 542 / 17' | ________/ 543 / 18'| /20' 19' 544 /3' _________ Px 545 5 1' 2' / 6' /15' 16' |22' 21' 546 ( A )------------( B )--------------( C ) +---------( D ) 547 \10' 7'\ 5' \11' 1 548 \ \ \ 549 \ \ \ 550 \ 9' \8' \12' 551 \--------------( E ) ( F ) 552 3 2 554 Figure 11: Example BIER-TE Topology with BPs for LAN 556 The connection/adjacency from Px to C is assigned BP 15', and the 557 connection/adjacency from C to Px is assigned BP 16'. 559 The connection/adjacency from Px to G is assigned BP 17', and the 560 connection/adjacency from G to Px is assigned BP 18'. 562 The connection/adjacency from Px to H is assigned BP 19', and the 563 connection/adjacency from H to Px is assigned BP 20'. 565 The connection/adjacency from Px to D is assigned BP 21', and the 566 connection/adjacency from D to Px is assigned BP 22'. 568 In an alternative, all the nodes/BFRs attached to a LAN are assumed 569 fully connected each other (i.e., they are fully meshed). For a 570 connection between any two BFRs on the LAN, two forward connected 571 adjacencies are assigned to the two ends of the connection. 573 For example, there are four BFRs C, G, H and D attached to the LAN in 574 Figure 1. There are six connections among these four BFRs. They are 575 connections between C and G, C and H, C and D, G and H, G and D, H 576 and D. Twelve BPs are needed for these six connections. 578 In general, for n BFRs attached to a LAN, there are n*(n-1)/2 579 connections among these n BFRs and n*(n-1) BPs are needed for these 580 connections. This may not be scalable. But for this alternative, 581 the BIER-TE BIFT on a BFR needs not to be changed except for 582 considering the full mesh connections among the BFRs attached to a 583 LAN. 585 3.2. Improved BIER-TE BIFT on BFR 587 Each BFR in a BIER-TE domain has a BIER-TE BIFT. For a BFR not 588 attached to any LAN, the BIER-TE BIFT on the BFR is the same as 589 before. For a BFR attached to a LAN, its BIER-TE BIFT is changed for 590 considering the LAN. 592 For example, BFRs C, G, H and D are attached to a LAN in Figure 1. 593 The BIER-TE BIFT on each of these four BFRs is changed for the new BP 594 assignments for the LAN in Figure 11. 596 For a BFR attached to a LAN, suppose that the pseudo node for the LAN 597 is Px. The improved BIER-TE BIFT on the BFR comprises a forwarding 598 entry for the LAN adjacency from the BFR to Px and a secondary BIFT 599 for Px. The secondary BIFT for Px on the BFR contains a forwarding 600 entry for each of the forward connected adjacencies from Px to the 601 BFRs attached to the LAN except for the adjacency from Px to the BFR. 603 For example, the improved BIER-TE BIFT on BFR C is illustrated in 604 Figure 12. It comprises the forwarding entry for the LAN adjacency 605 from C to Px (indicated by BP 16') and the secondary BIFT for Px on 606 BFR C. The secondary BIFT contains three forwarding entries for 607 three forward connected adjacencies from Px to G (indicated by 17'), 608 Px to H (indicated by 19') and Px to D (indicated by 21') 609 respectively. 611 +-----------------+--------------+------------+ 612 | Adjacency BP | Action | BFR-NBR | 613 | (SI:BitString) | | (Next Hop) | 614 +=================+==============+============+ 615 | 17'(8:00000001) | fw-connected | G | 616 +-----------------+--------------+------------+ 617 | 19'(8:00000100) | fw-connected | H | 618 +-----------------+--------------+------------+ 619 | 21'(8:00010000) | fw-connected | D | 620 +-----------------+--------------+------------+ 621 Secondary BIFT for Px on BFR C 623 +-----------------+--------------+------------+ 624 | Adjacency BP | Action | BFR-NBR | 625 | (SI:BitString) | | (Next Hop) | 626 +=================+==============+============+ 627 | 5'(6:00010000) | fw-connected | B | 628 +-----------------+--------------+------------+ 629 | 12'(7:00001000) | fw-connected | F | 630 +-----------------+--------------+------------+ 631 | 16'(7:10000000) |lan-connected | Px | 632 +-----------------+--------------+------------+ 634 Figure 12: Improved BIER-TE BIFT on BFR C 636 The improved BIER-TE BIFT on BFR G is illustrated in Figure 13. It 637 comprises the forwarding entry for the LAN adjacency from G to Px 638 (indicated by BP 18') and the secondary BIFT for Px on BFR G. The 639 secondary BIFT contains three forwarding entries for three forward 640 connected adjacencies from Px to C (indicated by 15'), Px to H 641 (indicated by 19') and Px to D (indicated by 21') respectively. 643 +-----------------+--------------+------------+ 644 | Adjacency BP | Action | BFR-NBR | 645 | (SI:BitString) | | (Next Hop) | 646 +=================+==============+============+ 647 | 15'(7:01000000) | fw-connected | C | 648 +-----------------+--------------+------------+ 649 | 19'(8:00000100) | fw-connected | H | 650 +-----------------+--------------+------------+ 651 | 21'(8:00010000) | fw-connected | D | 652 +-----------------+--------------+------------+ 653 Secondary BIFT for Px on BFR G 655 +-----------------+--------------+------------+ 656 | Adjacency BP | Action | BFR-NBR | 657 | (SI:BitString) | | (Next Hop) | 658 +=================+==============+============+ 659 | 3'(6:00000100) | fw-connected | B | 660 +-----------------+--------------+------------+ 661 | 14'(7:00100000) | fw-connected | K | 662 +-----------------+--------------+------------+ 663 | 18'(8:00000010) |lan-connected | Px | 664 +-----------------+--------------+------------+ 666 Figure 13: Improved BIER-TE BIFT on BFR G 668 The improved BIER-TE BIFT on BFR H is illustrated in Figure 14. It 669 comprises the forwarding entry for the LAN adjacency from H to Px 670 (indicated by BP 20') and the secondary BIFT for Px on BFR H. The 671 secondary BIFT contains three forwarding entries for three forward 672 connected adjacencies from Px to C (indicated by 15'), Px to G 673 (indicated by 17') and Px to D (indicated by 21') respectively. 675 +-----------------+--------------+------------+ 676 | Adjacency BP | Action | BFR-NBR | 677 | (SI:BitString) | | (Next Hop) | 678 +=================+==============+============+ 679 | 15'(7:01000000) | fw-connected | C | 680 +-----------------+--------------+------------+ 681 | 17'(8:00000001) | fw-connected | G | 682 +-----------------+--------------+------------+ 683 | 21'(8:00010000) | fw-connected | D | 684 +-----------------+--------------+------------+ 685 Secondary BIFT for Px on BFR H 687 +-----------------+--------------+------------+ 688 | Adjacency BP | Action | BFR-NBR | 689 | (SI:BitString) | | (Next Hop) | 690 +=================+==============+============+ 691 | 4 (0:00001000) | local-decap | | 692 +-----------------+--------------+------------+ 693 | 20'(8:00001000) |lan-connected | Px | 694 +-----------------+--------------+------------+ 696 Figure 14: Improved BIER-TE BIFT on BFR H 698 The improved BIER-TE BIFT on BFR D is illustrated in Figure 15. It 699 comprises the forwarding entry for the LAN adjacency from D to Px 700 (indicated by BP 22') and the secondary BIFT for Px on BFR D. The 701 secondary BIFT contains three forwarding entries for three forward 702 connected adjacencies from Px to C (indicated by 15'), Px to G 703 (indicated by 17') and Px to H (indicated by 19') respectively. 705 +-----------------+--------------+------------+ 706 | Adjacency BP | Action | BFR-NBR | 707 | (SI:BitString) | | (Next Hop) | 708 +=================+==============+============+ 709 | 15'(7:01000000) | fw-connected | C | 710 +-----------------+--------------+------------+ 711 | 17'(8:00000001) | fw-connected | G | 712 +-----------------+--------------+------------+ 713 | 19'(8:00000100) | fw-connected | H | 714 +-----------------+--------------+------------+ 715 Secondary BIFT for Px on BFR D 717 +-----------------+--------------+------------+ 718 | Adjacency BP | Action | BFR-NBR | 719 | (SI:BitString) | | (Next Hop) | 720 +=================+==============+============+ 721 | 1 (0:00000001) | local-decap | | 722 +-----------------+--------------+------------+ 723 | 22'(8:00000100) |lan-connected | Px | 724 +-----------------+--------------+------------+ 726 Figure 15: Improved BIER-TE BIFT on BFR D 728 3.3. Updated Forwarding Procedure 730 The forwarding procedure defined in [I-D.ietf-bier-te-arch] is 731 updated/enhanced for using an improved BIER-TE BIFT to support BIER- 732 TE with LAN. 734 The updated procedure is described in Figure 16. For a multicast 735 packet containing the BitString encoding an explicit P2MP path, if 736 the BP in the BitString is for a LAN adjacency to pseudo node Px for 737 the LAN, the updated forwarding procedure on a BFR sends the packet 738 towards Px's next hop nodes on the P2MP path encoded in the packet. 740 The procedure on a BFR "sends" (i.e., works as sending) the packet 741 with the BP for the LAN adjacency to Px according to the forwarding 742 entry for the BP in the improved BIER-TE BIFT on the BFR. And then 743 it acts on Px to "send" (i.e., works as sending) the packet to each 744 of the Px's next hop nodes that are on the P2MP path using the 745 secondary BIFT for Px. 747 It obtains the secondary BIFT for Px on the BFR, clears all the BPs 748 for the adjacencies of the BFR including the adjacency from the BFR 749 to Px, copies and sends the packet to each of the Px's next hop nodes 750 on the P2MP path using the secondary BIFT for Px. 752 For each Px's next hop node on the P2MP path, which is represented by 753 BP j in the packet's BitString, it gets the forwarding entry for BP j 754 from the secondary BIFT for Px, copies the packet, updates the copy's 755 BitString by clearing all the BPs for Px's adjacencies, and sends the 756 updated copy to the next hop node according to the forwarding entry. 758 Packet = the packet received by BFR; 759 FOR each BP k (from the rightmost in Packet's BitString) { 760 IF BP k is local decap adjacency (or say BP of BFER) { 761 Copies Packet, sends the copy to the multicast 762 flow overlay and clears bit k in Packet's BitString 763 } ELSE IF BP k is forward connected adjacency of the BFR { 764 Finds the forwarding entry in the BIER-TE BIFT using BP k, 765 Copies Packet, updates the copy's BitString by 766 clearing all the BPs for the adjacencies of the BFR, 767 and sends the updated copy to BFR-NBR 768 } ELSE IF BP k is LAN adjacency to Px { 769 Obtains the secondary BIFT for Px, 770 Clears all the BPs for the adjacencies of the BFR, 771 FOR each BP j (from the rightmost in Packet's BitString) { 772 IF BP j is Px's forward connected adjacency { 773 Gets the forwarding entry for BP j in the 774 secondary BIFT for Px, 775 Copies Packet, updates the copy's BitString by 776 clearing all the BPs for Px's adjacencies, 777 and sends the updated copy to BFR-NBR 778 } 779 } 780 } 781 } 783 Figure 16: Updated Forwarding Procedure 785 4. Example Application of Improved BIER-TE 787 This section illustrates an example application of improved BIER-TE 788 to Figure 1. It shows the forwarding behaviors along an explicit 789 P2MP path in Figure 11 going through the LAN in the figure. 791 The new BP assignments for the LAN in Figure 1 is shown in Figure 11. 792 The improved BIER-TE BIFT on each of the BFRs attached to the LAN is 793 given in Section 3.2. 795 The explicit P2MP path traverses the link/adjacency from A to B 796 (indicated by BP 2'), the link/adjacency from B to G (indicated by BP 797 4') and the link/adjacency from B to C (indicated by BP 6'), the 798 link/adjacency from G to K (indicated by BP 14'), the link/adjacency 799 from G to Px (indicated by BP 18'), the link/adjacency from C to F 800 (indicated by BP 12'), and the link/adjacency from Px to H (indicated 801 by BP 19'). This path is represented by {2', 4', 6', 12', 14', 18', 802 19', 2, 4, 6}. The packet at A has this path. 804 For the packet with the P2MP path, A forwards the packet to B 805 according to the forwarding entry for BP 2' in its BIFT. 807 After receiving the packet from A, B forwards the packet to G and C 808 according to the forwarding entries for BPs 4' and 6' in B's BIFT 809 respectively. The packet received by G has path {12', 14', 18', 19', 810 2, 4, 6}. The packet received by C has path {12', 14', 18', 19', 2, 811 4, 6}. 813 After receiving the packet from B, G sends a copy of the packet to K 814 according to the forwarding entry for BP 14' in G's improved BIER-TE 815 BIFT and "sends" another copy of the packet to Px according to the 816 forwarding entry for BP 18' in G's improved BIER-TE BIFT. After 817 receiving the packet from G, which has path {12', 19', 2, 4, 6}, Px 818 "sends" the packet to H according to the forwarding entry for BP 19' 819 in the secondary BIFT for Px (a part of G's improved BIER-TE BIFT). 821 After receiving the packet from G, which has path {12', 19', 2, 4, 822 6}, K decapsulates the packet and passes a copy of the payload of the 823 packet to the packet's NextProto within node K according to the 824 forwarding entry for BP 6 in K's BIFT. 826 After receiving the packet from G, which has path {12', 2, 4, 6}, H 827 decapsulates the packet and passes a copy of the payload of the 828 packet to the packet's NextProto within node H according to the 829 forwarding entry for BP 4 in H's improved BIER-TE BIFT. 831 After receiving the packet from B, which has path {12', 14', 18', 832 19', 2, 4, 6}, C sends the packet to F according to the forwarding 833 entry for BP 12' in C's improved BIER-TE BIFT. 835 After receiving the packet from C, which has path {14', 18', 19', 2, 836 4, 6}, F decapsulates the packet and passes a copy of the payload of 837 the packet to the packet's NextProto within node F according to the 838 forwarding entry for BP 2 in F's BIER-TE BIFT. 840 Egress node H of the P2MP path does not receive any duplicated 841 packet. 843 5. Security Considerations 845 TBD. 847 6. IANA Considerations 849 No requirements for IANA. 851 7. Acknowledgements 853 The authors would like to thank people for their comments to this 854 work. 856 8. References 858 8.1. Normative References 860 [I-D.ietf-bier-te-arch] 861 Eckert, T., Menth, M., and G. Cauchie, "Tree Engineering 862 for Bit Index Explicit Replication (BIER-TE)", Work in 863 Progress, Internet-Draft, draft-ietf-bier-te-arch-12, 28 864 January 2022, . 867 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 868 Requirement Levels", BCP 14, RFC 2119, 869 DOI 10.17487/RFC2119, March 1997, 870 . 872 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 873 IANA Considerations Section in RFCs", RFC 5226, 874 DOI 10.17487/RFC5226, May 2008, 875 . 877 [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The 878 OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250, 879 July 2008, . 881 [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for 882 IP Fast Reroute: Loop-Free Alternates", RFC 5286, 883 DOI 10.17487/RFC5286, September 2008, 884 . 886 [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", 887 RFC 5714, DOI 10.17487/RFC5714, January 2010, 888 . 890 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 891 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 892 . 894 [RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding 895 Scope Link State PDUs (LSPs)", RFC 7356, 896 DOI 10.17487/RFC7356, September 2014, 897 . 899 [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. 900 So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", 901 RFC 7490, DOI 10.17487/RFC7490, April 2015, 902 . 904 [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., 905 Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute 906 Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 907 2015, . 909 [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and 910 S. Shaffer, "Extensions to OSPF for Advertising Optional 911 Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, 912 February 2016, . 914 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 915 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 916 May 2017, . 918 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 919 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 920 Explicit Replication (BIER)", RFC 8279, 921 DOI 10.17487/RFC8279, November 2017, 922 . 924 [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., 925 and A. Dolganow, "Multicast VPN Using Bit Index Explicit 926 Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April 927 2019, . 929 8.2. Informative References 931 [I-D.eckert-bier-te-frr] 932 Eckert, T., Cauchie, G., Braun, W., and M. Menth, 933 "Protection Methods for BIER-TE", Work in Progress, 934 Internet-Draft, draft-eckert-bier-te-frr-03, 5 March 2018, 935 . 938 [I-D.ietf-rtgwg-segment-routing-ti-lfa] 939 Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., 940 Decraene, B., and D. Voyer, "Topology Independent Fast 941 Reroute using Segment Routing", Work in Progress, 942 Internet-Draft, draft-ietf-rtgwg-segment-routing-ti-lfa- 943 08, 21 January 2022, . 946 [I-D.ietf-spring-segment-protection-sr-te-paths] 947 Hegde, S., Bowers, C., Litkowski, S., Xu, X., and F. Xu, 948 "Segment Protection for SR-TE Paths", Work in Progress, 949 Internet-Draft, draft-ietf-spring-segment-protection-sr- 950 te-paths-02, 21 January 2022, 951 . 954 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 955 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 956 for Bit Index Explicit Replication (BIER) in MPLS and Non- 957 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 958 2018, . 960 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 961 Zhang, "Bit Index Explicit Replication (BIER) Support via 962 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 963 . 965 [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., 966 Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 967 Extensions for Bit Index Explicit Replication (BIER)", 968 RFC 8444, DOI 10.17487/RFC8444, November 2018, 969 . 971 Authors' Addresses 973 Huaimo Chen 974 Futurewei 975 Boston, MA, 976 United States of America 977 Email: Huaimo.chen@futurewei.com 979 Mike McBride 980 Futurewei 981 Email: michael.mcbride@futurewei.com 982 Aijun Wang 983 China Telecom 984 Beiqijia Town, Changping District 985 Beijing 986 102209 987 China 988 Email: wangaj3@chinatelecom.cn 990 Gyan S. Mishra 991 Verizon Inc. 992 13101 Columbia Pike 993 Silver Spring, MD 20904 994 United States of America 995 Phone: 301 502-1347 996 Email: gyan.s.mishra@verizon.com 998 Lei Liu 999 Fujitsu 1000 United States of America 1001 Email: liulei.kddi@gmail.com 1003 Xufeng Liu 1004 Volta Networks 1005 McLean, VA 1006 United States of America 1007 Email: xufeng.liu.ietf@gmail.com