Skip to main content

RLB (Replication through Local Bitstring) Segment for Multicast Source Routing over IPv6
draft-geng-msr6-rlb-segment-02

Document Type Active Internet-Draft (individual)
Authors Xuesong Geng , Zhenbin Li , Jingrong Xie
Last updated 2023-10-23
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-geng-msr6-rlb-segment-02
Network Working Group                                            X. Geng
Internet-Draft                                                     Z. Li
Intended status: Experimental                                     J. Xie
Expires: 25 April 2024                               Huawei Technologies
                                                         23 October 2023

 RLB (Replication through Local Bitstring) Segment for Multicast Source
                           Routing over IPv6
                     draft-geng-msr6-rlb-segment-02

Abstract

   This document defines 2 new types of segment: End.RLB.X and End.RLB,
   and the corresponding packet processing procedures over the IPv6 data
   plane for the MSR6(Multicast Source Routing over IPv6) TE solutions.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 25 April 2024.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.

Geng, et al.              Expires 25 April 2024                 [Page 1]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminologies . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Local Bitstring . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  RLB.X Segment Definition  . . . . . . . . . . . . . . . . . .   4
   5.  End.RLB.X Behavior  . . . . . . . . . . . . . . . . . . . . .   5
   6.  RLB Segment and LB Segment Definition . . . . . . . . . . . .   5
   7.  End.RLB Behavior  . . . . . . . . . . . . . . . . . . . . . .   6
   8.  Illustration  . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  End.RLB.X . . . . . . . . . . . . . . . . . . . . . . . .   8
       8.1.1.  MRH Encapsulation . . . . . . . . . . . . . . . . . .   8
       8.1.2.  Forwarding Process  . . . . . . . . . . . . . . . . .   9
     8.2.  End.RLB . . . . . . . . . . . . . . . . . . . . . . . . .  11
       8.2.1.  MRH Encapsulation . . . . . . . . . . . . . . . . . .  11
       8.2.2.  Forwarding Process  . . . . . . . . . . . . . . . . .  11
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  14
   11. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  14
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  14
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  14
     12.2.  Informative References . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  15

1.  Introduction

   MSR6(Multicast Source Routing over IPv6) is an IPv6 based multicast
   source routing (MSR6) solution, defined in
   [I-D.cheng-spring-ipv6-msr-design-consideration], which leverages the
   benefits of source routing over IPv6 data plane to provide simplified
   multicast TE and BE service in an IPv6 network without unnecessary
   multicast tree status and complex control plane protocols.  MSR6
   needs to reuse the advantages of SRv6 and BIER to implement source
   routing.

Geng, et al.              Expires 25 April 2024                 [Page 2]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   MSR6 has two basic modes of forwarding: one is based on Shortest Path
   First(SPF), which is called MSR6 BE mode; the other is based on
   traffic engineered, which is called MSR6 TE mode.
   [I-D.geng-msr6-traffic-engineering] and [I-D.chen-pim-srv6-p2mp-path]
   have introduced structured segment list by defining arguments in each
   segment.  Based on these existing work, this document defines 3 new
   types of segment with local bitstring, which could reduce
   encapsulation overhead and enhance scalability.

2.  Terminologies

   MSR6: Multicast Source Routing over IPv6, defined in
   [I-D.cheng-spring-ipv6-msr-design-consideration].

   MRH: Multicast Routing Header, a new type of Routing Header which is
   used for MSR6.

   Multicast domain: A set of network device which could provide P2MP
   multicast transport.  In this document, the multicast domain is an
   MSR domain, where every nodes support the capability of MSR6.

   Root Node: Root node is the beginning point of a multicast tree and
   also the initiation node of a multicast tunnel.  It encapsulates the
   packet with a multicast header.  The type of the encapsulation
   depends on the routing protocol used in the multicast domain.  For
   MSR6 TE, the encapsulation is MSR6 TE header, which is an IPv6 header
   with MRH.

   Replication Endpoint: the intermediate node of a multicast tree,
   which replicates packet and forwards the packet to the downstream
   nodes.  For MSR6, the Replication Node is called Replication Endpoint
   which can be indicated by the MSR6 Segment and replicate packets
   according to the multicast source routing information encapsulation
   in the MSR6 header of the packet.

   Leaf Node: Leaf node is the end point of a multicast tree and also
   the decapsulation node of a multicast tunnel.  It decapsulates the
   multicast header in the packet and forwards the packet based on
   overlay encapsulation.

   Parent Node: The parent node is the node that does the packet
   replication, corresponding to the concept of a child node.

   Child Node: The child node is the downstream node that will receive
   the packet which has been replicated ,corresponding to the concept of
   a parent node.

Geng, et al.              Expires 25 April 2024                 [Page 3]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   End.RLB(Replication through Local Bitstring): Endpoint with the
   function of Replication through Local Bitstring

   End.RLB(Replication through Local Bitstring).X: Endpoint with the
   function of Replication through Local Bitstring and defining output
   port.

   LB(Local Bitstring)Segment: Segment with Local Bitstring.

3.  Local Bitstring

   For a specific node, the downstream port can be represented by a
   specific bit in the local bitstring of the node.  If the packet needs
   to be replicated through the downstream port, the bit MUST be set.
   Or else, the bit MUST be set as 0.

4.  RLB.X Segment Definition

   The segment defined in [RFC8402] can represent instruction,
   topological or service based on the requirement.  This document
   specifies RLB.X segment for multicast path encoding.

   End.RLB.X is a new type of segment which is used to identify the
   Replication Endpoint, which is able to replicate the packet based on
   the local bitstring in the segment.  RLB.X segment is used as an IPv6
   address, which is 128 bits and follows the SID format defined in
   [RFC8986], consisting of LOC:FUNCT:ARG.  RLB.X segment is advertised
   by the RLB.X replication endpoint.

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                           Locator                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Function                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Local Bitstring      |            Pointer            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Local Bitstring indicates a set of adjacency links that the packet
   are supposed to be replicated to and Pointer is used to locate the
   segment the packet will parse in the next replication endpoint.

   Each replication node maintains the mapping relationship of the bit
   position and adjacency link in the Local Bitstring Forwarding
   Table(LBFT).

Geng, et al.              Expires 25 April 2024                 [Page 4]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

5.  End.RLB.X Behavior

   The replication node does the following when the DA of the packet is
   a local End.RLB.X SID.

   S01. When an MRH is processed {
   S02.   If (Segments Left == 0 or Local Bitstring==Pointer==0) {
   S03.      Stop processing the MRH, and proceed to process the next
                header in the packet, whose type is identified by
                the Next Header field in the routing header.
   S04.   }
   S05.   If (IPv6 Hop Limit <= 1) {
   S06.      Send an ICMP Time Exceeded message to the Source Address
                with Code 0 (Hop limit exceeded in transit),
                interrupt packet processing, and discard the packet.
   S07.   }
   S08.   max_LE = (Hdr Ext Len / 2) - 1
   S09.   If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
   S10.      Send an ICMP Parameter Problem to the Source Address
                with Code 0 (Erroneous header field encountered)
                and Pointer set to the Segments Left field,
                interrupt packet processing, and discard the packet.
   S11.   }
   S12.   Decrement IPv6 Hop Limit by 1
   S13.   Replicate the packet based on the local bitstring in the
            End.RLB.X and look up LBFT
   S14.   Set the Segment Left of the 1st replicated packet to "Pointer"
            in the argument of the SID
   S15.   Update IPv6 DA with Segment List[Segment Left]
   S16.   Forward the packet through the adjacency link indicated by
            local bitstring
   S17.   Repeat S14-S17 with "Pointer+n"(n=the number of packets
            which have been updated) untill all the packets are transmitted
            through the indicated link
   R18.   }

6.  RLB Segment and LB Segment Definition

   End.RLB is a new type of segment which is used to identify the
   Replication Endpoint, which is able to replicate the packet based on
   the local bitstring in the correponding LB segment.  RLB segment is
   used as an IPv6 address, which is 128 bits and follows the SID format
   defined in [RFC8986], consisting of LOC:FUNCT:ARG.  RLB segment is
   advertised by the RLB replication endpoint.

Geng, et al.              Expires 25 April 2024                 [Page 5]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                           Locator                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Function                            |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   When RLB Segment is used, there MUST be a corresponding LB Segment in
   the segment list.  LB Segment is a special segment which is 128-bits
   containing the local bitstring.  That is, LB segment does not take
   the format of LOC:FUNCT:ARG and need not to define the behavior.
   There is an argument in End.LB to indicate the next LB segments for
   the downstream nodes, for example "pointer " defined in
   [I-D.geng-msr6-traffic-engineering].

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         Local  Bitstring                      |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Pointer                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   End.RLB segment and LB segment are used together.  Each replication
   node maintains the mapping relationship of the bit position with the
   adjacency link and the next hop End.RLB SID in the Local Bitstring
   Forwarding Table(LBFT).

7.  End.RLB Behavior

   The replication node does the following when the DA of the packet is
   a local End.RLB SID.

Geng, et al.              Expires 25 April 2024                 [Page 6]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   S01. When an MRH is processed {
   S02.   If (Segments Left == 0 or Local Bitstring==Pointer==0) {
   S03.      Stop processing the MRH, and proceed to process the next
                header in the packet, whose type is identified by
                the Next Header field in the routing header.
   S04.   }
   S05.   If (IPv6 Hop Limit <= 1) {
   S06.      Send an ICMP Time Exceeded message to the Source Address
                with Code 0 (Hop limit exceeded in transit),
                interrupt packet processing, and discard the packet.
   S07.   }
   S08.   max_LE = (Hdr Ext Len / 2) - 1
   S09.   If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
   S10.      Send an ICMP Parameter Problem to the Source Address
                with Code 0 (Erroneous header field encountered)
                and Pointer set to the Segments Left field,
                interrupt packet processing, and discard the packet.
   S11.   }
   S12.   Decrement IPv6 Hop Limit by 1
   S13.   Replicate the packet based on the local bitstring in the
            SID[Segment Left] and look up LBFT
   S14.   Set the Segment Left of the 1st replicated packet to "Pointer"
            in the argument of the SID
   S15.   Update IPv6 DA with End.RLB indicated by the first bit set in
            the LBFT
   S16.   Forward the packet through the adjacency link indicated by
            the first bit set in the LBFT
   S17.   Repeat S14-S17 with "Pointer+n"(n=the number of packets
            which have been updated) untill all the packets are transmitted
            through the indicated link
   R18.   }

8.  Illustration

Geng, et al.              Expires 25 April 2024                 [Page 7]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

                                    +---+
                                 +--| D |
                        +---+   B2  +---+
                     +--| B |----|
                     |  +---+   B4  +---+
            +---+   A1           +--| E |
            | A |----|              +---+
            +---+    |           +--| F |
                    A2  +---+   C4  +---+
                     +--| C |----|
                        +---+   C7  +---+
                                 +--| G |
                                    +---+
         |-->MSR-R<--|->MSR End<-|-->MSR-L<--|

      MSR-R: MSR6 Root Node, including Node A;

      MSR End: MSR6 Replication Endpoint, including Node B and C;

      MSR-L: MSR6 Leaf Nodes, including Node D, E, F, G;

   Take End.RLB and End.LB as an example.

   Acording to the requirement of the service, a multicast tree is
   calculated as showed in the above figure.

8.1.  End.RLB.X

8.1.1.  MRH Encapsulation

   In node A, the packet is encapsulated with an IPv6 header with MRH as
   an extension header.  The segment list in the MRH is as follows,
   which is composed of LB SID.

     +----------------------------------------+
     | Loc:A|Fun:End.RLB.X| LB:11000000| P:2  |
     +----------------------------------------+
     | Loc:B|Fun:End.RLB.X| LB:01010000| P:0  |
     +----------------------------------------+
     | Loc:C|Fun:End.RLB.X| LB:00010010| P:0  |
     +----------------------------------------+

Geng, et al.              Expires 25 April 2024                 [Page 8]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

8.1.2.  Forwarding Process

   Node A will receive the packet with the destination address of the
   IPv6 header is a local SID for node A and the function is End.RLB.X.
   Local Bitstring in the segment will be used as an entry to look up
   LBFT in node A.  So the packet will be replicated into 2 packets and
   sent out through A1 and A2.  The destination address of the
   replicated packet will be set to SID[2] and SID[3] based on the value
   of the pointer.

   (preamble)

        +----------------------------+
        |BitPosition | Adjacency Link|
        +----------------------------+
        |      1     |      A1       |
        +----------------------------+
        |      2     |      A2       |
        +----------------------------+
        |      3     |      A3       |
        +----------------------------+
        |      4     |      A4       |
        +----------------------------+
        |      5     |      A5       |
        +----------------------------+
        |      6     |      A6       |
        +----------------------------+
        |      7     |      A7       |
        +----------------------------+
        |      8     |      A8       |
        +----------------------------+

   Node B will receive the packet with the destination address of the
   IPv6 header is a local SID for node B and the function is End.RLB.X.
   Local Bitstring in the segment will be used as an entry to look up
   LBFT in node B.  So the packet will be replicated into 2 packets and
   sent out through B2 and B4.  The destination address of the
   replicated packet will be set to address-D and address-E based on the
   LBFT.

   (preamble)

Geng, et al.              Expires 25 April 2024                 [Page 9]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

        +--------------------------------------+
        |BitPosition | Adjacency Link| Address |
        +--------------------------------------+
        |      1     |      B1       |  Add-B1 |
        +--------------------------------------+
        |      2     |      B2       |  Add-D  |
        +--------------------------------------+
        |      3     |      B3       |  Add-B3 |
        +--------------------------------------+
        |      4     |      B4       |  Add-E  |
        +--------------------------------------+
        |      5     |      B5       |  Add-B5 |
        +--------------------------------------+
        |      6     |      B6       |  Add-B6 |
        +--------------------------------------+
        |      7     |      B7       |  Add-B7 |
        +--------------------------------------+
        |      8     |      B8       |  Add-B8 |
        +--------------------------------------+
      Local Bitstring Forwarding Table(LBFT) in Node B

   Node C will receive the packet with the destination address of the
   IPv6 header is a local SID for node C and the function is End.RLB.X.
   Local Bitstring in the segment will be used as an entry to look up
   LBFT in node C.  So the packet will be replicated into 2 packets and
   sent out through C4 and C7.  The destination address of the
   replicated packet will be set to address-F and address-G based on the
   LBFT.

Geng, et al.              Expires 25 April 2024                [Page 10]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

        +--------------------------------------+
        |BitPosition | Adjacency Link|  Address|
        +--------------------------------------+
        |      1     |      C1       |  Add-C1 |
        +--------------------------------------+
        |      2     |      C2       |  Add-C2 |
        +--------------------------------------+
        |      3     |      C3       |  Add-C3 |
        +--------------------------------------+
        |      4     |      C4       |  Add-F  |
        +--------------------------------------+
        |      5     |      C5       |  Add-C5 |
        +--------------------------------------+
        |      6     |      C6       |  Add-C6 |
        +--------------------------------------+
        |      7     |      C7       |  Add-G  |
        +--------------------------------------+
        |      8     |      C8       |  Add-C8 |
        +--------------------------------------+
      Local Bitstring Forwarding Table(LBFT) in Node C

8.2.  End.RLB

8.2.1.  MRH Encapsulation

   In node A, the packet is encapsulated with an IPv6 header with MRH as
   an extension header.  The segment list in the MRH is as follows,
   which is composed of LB SID.

     +----------------------------------------+
     |           LB:11000000           | P:2  |
     +----------------------------------------+
     |           LB:01010000           | P:0  |
     +----------------------------------------+
     |           LB:00010010           | P:0  |
     +----------------------------------------+

8.2.2.  Forwarding Process

   Node A will receive the packet with the destination address of the
   IPv6 header is a local End.RLB for node A, which is SID A.  Based on
   the End.RLB behavior defined in section 4, node A will parse
   SID[Segment Left] in MRH, which is SID[1].

Geng, et al.              Expires 25 April 2024                [Page 11]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   SID[1] will be used as an entry to look up LBFT in node A.  So the
   packet will be replicated into 2 packets.  For the 1st packet, the
   destination address of the IPv6 header will be set to SID B, the
   Segment Left will be set to 2 based on the pointer and the packet
   will be sent out through A1.  For the 2nd packet, the destination
   address of the IPv6 header will be set to SID C, the Segment Left
   will be set to 2+1 based on the pointer and the packet will be sent
   out through A2.

        +--------------------------------------+
        |BitPosition | Adjacency Link| RLB SID |
        +--------------------------------------+
        |      1     |      A1       |  SID-B  |
        +--------------------------------------+
        |      2     |      A2       |  SID-C  |
        +--------------------------------------+
        |      3     |      A3       |  SID-A3 |
        +--------------------------------------+
        |      4     |      A4       |  SID-A4 |
        +--------------------------------------+
        |      5     |      A5       |  SID-A5 |
        +--------------------------------------+
        |      6     |      A6       |  SID-A6 |
        +--------------------------------------+
        |      7     |      A7       |  SID-A7 |
        +--------------------------------------+
        |      8     |      A8       |  SID-A8 |
        +--------------------------------------+
      Local Bitstring Forwarding Table(LBFT) in Node A

   Node B will receive the packet with the destination address of the
   IPv6 header is a local End.RLB for node B, which is SID B.  Based on
   the End.RLB behavior defined in section 4, the node will parse
   SID[Segment Left] in MRH, which is SID[2].

   SID[2] will be used as an entry to look up LBFT in node B.  So the
   packet will be replicated into 2 packets.  For the 1st packet, the
   destination address of the IPv6 header will be set to SID D, the
   Segment Left will be set to 0 based on the pointer and the packet
   will be sent out through B2.  For the 2nd packet, the destination
   address of the IPv6 header will be set to SID E, the Segment Left
   will be set to 0 based on the pointer and the packet will be sent out
   through B4.

Geng, et al.              Expires 25 April 2024                [Page 12]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

        +--------------------------------------+
        |BitPosition | Adjacency Link| RLB SID |
        +--------------------------------------+
        |      1     |      B1       |  SID-B1 |
        +--------------------------------------+
        |      2     |      B2       |  SID-D  |
        +--------------------------------------+
        |      3     |      B3       |  SID-B3 |
        +--------------------------------------+
        |      4     |      B4       |  SID-E  |
        +--------------------------------------+
        |      5     |      B5       |  SID-B5 |
        +--------------------------------------+
        |      6     |      B6       |  SID-B6 |
        +--------------------------------------+
        |      7     |      B7       |  SID-B7 |
        +--------------------------------------+
        |      8     |      B8       |  SID-B8 |
        +--------------------------------------+
      Local Bitstring Forwarding Table(LBFT) in Node B

   Node C will receive the packet with the destination address of the
   IPv6 header is a local End.RLB for node C, which is SID C.  Based on
   the End.RLB behavior defined in section 4, the node will parse
   SID[Segment Left] in MRH, which is SID[3].

   SID[3] will be used as an entry to look up LBFT in node C.  So the
   packet will be replicated into 2 packets.  For the 1st packet, the
   destination address of the IPv6 header will be set to SID F, the
   Segment Left will be set to 0 based on the pointer and the packet
   will be sent out through C4.  For the 2nd packet, the destination
   address of the IPv6 header will be set to SID G, the Segment Left
   will be set to 0 based on the pointer and the packet will be sent out
   through C7.

Geng, et al.              Expires 25 April 2024                [Page 13]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

        +--------------------------------------+
        |BitPosition | Adjacency Link| RLB SID |
        +--------------------------------------+
        |      1     |      C1       |  SID-C1 |
        +--------------------------------------+
        |      2     |      C2       |  SID-C2 |
        +--------------------------------------+
        |      3     |      C3       |  SID-C3 |
        +--------------------------------------+
        |      4     |      C4       |  SID-F  |
        +--------------------------------------+
        |      5     |      C5       |  SID-C5 |
        +--------------------------------------+
        |      6     |      C6       |  SID-C6 |
        +--------------------------------------+
        |      7     |      C7       |  SID-G  |
        +--------------------------------------+
        |      8     |      C8       |  SID-C8 |
        +--------------------------------------+
      Local Bitstring Forwarding Table(LBFT) in Node C

   Node D will receive the packet with the destination address of the
   IPv6 header is a local End.RLB for node D, which is SID D.  Because
   the Segment Left is 0, the packet will decapsulate the IPv6 header
   with the MRH.  Node E,F,G will do the same.

9.  IANA Considerations

   This document makes no request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.

10.  Security Considerations

11.  Acknowledgements

12.  References

12.1.  Normative References

Geng, et al.              Expires 25 April 2024                [Page 14]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   [I-D.chen-pim-srv6-p2mp-path]
              Chen, H., McBride, M., Fan, Y., Li, Z., Geng, X., Toy, M.,
              Mishra, G. S., Wang, A., Liu, L., and X. Liu, "Stateless
              SRv6 Point-to-Multipoint Path", Work in Progress,
              Internet-Draft, draft-chen-pim-srv6-p2mp-path-08, 24 April
              2023, <https://datatracker.ietf.org/doc/html/draft-chen-
              pim-srv6-p2mp-path-08>.

   [I-D.cheng-spring-ipv6-msr-design-consideration]
              Cheng, W., Mishra, G. S., Li, Z., Wang, A., Qin, Z., and
              C. Fan, "Design Consideration of IPv6 Multicast Source
              Routing (MSR6)", Work in Progress, Internet-Draft, draft-
              cheng-spring-ipv6-msr-design-consideration-01, 25 October
              2021, <https://datatracker.ietf.org/doc/html/draft-cheng-
              spring-ipv6-msr-design-consideration-01>.

   [I-D.geng-msr6-traffic-engineering]
              Geng, X., Li, Z., and J. Xie, "IPv6 Multicast Source
              Routing Traffic Engineering", Work in Progress, Internet-
              Draft, draft-geng-msr6-traffic-engineering-02, 24 October
              2022, <https://datatracker.ietf.org/doc/html/draft-geng-
              msr6-traffic-engineering-02>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,
              <https://www.rfc-editor.org/info/rfc8986>.

12.2.  Informative References

   [InfRef]   "", 2004.

Authors' Addresses

   Xuesong Geng
   Huawei Technologies
   Email: gengxuesong@huawei.com

Geng, et al.              Expires 25 April 2024                [Page 15]
Internet-Draft       draft-geng-msr6-rlb-segment-00         October 2023

   Zhenbin Li
   Huawei Technologies
   Email: lizhenbin@huawei.com

   Jingrong Xie
   Huawei Technologies
   Email: xiejingrong@huawei.com

Geng, et al.              Expires 25 April 2024                [Page 16]