<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.8 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-eckert-pim-mrh-00" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="mrh">The IPv6 Multicast Routing Headers (MRH)</title>

    <author initials="T." surname="Eckert" fullname="Toerless Eckert" role="editor">
      <organization>Futurewei Technologies USA</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>tte@cs.fau.de</email>
      </address>
    </author>
    <author initials="Y." surname="Liu" fullname="Yisong Liu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>

    <date year="2025" month="July" day="06"/>

    
    <workgroup>PIM</workgroup>
    

    <abstract>


<?line 47?>

<t>This document describes the IPv6 extensions to support an experiment in which
new IPv6 Routing headers that support stateless replication are implemented and deployed
for IPv6 Segment Routing Networks. Collectively, these headers are
called Multicast Routing Header (MRH).</t>

<t>One purpose of this experiment is to demonstrate that the MRH can be
implemented and deployed in a production network. Another purpose is to
encourage replication of the experiment.</t>



    </abstract>



  </front>

  <middle>


<?line 58?>

<section anchor="overview"><name>Overview</name>

<t>This document introduces IPv6 Routing headers that enable stateless replication
of packets in IPv6 or SRv6 networks. These headers are collectively called
Multicast Routing Headers (MRH).  IPv6 Packets using these Routing headers can
be IPv6 multicast packets or IPv6 (unicast) packets. When they are multicast packets, these
mechanism can enable to avoid stateful multicast tree building protocols, such as PIM-SM,
<xref target="RFC7761"/>.  When they are unicast packets that need to be sent to more than one receiver,
this mechanism allows to avoid either sender-side replication of these packets
or the use of IPv6 multicast to achieve the replication.</t>

<t>The mechanisms in this document are specifically targeted for SRv6 networks where
stateless forwarding through ingres node steering of packets via SRH (<xref target="RFC8754"/>))
already establishes a network preference to minimize the amount of state required in
networks and/or the desire or need for advanced traffic steering, both of which is also
possible for stateless replicated packets through the mechanisms in this memo.</t>

<t>This document intends to support an experiment in which these new IPv6 Routing headers are
implemented and deployed for IPv6 Segment Routing Networks or IPv6 network withoutt he desire
for other forwarding planes.</t>

<t>One purpose of this experiment is to demonstrate that the MRH can be
implemented and deployed in a production network. Another purpose is to
encourage replication of the experiment.</t>

<t>This document only specifies the Routing headers and their semantics. The
larger context of the experiment is (informationally) described in
<xref target="I-D.eckert-pim-mrh-experiment"/>.</t>

<t>This document is intended for 6MAN which is authoritative for IPv6 extension headers,
but it is initially directed at review in PIM which is responsible for the overall
experiment as the Multicast Routing expert group, including Multicast for Segment Routing/SRv6.</t>

</section>
<section anchor="the-multicast-routing-header-mrh"><name>The Multicast Routing Header (MRH)</name>

<t>The MRH header contains the following fields:</t>

<t><list style="symbols">
  <t>Next Header - Defined in <xref target="RFC8200"/>.</t>
  <t>Hdr Ext Len - Defined in <xref target="RFC8200"/>.</t>
  <t>Routing Type - Defined in <xref target="RFC8200"/>. Each MRH sub-type is allocated a new Routing Type by IANA.</t>
  <t>Segments Left - Defined in <xref target="RFC8200"></xref>.</t>
  <t>Type-specific Data - Described in <xref target="RFC8200"></xref>.</t>
</list></t>

<t>In the MRH, the Type-specific Data field contains the elements as shown in <xref target="FIG-MRH"/>.</t>

<figure title="MRH format" anchor="FIG-MRH"><artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |  Hdr Ext Len  |  Routing Type |X| TLV offset  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |    MSER-Segment (128 bit IPv6 address)                        |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  MRH Sub-Type specific data                                   |
    ...                                                           ...
    //                         ...                                 //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    //                                                             //
    //         Optional Type Length Value (TLV) objects (variable) //
    //                                                             //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The "MSER-Segment" ("Multicast Source Exit Router Segment") carries
an IPv6 address. If it is an IPv6 address according to <xref target="RFC4291"/>,
then the packet is an IPv6 multicast packet.</t>

<t>If the MSER-Segment is not an IPv6 address, then it is a SID according
to <xref target="RFC8986"/>, and the packet is called a stateless, directed replication, SRv6
(unicast) packet.</t>

<t>MRH Sub-Type specific data contains a compressed encoding of SIDs that
permits replication to a set of one or more destination SR nodes.
Its encoding is determined by the MRH Sub-Type indicated by the
Routing Type field.</t>

<t>The data contained in MSER-Segment does not allow to determine on every
Segment endpoint node a calculation of the actual number of segments left,
nor would this value be useful. For this reasons, the MRH header field
does not include a "Segments Left" field, but that space is instead used
to indicate the offset to the optional TLV objects field in 32 bit units.
This also makes it necessary for the MRH Sub-Type field to be multiple
of 32 bit units in length - or be padded accordingly. If no TLV objects
field is present, the value of TLV offset points to the first byte after
the end of the MRH header.</t>

<t>Note that the definition of TLV offset makes it never zero, which is necessary
so that routers not supporting MRH extension headers will stop processing
the packet and raise an ICMPv6 error according to <xref target="RFC8200"/>, section 4.4.</t>

<t>The X Flag is for future extensions, see <xref target="longer-headers"/>. It MUST
be set to 0 Packets received with X set to 1 MUST, the node must discard the
packet and send an ICMP Parameter Problem, Code 0, message to the packet's
Source Address, pointing to the unrecognized Routing Type.</t>

<t>The length of the MRH Sub-Type may change during processing. TLV offset
then needs to be updated accordingly. MTU discovery is not used for multicast
packets and MRH headers are intended for use in controlled networks, so
change in header size is something that can be managed. For example by
never sending packets with more than the minimum MTU of 1280 as recommended
for multicast packets in <xref target="RFC3542"/> and accordingly setting the MTU in the
controlled network so the largest possible headersizes plus 1280 will fit.</t>

<t>The Optional Type Length Value (TLV) objects field is as defined in 
<xref target="RFC8754"/>. As specified there, its length may change.</t>

<t>Except for the aforementioned fixed value of the Segments left field,
routing and forwarding for packets with an MRH routing extension header
follows the rules of <xref target="RFC8200"/> as restated and refined by the following
definitions.</t>

</section>
<section anchor="mrh-nodes"><name>MRH nodes</name>

<t>There are different types of nodes that may be involved in MRH segment routing networks:</t>

<t><list style="symbols">
  <t>Source nodes: originate packets with an MRH segment address
in the destination address of the IPv6 header</t>
  <t>Transit nodes: forward packets destined to a remote MRH segment</t>
  <t>Segment endpoint nodes: process a local segment in the destination address of an IPv6 header.</t>
  <t>Egress nodes: a subset of the Segment endpoint node that act as IPv6/IPv6-Multicast
host to the packet, passing it up to the next header protocol of the packet</t>
</list></t>

<t>Note that SRv6 in <xref target="RFC8754"/> does not explicitly name egress nodes, although every
SRH packet has exactly one such Egress node too. This document simply adds that
additional terminology for convenience reasons. All other node types have exactly
the same specification as in <xref target="RFC8754"/>.</t>

</section>
<section anchor="mrh-sub-type-semantics"><name>MRH sub-type semantics</name>

<t>All MRH sub-types operate on the semantic that a packet is forwarded and replicated
across a directed tree rooted in the source node of the MRH packet. All edges of the
tree are segments, each vertex of the tree is a segment endpoint node. All leaves and
a subset of the non-leaf are egress nodes, operating as IPv6 hosts processing the next
header protocol of the packet.</t>

<section anchor="destination-class-mrh-sub-type"><name>Destination class MRH sub-type</name>

<t>In a "destination" class MRH sub-type, the MRH sub-type specific data encodes only a
list of egress node SIDs. All leaves of the tree are egress nodes. Non-egress edges/nodes
of the tree are determined by forwarding/replication on segment endpoint nodes. Each segment
endpoint node determines next segment endpoint nodes to replicate the packet
to in order to reach the subset of egress nodes for the subtree rooted in this node.
This is the replication mechanism used for example in <xref target="RFC8279"/>.</t>

</section>
<section anchor="steering-class-mrh-sub-type"><name>Steering class MRH sub-type</name>

<t>In a "steering" class MRH sub-type, the MRH sub-type specific data encodes the complete
directed tree with its segment endpoint nodes. Each non-leaf segment endpoint node
determines the next segment endpoint nodes to which to replicate the packet to
directly from the MRH sub-type specific data without having to examine the encoded
tree beyond those next-hops. This is the replication mechanism used for example in <xref target="RFC9262"/>.</t>

<t>In a "steering" class MRH sub-type, the non-leaf nodes of the tree are pre-determined
by the MRH sub-type data and delivery of the packet to that node can thus be granted.
Therefore, the actual property of a node being an egress node does not need to be encoded
in the MRH sub-type but can instead be derived from membership of that node in the
packets IPv6 multicast and/or future MSER segment SID semantic. This allows for more
compact encoding of MRH sub-type data in this case because it eliminates the need to
distinguish between a non-leaf segment endpoint node of the tree to be an egress node
or not.</t>

</section>
</section>
<section anchor="mrh-packet-processing"><name>MRH Packet processing</name>

<section anchor="on-transit-nodes"><name>On Transit Nodes</name>

<t>Processing of MRH extension headers is as specified in <xref target="RFC8754"/>, Section 4.2. with
respect to <xref target="RFC8200"/> forwarding of IPv6 packets.</t>

<t>However, additional packet processing in the forwarding plane that operate
on IPv6 multicast packets for functions beyond those of IPv6 (unicast) packet forwarding
MAY perform the same operation on an IPv6 packet with an MRH extension header which
is an IPv6 multicast packet because its MSER-Segment contains an IPv6 multicast group address.</t>

<t>In this case, the IPv6 multicast related function is performed as if the IPv6 multicast
group address in the MSER-Segment was present in the IPv6 DA field of the packet, ignoring
the IPv6 (unicast) Segment endpoint address in the IPv6 DA field, which is irrelevant
to the IPv6 multicast semantic of the packet.</t>

<t>Examples of such functions are statistics gathering of IPv6 multicast packets for IPFIX,
attachment of QoS policies to the packet or "ACL" filtering of packet including firewall
functions or filtering of scoped IPv6 multicast addresses (<xref target="RFC7346"/>).</t>

</section>
<section anchor="on-the-mrh-source-node"><name>On the MRH source node</name>

<t><list style="symbols">
  <t>A source node steers a packet into an MRH/SR policy that translates into one or more
of the following set of data elements, each one required for one copy of the packet.  <list style="symbols">
      <t>An MSR sub-type header representing in a compressed form a set of Egress node SIDs
(destination sub-type) or a tree of segment endoint node SIDs with optional
Egress nodes (steering sub-type)</t>
      <t>An IPv6 source address belonging to the source node, which may be a SID,
or which may need to be associated with semantics of the MSR sub-type header
or the packet. For example, for an IPv6 multicast SSM packet as in<xref target="RFC3306"/>, <xref target="RFC3569"/>,
the SA needs to be set according to the desired (S,G) channel.</t>
      <t>An IPv6 destination address, which may be an IPv6 multicast group address (G)
or a SID to be processed by all Egress nodes.</t>
      <t>TLV (including HMAC).</t>
      <t>Optionally an IPv6 destination address for the first Segment endpoint node.</t>
    </list></t>
</list></t>

<t>The MRH/SR policy needs more than one data element sets and hence packet copies when
the desired list of egress nodes und/or representation of the tree of segment endpoint does
not fit into a single MRH header.</t>

<t><list style="symbols">
  <t>The source node sets the IPv6 header and MRH extension header as follows  <list style="symbols">
      <t>The SA of the packet is set to the IPv6 source address</t>
      <t>The MSER-segment is set to the IPv6 destination address.</t>
      <t>The Next Header and Hdr Ext Len fields are set as specified in <xref target="RFC8200"/>.
The Routing Type field is set to the value assigned for the MSR sub-type.</t>
      <t>The MSR sub-type header is inserted into its field. The Segments left
field is set to the length of the MSR sub-type header plus 32 bits in
units of 32 bits.</t>
      <t>If the SR policy includes a first Segment endpoint node IPv6 address, then
the packets DA is set to that address, and the packet is sent to it.</t>
      <t>If the SR policy does not include such an IPv6 address, the packets DA is logically
left unset and the packet is passed to the nodes MRH Segment endpoint processing steps.</t>
    </list></t>
</list></t>

</section>
<section anchor="on-segment-endpoint-nodes"><name>On Segment endpoint nodes</name>

<t>This document requires/uses only a single SRv6 SID for the reception of IPv6 packets
with MRH type routing extension header. This SID can also be used for other purposes if the node
can distinguish the semantic based on the routing header it contains - aka: for packets
without an MRH type routing extension header.</t>

<t><list style="symbols">
  <t>If local processing requires TLV processing, perform TLV processing
as described in in <xref target="RFC8754"/>.</t>
  <t>Determine if this node is an egress node for the packet as follows.
  <list style="symbols">
      <t>If the MRH sub-type data explicitly encodes this node as an egress node.</t>
      <t>If the node has membership for the IPv6 address in the MSER segment field. 
This can be the case when it is an IPv6 ASM multicast group that this node has
joined to, or if the node has subscribed to the IP6 SSM channel indicated by
(SA,MSER-segment), or if the MSER-segment indicates a non multicast SID that the node
is subscribed to. The rules for subscription to non multicast SID are outside the
scope of this document.</t>
    </list></t>
  <t>If the node is egress node for the packet, create a copy of the packet for which to proceed to
process the next header in the packet, whose type is identified by the Next Header field
in the routing header.</t>
  <t>Reduce the Hop-Count of the packet by 1.</t>
  <t>If the hop count is &lt;= 1, determine from the MSER segment SID whether ICMPv6 processing
is desired.
  <list style="symbols">
      <t>If the MSER segment SID is IPv6 multicast, no ICMPv6 processing is desired.</t>
      <t>Otherwise, the desire for ICMPv6 processing is defined by the SID.</t>
      <t>If ICMPv6 processing is desired, Send an ICMP Time Exceeded -- Hop Limit Exceeded
in Transit message to the Source Address</t>
      <t>discard the packet, stop processing</t>
    </list></t>
  <t>Determine from the MRH sub-type data a list of 0 or more next-hop segments of the tree and
perform the following processing for each of those next-hop segments
  <list style="symbols">
      <t>Create a copy of the packet</t>
      <t>Change the DA of the packet to the Segment Endpoint SID for that next-hop node.</t>
      <t>Rewrite the MRH sub-type data according to the processing rule of that MRH sub-type.
Typically, in a destination MRH sub-type this consists in eliminating from the
encoded Egress nodes set those that are not reachable via this next-hop segment, and for
a steering MRH sub-type in adjusting offset pointers in the MRH sub-type data to point
to the subtree rooted in the next-hop node.</t>
    </list></t>
  <t>Discard packet, terminate processing</t>
</list></t>

</section>
</section>
<section anchor="mrh-sub-types"><name>MRH sub-types</name>

<section anchor="mrh-bitstring-destination-mrh-bd-sub-type-format"><name>MRH-bitstring-destination (MRH-bd) Sub-Type format</name>

<t>MRH-bd uses the packet forwarding data structures (BIFT) and forwarding rules of <xref target="RFC8279"/>.
IPv6 packets with MRH-sd extension header are an <xref target="RFC8279"/> compliant encapsulation
to support BIER architecture (<xref target="RFC8279"/> packet forwarding, and it uses all forwarding
rules unmodified. <xref target="RFC8296"/> encapsulation is not used.</t>

<figure title="MRH-bd Sub-Type format" anchor="FIG-MRH-bd"><artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |       SD      |       SI      |OAM| Entropy                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                BitString  (first 32 bits)                     ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                                                               ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                BitString  (last 32 bits)                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><xref target="FIG-MRH-bd"/> shows the field of the MRH Sub-type specific data for the
MRH</t>

<t><list style="symbols">
  <t>SD is the sub-domain as specified in <xref target="RFC8279"/></t>
  <t>SI is the Set Identifier as specified in <xref target="RFC8279"/></t>
  <t>Entropy is as specified in <xref target="RFC8279"/>.</t>
  <t>BitString is as specified in <xref target="RFC8279"/>.</t>
  <t>OAM is for future use with OAM procedures.</t>
</list></t>

<t>The length of the BitString MUST be a multiple of 32 bits. It SHOULD be
one of thefollowing value for compatibility with potentially pre-existing
{RFC8279}} forwarding hardware:</t>

<t>64, 128, 256, 512, 1024, (2048, 4096)</t>

<t>Nodes supporting MRH-sd MUST support a BSL of 256 bits. Note that 
the length of 2048 and 4096 are not possible in an MRH extension header
due to the 255 byte size limit of IPv6 extension headers. See <xref target="longer-headers"/>.</t>

<t>Population of the <xref target="RFC8279"/>, section 6.4 forwarding tables (BIFT) is outside the scope of this specification. For the purpose of performing the rewriting of the IPv6 DA on Segment endpoint nodes, the BFR-NBR in the BIFT needs to be the MRH-sd SID of the next-hop MRH-sd node.</t>

</section>
<section anchor="mrh-steering-mrh-s-sub-type-format"><name>MRH-steering (MRH-s) Sub-Type format</name>

<t>This sub-type is TBD. There are currently multiple competing proposals
considered, including RTS (<xref target="I-D.eckert-pim-rts-forwarding"/> and 
<xref target="I-D.liu-pim-msr6-encapsulation-and-forwarding"/>.</t>

<t>It should be noted, that <xref target="RFC9262"/> will explicitly not be considered, because
that work was focussed on re-using the <xref target="RFC8279"/> forwarding plane as much
as possible, and this lead to a lot of management and scalability issues
which would make experimentation not with it not very useful. <xref target="RFC8279"/>
can work fine in smaller scale deployments (networks and/or size of trees),
but the purpose of this experiment is also to find better solutions for future
hardware forwarding engines.</t>

</section>
</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3306">
  <front>
    <title>Unicast-Prefix-based IPv6 Multicast Addresses</title>
    <author fullname="B. Haberman" initials="B." surname="Haberman"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <date month="August" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3306"/>
  <seriesInfo name="DOI" value="10.17487/RFC3306"/>
</reference>

<reference anchor="RFC4291">
  <front>
    <title>IP Version 6 Addressing Architecture</title>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <date month="February" year="2006"/>
    <abstract>
      <t>This specification defines the addressing architecture of the IP Version 6 (IPv6) protocol. The document includes the IPv6 addressing model, text representations of IPv6 addresses, definition of IPv6 unicast addresses, anycast addresses, and multicast addresses, and an IPv6 node's required addresses.</t>
      <t>This document obsoletes RFC 3513, "IP Version 6 Addressing Architecture". [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4291"/>
  <seriesInfo name="DOI" value="10.17487/RFC4291"/>
</reference>

<reference anchor="RFC7346">
  <front>
    <title>IPv6 Multicast Address Scopes</title>
    <author fullname="R. Droms" initials="R." surname="Droms"/>
    <date month="August" year="2014"/>
    <abstract>
      <t>This document updates the definitions of IPv6 multicast scopes and therefore updates RFCs 4007 and 4291.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7346"/>
  <seriesInfo name="DOI" value="10.17487/RFC7346"/>
</reference>

<reference anchor="RFC8200">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="86"/>
  <seriesInfo name="RFC" value="8200"/>
  <seriesInfo name="DOI" value="10.17487/RFC8200"/>
</reference>

<reference anchor="RFC8279">
  <front>
    <title>Multicast Using Bit Index Explicit Replication (BIER)</title>
    <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
    <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
    <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
    <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>
    <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
    <date month="November" year="2017"/>
    <abstract>
      <t>This document specifies a new architecture for the forwarding of multicast data packets. It provides optimal forwarding of multicast packets through a "multicast domain". However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as "Bit Index Explicit Replication" (BIER). When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The procedures for forwarding a packet based on its BIER header are specified in this document. Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8279"/>
  <seriesInfo name="DOI" value="10.17487/RFC8279"/>
</reference>

<reference anchor="RFC8754">
  <front>
    <title>IPv6 Segment Routing Header (SRH)</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8754"/>
  <seriesInfo name="DOI" value="10.17487/RFC8754"/>
</reference>

<reference anchor="RFC8986">
  <front>
    <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="Z. Li" initials="Z." surname="Li"/>
    <date month="February" year="2021"/>
    <abstract>
      <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
      <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
      <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8986"/>
  <seriesInfo name="DOI" value="10.17487/RFC8986"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC3542">
  <front>
    <title>Advanced Sockets Application Program Interface (API) for IPv6</title>
    <author fullname="W. Stevens" initials="W." surname="Stevens"/>
    <author fullname="M. Thomas" initials="M." surname="Thomas"/>
    <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
    <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
    <date month="May" year="2003"/>
    <abstract>
      <t>This document provides sockets Application Program Interface (API) to support "advanced" IPv6 applications, as a supplement to a separate specification, RFC 3493. The expected applications include Ping, Traceroute, routing daemons and the like, which typically use raw sockets to access IPv6 or ICMPv6 header fields. This document proposes some portable interfaces for applications that use raw sockets under IPv6. There are other features of IPv6 that some applications will need to access: interface identification (specifying the outgoing interface and determining the incoming interface), IPv6 extension headers, and path Maximum Transmission Unit (MTU) information. This document provides API access to these features too. Additionally, some extended interfaces to libraries for the "r" commands are defined. The extension will provide better backward compatibility to existing implementations that are not IPv6-capable. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3542"/>
  <seriesInfo name="DOI" value="10.17487/RFC3542"/>
</reference>

<reference anchor="RFC3569">
  <front>
    <title>An Overview of Source-Specific Multicast (SSM)</title>
    <author fullname="S. Bhattacharyya" initials="S." role="editor" surname="Bhattacharyya"/>
    <date month="July" year="2003"/>
    <abstract>
      <t>The purpose of this document is to provide an overview of Source-Specific Multicast (SSM) and issues related to its deployment. It discusses how the SSM service model addresses the challenges faced in inter-domain multicast deployment, changes needed to routing protocols and applications to deploy SSM and interoperability issues with current multicast service models. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3569"/>
  <seriesInfo name="DOI" value="10.17487/RFC3569"/>
</reference>

<reference anchor="RFC7761">
  <front>
    <title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)</title>
    <author fullname="B. Fenner" initials="B." surname="Fenner"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
    <author fullname="I. Kouvelas" initials="I." surname="Kouvelas"/>
    <author fullname="R. Parekh" initials="R." surname="Parekh"/>
    <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
    <author fullname="L. Zheng" initials="L." surname="Zheng"/>
    <date month="March" year="2016"/>
    <abstract>
      <t>This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base. It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and it optionally creates shortest-path trees per source.</t>
      <t>This document obsoletes RFC 4601 by replacing it, addresses the errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Router features and authentication using IPsec that lack sufficient deployment experience (see Appendix A), and moves the PIM specification to Internet Standard.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="83"/>
  <seriesInfo name="RFC" value="7761"/>
  <seriesInfo name="DOI" value="10.17487/RFC7761"/>
</reference>

<reference anchor="RFC8296">
  <front>
    <title>Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non-MPLS Networks</title>
    <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
    <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
    <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
    <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
    <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
    <author fullname="I. Meilik" initials="I." surname="Meilik"/>
    <date month="January" year="2018"/>
    <abstract>
      <t>Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a "multicast domain", without requiring intermediate routers to maintain any per-flow state or to engage in an explicit tree-building protocol. When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The details of the encapsulation depend on the type of network used to realize the multicast domain. This document specifies a BIER encapsulation that can be used in an MPLS network or, with slight differences, in a non-MPLS network.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8296"/>
  <seriesInfo name="DOI" value="10.17487/RFC8296"/>
</reference>

<reference anchor="RFC9262">
  <front>
    <title>Tree Engineering for Bit Index Explicit Replication (BIER-TE)</title>
    <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
    <author fullname="M. Menth" initials="M." surname="Menth"/>
    <author fullname="G. Cauchie" initials="G." surname="Cauchie"/>
    <date month="October" year="2022"/>
    <abstract>
      <t>This memo describes per-packet stateless strict and loose path steered replication and forwarding for "Bit Index Explicit Replication" (BIER) packets (RFC 8279); it is called "Tree Engineering for Bit Index Explicit Replication" (BIER-TE) and is intended to be used as the path steering mechanism for Traffic Engineering with BIER.</t>
      <t>BIER-TE introduces a new semantic for "bit positions" (BPs). These BPs indicate adjacencies of the network topology, as opposed to (non-TE) BIER in which BPs indicate "Bit-Forwarding Egress Routers" (BFERs). A BIER-TE "packets BitString" therefore indicates the edges of the (loop-free) tree across which the packets are forwarded by BIER-TE. BIER-TE can leverage BIER forwarding engines with little changes. Co-existence of BIER and BIER-TE forwarding in the same domain is possible -- for example, by using separate BIER "subdomains" (SDs). Except for the optional routed adjacencies, BIER-TE does not require a BIER routing underlay and can therefore operate without depending on a routing protocol such as the "Interior Gateway Protocol" (IGP).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9262"/>
  <seriesInfo name="DOI" value="10.17487/RFC9262"/>
</reference>


<reference anchor="I-D.eckert-pim-rts-forwarding">
   <front>
      <title>Stateless Multicast Replication with Segment Routed Recursive Tree Structures (RTS)</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei Technologies USA</organization>
      </author>
      <author fullname="Michael Menth" initials="M." surname="Menth">
         <organization>University of Tuebingen</organization>
      </author>
      <author fullname="Steffen Lindner" initials="S." surname="Lindner">
         <organization>University of Tuebingen</organization>
      </author>
      <author fullname="Yisong Liu" initials="Y." surname="Liu">
         <organization>China Mobile</organization>
      </author>
      <date day="6" month="July" year="2025"/>
      <abstract>
	 <t>   BIER provides stateless multicast in BIER domains using bitstrings to
   indicate receivers.  BIER-TE extends BIER with tree engineering
   capabilities.  Both suffer from scalability problems in large
   networks as bitstrings are of limited size so the BIER domains need
   to be subdivided using set identifiers so that possibly many packets
   need to be sent to reach all receivers of a multicast group within a
   subdomain.

   This problem can be mitigated by encoding explicit multicast trees in
   packet headers with bitstrings that have only node-local
   significance.  A drawback of this method is that any hop on the path
   needs to be encoded so that long paths consume lots of header space.

   This document presents the idea of Segment Routed Recursive Tree
   Structures (RTS), a unifying approach in which a packet header
   representing a multicast distribution tree is constructed from a tree
   structure of vertices (&quot;so called Recursive Units&quot;) that support
   replication to their next-hop neighbors either via local bitstrings
   or via sequence of next-hop neighbor identifiers called SIDs.

   RTS, like RBS is intended to expand the applicability of deployment
   for stateless multicast replication beyond what BIER and BIER-TE
   support and expect: larger networks, less operational complexity, and
   utilization of more modern forwarding planes as those expected to be
   possible when BIER was designed (ca. 2010).

   This document only specifies the forwarding plane but discusses
   possible architectural options, which are primarily determined
   through the future definition/mapping to encapsulation headers and
   controller-plane functions.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-pim-rts-forwarding-03"/>
   
</reference>


<reference anchor="I-D.liu-pim-msr6-encapsulation-and-forwarding">
   <front>
      <title>Encapsulation and Forwarding Process for IPv6 Multicast Source Routing (MSR6) Data Plane</title>
      <author fullname="Yisong Liu" initials="Y." surname="Liu">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Xuesong Geng" initials="X." surname="Geng">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Changwang Lin" initials="C." surname="Lin">
         <organization>New H3C Technologies</organization>
      </author>
      <date day="24" month="April" year="2025"/>
      <abstract>
	 <t>   This document specifies the mechanism of IPv6 Multicast Source
   Routing (MSR6), covering the encapsulation and forwarding processes
   in the data plane. It introduces the hierarchical bitstring
   structure (HBS) to organize replication information, and represent
   more information than flat bit strings. It indicates multicast
   forwarding behavior based on the local bitstring forwarding table,
   requires less BIFT state and improve scalability.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-liu-pim-msr6-encapsulation-and-forwarding-01"/>
   
</reference>


<reference anchor="I-D.eckert-pim-mrh-experiment">
   <front>
      <title>Proposal for experimentation with stateless IPv6 multicast source routing in IPv6-only SRv6 networks via new IPv6 Multicast Routing Headers (MRH)</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei Technologies USA</organization>
      </author>
      <date day="3" month="March" year="2025"/>
      <abstract>
	 <t>   This document proposes experimentation to evaluate benefits and
   feasibility of an IPv6 routing extension header based architecture,
   implementation and deployment of stateless IPv6 multicast
   specifically for IPv6 only networks using SRv6 for IP unicast.

   This experimentation intends to explore options to support easier
   proliferation of technologies developed by BIER-WG by providing an
   IPv6/SRv6 network optimized packet header and per-hop forwarding
   mechanisms than BIERin6.  It also discusses how this work related to
   exploring advanced in-packet tree encoding mechanisms for both IPv6/
   SRv6 networks as well as BIER networks as a related effort.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-pim-mrh-experiment-00"/>
   
</reference>




    </references>


<?line 380?>

<section anchor="longer-headers"><name>Longer MRH headers</name>

<t>Currently, IPv6 extension headers can only be up to 255 byte in
size. It is also perceived common understanding that high-speed
IPv6 routers, which are also targeted by this memo can not well
support lookup into packets of more than 512 bytes, and that examining
a long header may reduce packet throughput performance. For example,
an <xref target="RFC8279"/> Bitstring has to be completely examined by a router,
so longer Bitstrings run into this problem.</t>

<t>However, with segment tree encoding in MRH sub-types, a single
Segment endpoint nodes does not need to examine the whole header
anymore, but only a consecutive smaller part of a potentially much
larger header. Likewise, if each node removes its part of the
MRH sub-type data for the copy sent to the next-hop node, then
each node will also have its part of the header start near the start
of MRH header, thus no look deep into the packet is necessary. Likewise,
router forwarding engines become like general purpose CPU, the less
problematic larger offsets into packet memory will be an issue, but
only the total amoun of processing needed to be done on the memory
accessed.</t>

<t>Finally, is it worth to have a larger header instead of sending multiple
packets ? Yes, for multicast packets it is. Consider that a 1024 byte
long extension header could address for example 4 times as many destinations
as a 256 byte extension header, so the bandwidth use near the source
of the packet is significantly reduced by as much as a factor of 4.</t>

<t>One possible option would be to use the X field in the MRH header to
indicate that the Hdr Ext Len indicates the length of the extension
header in 32 or 64 bits.</t>

</section>
<section anchor="changelog"><name>Changelog</name>

<t>00: initial version.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAP41a2gAA91cW3MbOXZ+x69A2Q+RHJKWZVkeq7KVlW9jVVm2I2k2s7W1
lQLZIIlxs8FtdEvmeDy/PecGNLpJyU48+5A4lR2K3Q0cnPv5zmmOx2M184Wr
Fie6bebjH5RqXFPaE321tPrsw/WxPm/Lxs1MaPSFbxu4U7+xprB10HvnF2/2
lZlOa3t9olf1UhV+VpkVPF3UZt6M7eyjrZvx2q3GcHV8cKBuYJ8PZ+dqZhq7
8PXmRNtPaxWa2prViT57dfVaK7euT3RTt6E5PDh4dnCo4Lqpiv8ypa9g6Y0N
au1O9N8aPxvp4Gt4eB7g02bFH2Z+tbJVE/6ulGmbpYfVlNZj+H/6xwReeVuX
NgT9imiMF2uPZ7eFa3wdv/M1EP26bdra3linr+xsWfnSL5wN+qfL03jbzLdV
gyfKvrMr40o4TGP/PAuTuWknhd2m5a8ueGDrW9f2tnyxdJXR537qSru1CV0c
bFO6dkNL/XmGV1f05ATYoVTl65Vp3LU9gWcuXr94/PjgWD4eHT57JB+fPj6K
3/4AvE8fnz6LH58+OYofn/0A9ypXzbOlceUnR4fx0/Ez/vT06fEj/vTD4bNj
/vTs8BjvOxu/nGRqUjdhDAvemJp0kq/DuViHQn08ttXMrENbwpa+GoNebN8/
UDvQMFs7VAmgdzweazMFhTOzRqmrpQsalLbFq7qwYVa7KYi1icpvPzW2CrAT
fOd1aNdr0DdtKt0tql2lb5ZutlSVveGnoqEsxVCapWnSw6DMjSXVq+26BMvC
g2hTW+1W69LikraALQqgZ136jS0UnJAXvrQL2jJu8M42N77+GCb6hS9LO0Mx
lJsR0h9s2h7WBoOD68Wtxsy2PFHqfWX1uq3XHp73c1gIGJSflfhQ2BVwBHjY
WD4b8gsW0DPgzNSq2w6CrDJ6XfuindGpK6Z/ok8rD2vUaWvaR4GsfVubhe2x
isiyGVUTFuvKFQVYirqv31/b+trZm6GAHdgO7g0Svl1OtjLT0u4Wk4K91wbU
qwl4FloEZHN5Af+tkiyuhtwHs+2ko1kU6it+daJ5+Q+yXRvwFhbskG5gu5qK
xq7SspHQqDx7bUUX9uOVif7Ppa1wzQ1RufWoKJJagcszlQsrErAwCPTAXHtX
MKfmbZk9Dy7Z6mnrSrRKFDj4al+ik25nS20CxoDx5flIff4s7uHLFzhwnxwh
N52DpFNZUCPYGo4bUKTwceVrUkPQjAo1ZWaBz/VIke52pAPX/U3oyLaONA5W
AR6Ogyt2aRkwW7ZXwEZUu5YNY8BrXBWcrr22dFO20ESjFtqOENKcpqeXeNqw
tjM3d6gcG92YemHReuZD7QJXY8GcO+3svB8sWvt2sYT1FzWoeOULVGMLVgIX
M829dgYWfaP3iPvo07982YdAXkIULjbawuLT0gU4PVirbAxCtHPYuZqR5Feu
civ3K58WIg1EJdyByILT/6N1NZm7SnSDH3goLAQ/C5dRL0maeEZTXBtYGkQL
iQNwIdE90lPwDLg2+Vh0DKYMXoGXCA7VEJ/etlVYqVMb5kqzWwgr8GWTHY4C
1OIbfL7oyK2eH13vrd7wq249mW4Uwg3oLNzT6MRFig3sOzNNWJemsgFV7/+o
P++Lw1dgE2IgEp23GA1kwfcODXplKjBLdsSqRFOqwQMD9Z+a7c2QtL2UxfgK
7W8/pQKkw58/35lVgOva0p8gKiRSPj4/fZcpMGWlrqGsqdOClGvEQ43UtIW1
ZDnXOPINBUh9RpJogI0Y5lAM4FC7DcD61yDQZB94Yg8+EZ5X2ckNs3I7ENE9
jV6A4axHsPqsbEmtujvJL/W19iH6KeAEBuCrncvmqQY7RdQxPiwJyLiKSZp7
dNb4DAi8LAIkbg80mAUIUBYZ65d27irWQfZjkLGiKODGN0WtX8G9byGc3Hlj
pOxqs7a336lfgW8nWkM7HTd4L7mh0rOnMWT/vbWmG312+u6UNhE+BSBn3vR3
+Zts8ne6EZ8cxzigX5rG0N2dJub3q7MqmimF6V1PE/P6nLVsyAGFH5b+puLD
vj77cQwrkSr/Dv+4sjjQ2/8e7fjucMd3j+MSj+DyY32kn+hj/VT/oJ/9T76j
Rf51/J3/R6v81lcg/DvXE/y7J8Lffv5NX739C3iMebANXP9jafmuf791q5xf
vroYR1Pce3T4g56CxyCHYooCPEHY/4ZVvpuWP4wvaGaXYGYkg6TOBarzt9Iy
mUy+4zzwNK3y8OFdt3x1mYcP/0C+3EHLt/wTWrJV3q851rGqg/4vIMn6iylb
q/dA6fe1n/4CUQZC47WpHeb7+ztW+Q5avp8v5KY+n+j74rs0AVd/uocfOZrf
+8JR5l5uI/f03r0uNF1CPgIZ7atPjsOUTWHt3j5kP3UN+YYyVc+eJvpsLlF5
cAVqgJmXXNxzCEF05csXLEa4tJG0NH94WHZh2nbGaUrPuB2m9M1wT3L+VaRH
X5697KhQkQoEa4CKmCVlRAguYLocetRlGFmWNqIyRA1rSAgXdxhsijz4cbVG
cmFVzAILKUmAXC7sFGQcK9f0QRGsqjQ6X7gTaztIOqjYg+wM/DTfc3lBhU6Y
qDN4Oq2N2RhUULAmhloIxzGlTaS6qpBKga+qnven0Dlh/cnPwnG4J5fCW5EM
Ji2cT8vOQLWGmrDeqHgz5IRrD7khV2cG+T8TMCvmpmbWtGCZVbuagjpiVRUT
iBISiBFiefrGt2XB2fw1We2UKlOowif6NWV8lAaaAGngKJ1dUi06m0pkc36H
xNzrpSr3+EaowNpGICwQuuVsFOozU+CWBSpZ5CVnmhww4Wv6K3kajKXiVTgx
AUY+PqRwBVrVgAQpicbyTq/MR6DOYb0/A60x9SYlsj0h8kKMB5AdQaGCIE2+
Lu5TsocbowpNUf8LTM2ToZQbMurK51QqoTJg7YtgAzOS+Q17ZMkBiTTEI89d
DcY83QA/zBw0QVHiBaYnAu5EAQr2zudFV4G5oYvakO2QMQT0Sf9qaz/qEv7E
JRU8L1aTM2MBSwlLGTxsvVVnQFlZluAA/BprOVyJfEfnJ9Bt1MZBHYfO58U5
VSt1jXX7lsPjnHkESssl4dHkSMzoZ/26NGSZKMo5AeoZwIqPWFij9BUUbGOh
DdPvs0af/3R5pQjzIcU6SLCYwD0FlcawhdzwiJ5ggZGlrVoQSeEC+HRygSo7
GkJA8WSwcG1WaL/6Q+0h7q1G+gUucDDSK+TxwkYx8wr/EpQEkdPokEkbhCcE
GVVApV9U7legM/cywhhRzkw7kn6vzEYjZAG7Fm0tYJpIaJLpB8cXhFOCWEO7
Lrg4yXX8/OonYgIWg5sYUNCISSQpEKmInSB3Om1lLLNX2CIaBuaFzrH2FEki
4IOtGSWku6hqOiBmBPsGDzxeMmgF2so4A5y2Av4W7MLsJ4OwA9iRYp1HMREH
hDiSeAf+Eb6DsFS7onMCOyEbPsBCB9mPPaFCsPRtjDRWfNi9+PKFzp0xDrWq
EfiV1ibwyKrtY+vAIifUAdePMJVwEI4P7qRsA9NGhjd3jSjCN2dlyTOZwC6D
w5LKAL2JPg0JMyGVry3U8hRFaN1OtWD3V59mdt0kH2vgA9WJQA5K2n2C/02O
D++4zGOSBApVi24j+zI0ClftCQ2khVpVJ7ih75AUl/9csNYtJCW4a+ZdWKaU
sTAgVQsPJM4n+EB1/hTCi7pP21K6QAwH1UGNLtycoE3wHMB32ozuYd1EPk1R
h699eS3hH6EACejxEFHvCaoQj0CrnEDMcQtMV+xOLsSFJJ+D7Ji1q5flxART
uE8JoDDrgb6qDbCvidsJ59NmvA7D5gZYtcKIk+2M9O7KTmApcTbwGGIdZaL1
bgpjhhpj3AP9akHXZFWDOIqkdZkuDXIjYj7kQihsXO4h/s84pe7Ap6UPTd8Z
g+815BsxUrbreLHCul88UGxGxM35wTwOE96eICAypi7Hs58wPYVKY0PNW22z
k0F+XSI+u1jGpA+YLHFmaRB3hePAg5jKUiMkYwuQ6hGwzFHEgLjrBjkrOTJ8
cuIhOMHENjRnRuCKrm3lCJ+XvA88AHgXxmF5C9Lupbm2kRQK8gHPkdoPLMww
YEAynoSAJZhVKdwmvwZKANk86rtnPYn3ikyz8kN0NZlxRO+VmdWeFC8VI9RT
qr1v2AZp3c7M8ugZyyikyxYLG81G0RLUbBHvNdIWoT0QVmM/xSXoLiqmwi7F
5HVLC2ykAKmG6lz5agyX57RTXz+YL+QipQWJOhyyoJ70Vd2pryiP+4gNJvub
laD5PTEQRAhJfWal93bc1pUHnWx7VRzVVMhEROGNKl2go2YnozKux5eclUM2
TPQ74JB8Q/J5yC55+FC/gOsCysNe96DaLaYgsG10cn3nkpYO7Bx2L4H+I+lk
7i2o5AG/jgKiewy3gjJNyE+c4ipc3lJjxzdJ9ePCsIGYtTBTphZzow6ofvqM
jfS+vowdv9s1IjbXvksd8Das6ktgpepbKYU3TDXulEyyk513qUxEyYffLibp
xu2WF/aemELQ4HntV187o/TZ0FdKHo8cx4KeSznkQMHuZGo3nlAVH5jI8dKv
g7jy/500cTSGpPmt0kqcZHYM7QjK13FnSyoDQ9Lx6dTc2isdFQc9d8OB1Ijx
zCjbhhwW0qIF5B4g9wmnU5g2jnIQA7wXtpJoOcNPTy2niD0HkuJr1t+PbHbV
Nr0ISSAZEYiYoknXVAiSfFcWwZOwdGs+SCRdEveYGg3wN+lRS2mKIE/SOMTV
YhgT4cpAwVxQKYXGgPlKjm9tMznaPGyIvJgZKqHgqdKtKEmM6k58ALVF571o
XVjC3c2NtRUx8i7T6SkA87LPbpxlAGanoM7FdF78oyN5X6XM8h2nzB+6MCVn
28YSuCjpCo9+HjGCZC/iAocTsjOF3Ur4coAg5AVEnLeIcytKvfE3mGKNdJYS
rYeniGnCsDHO+iA5ivK3wLARpqiI3tA39EjREA/N9lLnp3/VsAdi0TrlWZIB
cOCKibI8m1cFQ8bKiNkdsHGmTKEPUHYw7Naj1OJNwLY0FUU7R12p0T1Q25Kq
rsgXgsf4kJjEgfznOx5TvX2iXHpE3piEs8XrtMbLU6l2ew4JKtlF5euIUw1k
sVVQDDbuLZzBaK6G49lrMHIllcPg9CmRHSZjr9iFk++l1L7TG8o3sdcfMFvW
C4MJea7VuxXv7MPrs59HyjQNxEqegpjr//CXeu2xALGhX/kgsHnv9MVbBG3L
ZjDyk7Xw5xAGb3AOoCMQtTx/JsxASYst38gshH15bAhnRb982Z9EV5FcdJeT
YyV82kvSKZSFrAKosCYljX94ecFH2wgaiq6nJH9Id2X4P5R+wv9uTkCyLs5Q
pMct2T1PhclIEo3LVJi5rDdbUtQaCEZ0/6Jz2mJ+EMJZOcWv9DoaZOKpU/Fq
kBhTv2svr5Xj4vt4IsN+2veceefLqUNCniEi6bReXlHrvTTllVaOZyEpigii
FUwtYqwZQJmJKFqDoB7UUBrRjr7OLmVhGlISP3PkFIjMVBimkmybnXHBjPs5
5jfimbAtb3V5eZ4gaVQLhuweH1BvS/C742fYbsP1CVo47YGiKKEeZN2NoxV6
73L04z5BYpUtJz0G7gA6hoy627XqvR/346G5SccESbDiCgfMsidXpgFB3r3O
gN+cn77Y5ysRLsSy7HZCU/HBbYmdYMskjeNkZsiM609X5vaF3GSIeEmwg0gG
LAu90w18qXL27qgbg24540rW1WuE7bALJhmzRYXZ4txFH6Ix4JeD3soDGkTq
OSCeCOwhaAnl3oq5JoiHCewbrlij+qkxotldu2uHvaVHKd6Frps7fGyH8Cbp
4Xx2BQnOZ1d4SEqQjeaW/EumnlAJr7IBuqyN1ieJ4V6E0xaVOM6hNU+yo227
TO4TIrRSsJBcRK4nzMkcQia6dpExaI7s2IfgdG744Y60Ejf+UiNQ+Chd9U7F
pfWJEekO69jRb08OJoZsyCZyuk3T3b/ddI+Tyw57/TsJ22rO8uD0jtb/gAJ8
L4VmiIlCAufbKkijq08FQqXsxWOXjGvLLR5kGTUEmnVIMX83bDwchpTYGx62
IaFI0VwJa0V3GNUL+3nr6ATypF9RcKE5D5T9bb0Dqc1wSawPqZnMvXGJ/U02
lpqyVcpW8P683Oohl1ODKwieWfeGT7F6Syn2WJuP5iRveagIJkhmfzf56LRA
GxhuzxgfmUjhoPt+lCqM/vcgfWoNZbODQ0D3gX6ZxhTcvAOiZDQlr87nvVCd
ucWeWW3XuhlY3qFGcRsz3Ka3GN2CoHlWyUcyeiM3WS2RAoU4GfF1VM5Qf5Eg
K6y7b7KRGbGpU8gthsFb2vKRYiCHlvzFSztlhOHcDQhGCFC4npz7MaUuklr0
Jk84Obw8HeXBYT9fuB815NHAIECeG2FOEccISJ9xZTeghz0v99Rocp4vruO4
zfaaGFRAWen9CIROcFWqENI4eTT0iepLDyfNb1WikZ7VFlE6syMVp3sTokda
zWiITh2pYVvHVb3Fb6hKj6O6QDsYMYVDAb/yaMrjMKnt1jduPNSFxXeG6OIb
vx6/iG87ZATDso+y8y/9ml/Vw93/7U/60SibCeoAyCHABGpJ7klGLHrmTANN
lEn1jW64hhuiWiMca9lacWu997jzjYtlv7yjQZXo7md7HVfYOZF1116I/2TD
FlduhcN3KF5YazxG/uq3bgWmGb9lNe6gqMEQRn/2gkjIpjySPgyHW3LntxsQ
ZkQ0Za0HafgsYrzdWFYPb62Q4hz26WrUjCME+1JxOh9Ax2lZOsuL242Er/OA
BX77cpiYRg6JcryKQboLt/Q+lWzbeeALe1M7wc93sGRYPuVBCvxKwlvzRyXt
3Kw5NxlxBZ3nu72NGILCNxgCz2ZEcJRYJ+KiJQUj7pfDlIWxA6BEDIXmG+7S
0Ktr+AIUu/UB00dxdIEWN93bU/3hf0zPf2kpU+hNgBH+uQOtJsahJ8ObOHX0
t/aD7FAmoKui0VGbWXNpoCBzEYMObaAsDb4ZYwLc4DHGOcf36FKxnw3T0dQs
TXTCBU3pWt8pRxiVDgRrtjNEyqG6fX72+mp/OPcxHN3gHlWe1OmY1I1DsaP8
qqmuzp7mhpMzlHNm7wGr7EWt52fgEU09W4IOE3nxPTdeYeswLHPX8HmxBs8w
XD5CW618QfFjEql5dgxr9WjIx6lwhPf/72sU9O/yJf83/X0mf78/Pf8NnE1T
o8fa/vdPfY3iuWsuSdMhp+KCTuq/3e9A/P4H0vL7zh2+/d8/lZacL6X5Glv+
MBkNR/TRq3RT+vjXwPfgxH56GQmug43hS0ryUljeBohTkjuat5Jo0mA6DWO9
jH1YdI2FXxlX3YaRoIvAR87iI5fgK85i+lh/5bGo9bf2wMQFPsgE8vV7waAG
Q7PY5SHPiZcoBBTohneOk3Y74UQsY7pxUjoHSHDK9vLN+5/evsQ3PgltpwW6
9IUBIR42Wq3B501d6ZoNU7KGAFbJG4rYb7afuJJWmevNQsMS/guf7QlI6Pho
hNOQI3345Hiknzw6hD8PDuHLvcODI/j66ODZ8T4OaFFs780yY9igY6W3dPXz
y7dIOawl5+oGu1QfT8LVyffjBilLSBObrrqtF6eKNuWfh0+e8KQ3TbaWlLpG
5GKrOToBddo54qzUB78evAaQaUE3TX08Oeq98Y3pTAq/oCRZpTao0noDXvEl
gd67wZK0xiGkmtJA6QnlXTN/G/DDlcPz1xfjd88vYjKDpPUweLFeFB1monFo
KuY8cklQaclgUh5GSUvYkbNQmZ+/nnn1/CUVuzLjOWtrnPAE7UzKj1psG0nM
gQmmDIqSThAKViod5n5xdYlJxJ2/VSJTw/Ky8Df/ZAnPeTTo5vCNjikpIe5O
GpuNg/CscD5+6LHlq3OKpQOs6Fl+YZywmlkbBL0Cy0w/JNFLrLZ65Ai9tLOl
wrasmESEMhFmxKELwt1LTwrPo9s8yIoj9ZDnG/EPLoQWslGu5/nFFXybIXsH
m/UeDySTQ/SZxlDiSy25o0U0h043J+yq0mGFbzHVtKuVt9O5NNsb/v4AmSnq
HKTdYZ/fsB7YwY535AlGhOPChiijBl8PCL5suYHaeWYV/VrOT4u9NvLO+Csl
U8g/ce7iLfmA3nT95/sDx6DUi6i2o1tcCkFbhKnSzD8SmVySqxQel1x7PASc
Sl6YwJF4WKfFn7+gH1hK0/hLt1jim8RQfNOm8i5J7HhRWk4Mib9SQSCA/JYC
EUSitGWpol8uvf8I1FEbIP0uyTxrLoHbJ6ITXo6/xEIzVxhEUM06vBVbbjVj
MrHU5d94WIMwxYvhr0n0e4pqUEo8j1URoXbsm+I8GwKWPPDFjTlhwQhfr2EZ
dY8HqHMqPhkxYc2vjeRDKtIXZZ9JBV/3nlq/9MXjCza++5WxsD0qlY+m3Sx9
etkADrxZ0UAWKrng7ugu7KylXx6IZrM2dcMDWnkUJ+uXX0+I2Ppb99EyRuTm
jF8QtIcz5df0elJIi8UMrF8ERxCQ4IzYBtmqeaXH0m1Avo90jqaXB/ukl0sa
/K6yRoYt8U8lg0p8Cy7cIvdIIcFT2HWUXN4ZSa9TZSdWrAI7DBvdrl9h8Aen
trAV/s5C8icvPvw0kj5WCEp0w2BHQVjL+EHITYPsqN7wqbm3TD6UBKlIkIQ3
+QY2oh9fofDd4TAV42ms04Wv0iA2L6zMjJvOoKOvXSWIDL1dBr6yIdCV+Gx0
T/5p2o56suww0kt30ar/Xf8VtfiW12yQvfhjVRyzBJ+hdI+sX5GZbwEBMwoa
eT87jkweQT2xspRCg8lvckgpYOgynAiiNxyuOorv6kzB4dy4As7dEg4X1YeQ
ReW3mr1uUVEiRdkE+yH2EhwxqbGh52bWeHp78yj+qlZMLHmOQyLhlDLJNrD5
/ty9GRmLHGFB41X2kqXA/HkPuOsMbHdN09FVh5ZD3o8/THIk7VGISIwlln6h
1MHBSfzFEQzD+Cjc8t8FX+FALVAAAA==

-->

</rfc>

