<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-mpls-p2mp-bfd-07" ipr="trust200902" obsoletes="" updates="8562" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.0 -->
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <front>
    <title abbrev="Multi-Point BFD over P2MP MPLS LSP">BFD for Multipoint Networks over Point-to-Multi-Point MPLS LSP</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-p2mp-bfd-07"/>
    <author fullname="Greg Mirsky" initials="G." surname="Mirsky">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country/>
        </postal>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>
    <author fullname="Gyan Mishra" initials="G. " surname="Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <email>gyan.s.mishra@verizon.com</email>
      </address>
    </author>
    <author fullname="Donald Eastlake, 3rd" initials="D. " surname="Eastlake">
      <organization>Futurewei Technologies</organization>
      <address>
        <postal>
          <street>2386 Panoramic Circle</street>
          <city>Apopka</city>
          <code>FL 32703</code>
          <country>USA</country>
        </postal>
        <email>d3e3e3@gmail.com</email>
      </address>
    </author>
    
    <date year="2024"/>
    <area>Routing</area>
    <workgroup>MPLS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>BFD</keyword>
    <keyword>Multipoint LSP</keyword>
    <abstract>
      <t>
   This document describes procedures for using Bidirectional Forwarding
   Detection (BFD) for multipoint networks to detect data plane failures
   in Multiprotocol Label Switching (MPLS) point-to-multipoint (p2mp)
   Label Switched Paths (LSPs) and Segment Routing (SR) point-to-multipoint policies
   with SR-MPLS data plane.
      </t>
      <t>
   Furthermore, this document also updates RFC 8562 and
   recommends the use of an IPv6 loopback address
   (:::1/128) and discourages the use of an IPv4 loopback address mapped
   to IPv6.
   </t>
      <t>
   It also describes the applicability of LSP Ping,
   as in-band, and the control plane, as out-band, solutions to
   bootstrap a BFD session.
      </t>
      <t>
   It also describes the behavior of the active tail for head notification.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro-section" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
      <xref target="RFC8562"/> defines a method of using Bidirectional Detection (BFD) <xref target="RFC5880"/>
      to monitor and detect unicast failures between the sender
   (head) and one or more receivers (tails) in multipoint or multicast
   networks.
      </t>
      <t>
   <xref target="RFC8562"/> added two BFD session types - MultipointHead and
   MultipointTail.  Throughout this document, MultipointHead and
   MultipointTail refer to the value to which the bfd.SessionType is set on a
   BFD endpoint.
      </t>
      <t>
      This document describes procedures for using such
   modes of BFD protocol to detect data plane failures in Multiprotocol
   Label Switching (MPLS) point-to-multipoint (p2mp) Label Switched
   Paths (LSPs)  and Segment Routing (SR) point-to-multipoint policies
   with SR-MPLS data plane
      </t>
      <t>
   The document also describes the applicability of out-band
   solutions to bootstrap a BFD session in this environment.
      </t>
<t>
   Furthermore, this document also updates <xref target="RFC8562"/> and
   recommends the use of an IPv6 loopback address
   (:::1/128) and discourages the use of an IPv4 loopback address mapped
   to IPv6.
   </t>
      <t>
   It also describes the behavior of the active tail for head notification.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Conventions used in this document</name>
      <section numbered="true" toc="default">
        <name>Terminology</name>
        <ul>
        <li>MPLS:       Multiprotocol Label Switching</li>
        <li>LSP:        Label Switched Path</li>
        <li>BFD:        Bidirectional Forwarding Detection</li>
        <li>p2mp:       Point-to-Multipoint</li>
        <li>FEC:        Forwarding Equivalence Class</li>
        <li>G-ACh:      Generic Associated Channel</li>
        <li>ACH:        Associated Channel Header</li>
        <li>GAL:        G-ACh Label</li>
        <li>LSR:        Label Switching Router</li>
        <li>SR:           Segment Routing</li>
        <li>SR-MPLS:   SR with MPLS data plane</li>
      </ul>
      </section>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> 
   when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="encaps-section" numbered="true" toc="default">
      <name>Multipoint BFD Encapsulation</name>
      <t>
      <xref target="RFC8562" format="default"/> uses BFD in the Demand mode 
      from the very start of a point-to-multipoint (p2mp) BFD session. Because the
      head doesn't receive any BFD Control packet from a tail, the head of the p2mp BFD
      session transmits all BFD Control packets with the value of Your Discriminator field set to zero. As a result, a tail cannot demultiplex
      BFD sessions using Your Discriminator, as defined in <xref target="RFC5880" format="default"/>.
      <xref target="RFC8562" format="default"/> requires that to demultiplex BFD sessions,
      the tail uses the source IP address, My Discriminator, and the identity of the multipoint tree
      from which the BFD Control packet was received.
      <!-- The p2mp MPLS LSP label MAY provide the identification of the multipoint tree 
      in case of an inclusive p-tree (Section 2.2.1 <xref target="RFC6513"/>) or upstream-assigned label
      in case of aggregate p-tree (Section 6.3 <xref target="RFC6513"/>).-->
      If the BFD Control packet is encapsulated in IP/UDP, then the source IP address
      MUST be used to demultiplex the received BFD Control packet as described in <xref target="ip-encaps-section" format="default"/>.
      The non-IP encapsulation case is described in <xref target="non-ip-encaps-section" format="default"/>.
      </t>
      <section anchor="ip-encaps-section" numbered="true" toc="default">
        <name>IP Encapsulation of Multipoint BFD</name>
        <t>
        <xref target="RFC8562" format="default"/> defines IP/UDP encapsulation for multipoint BFD 
        over p2mp MPLS LSP. This document updates <xref target="RFC8562"/> regarding the selection of
        the IPv6 destination address: <!-- follows the same rules as
        defined in Section 7 <xref target="RFC5884"/> for BFD over p2p LSP -->
        </t>
      <ul spacing="normal">
      <li><xref target="RFC4291"/> defines a single IPv6 loopback address. Hence, for IPv6, the IPv6 loopback address ::1/128 SHOULD be used.</li>
      <li>The sender of an echo request MAY select the IPv6 destination  address from the 0:0:0:0:0:FFFF:7F00/104 range.</li>
     <!-- <li>To exercise all paths in an ECMP environment, the entropy other than the IP destination address SHOULD use
      the Entropy Label <xref target="RFC6790"/> to discover multiple alternate paths in an MPLS network.</li> -->
</ul>   
  <!--
          <li>UDP destination port MUST be set to 3784;</li>
  
   <t>destination IP address MUST be set to one of the loopback addresses
   from 127/8 range for IPv4 or to one of IPv4-mapped IPv4 loopback
   addresses from ::ffff:127.0.0.0/104 range for IPv6.;</t>
  
   <li>
   destination IP address MUST be set to the loopback address
      127.0.0.1/32 for IPv4, or the loopback address ::1/128 for IPv6 <xref target="RFC4291" format="default"/>. Note that
      that is different from how the destination IP address selection is defined in Section 7 <xref target="RFC5884" format="default"/>.
      Firstly, because only one loopback address ::1/128 is defined in IPv6. And also, it is recommended to use the Entropy Label <xref target="RFC6790" format="default"/>
      to discover multiple alternate paths in an MPLS network. Using a single loopback address both for IPv4 and IPv6
      encapsulation makes it consistent and more straightforward
      for an implementation.
      </li>
 -->
        <t>
        The Motivation section <xref target="RFC6790" format="default"/> lists several advantages of generating the entropy value
        by an ingress Label Switching Router (LSR) compared to when a transit LSR infers entropy using the information in the MPLS label stack or payload.
        Thus this specification further clarifies that:
        </t>
        <ul empty="true" spacing="normal">
          <li>if multiple alternative paths for the given p2mp LSP Forwarding 
        Equivalence Class (FEC) exist, the MultipointHead
        SHOULD use the Entropy Label <xref target="RFC6790" format="default"/> used for LSP Ping <xref target="RFC8029" format="default"/>
        to exercise those particular alternative paths;</li>
        <li>
       <!--
        or the MultipointHead MAY use the UDP port number as discovered by LSP Ping traceroute 
        <xref target="RFC8029" format="default"/> as the source UDP port number to possibly exercise those
        particular alternate paths. 
        -->
       or the MultipointHead MAY use the UDP port number to possibly exercise those particular alternate paths.
        </li>
        </ul>
      </section>
      <section anchor="non-ip-encaps-section" numbered="true" toc="default">
        <name>Non-IP Encapsulation of Multipoint BFD</name>
        <t>
          In some environments, the overhead of extra IP/UDP encapsulations may be
   considered burdensome, making the use of more compact G-ACh
   encapsulation attractive. Also, the validation of the IP/UDP encapsulation of a BFD Control packet in a p2mp BFD session
   may fail because of a problem related to neither the MPLS label stack nor to BFD. Avoiding unnecessary encapsulation
   of p2mp BFD over an MPLS LSP improves the accuracy of the correlation of the detected failure and defect in MPLS LSP.
     Non-IP encapsulation for multipoint BFD over p2mp MPLS LSP (shown in <xref target="non-ip-p2mp-bfd-pic" format="default"/>) MUST use Generic 
        Associated Channel (G-ACh) Label (GAL) (see <xref target="RFC5586" format="default"/>) at the bottom of the label
        stack followed by an Associated Channel Header (ACH). If a BFD Control packet in PW-ACH encapsulation (without IP/UDP Headers) is to be used in ACH,
        an implementation would not be able to verify the identity of the MultipointHead and, as a result, will not properly demultiplex BFD packets. Hence,
        a new channel type value is needed. The Channel Type field in ACH MUST be set to
        TBA1 value <xref target="iana-sec" format="default"/>. To provide the identity of the MultipointHead for the particular
        multipoint BFD session, a Source Address TLV, as defined in Section 4.1
        <xref target="RFC7212" format="default"/>, MUST immediately follow a BFD Control message. The use of 
        other TLVs defined in Section 4 of <xref target="RFC7212"/> is outside the scope of this document.
        </t>
        <!--
       <figure anchor="non-ip-p2mp-bfd-pic">
          <name>Non-IP Encapsulation of the BFD Control Message for P2MP BFD Session</name>
        <artwork name="" type="" align="left" alt="">    
-->
      <figure anchor="non-ip-p2mp-bfd-pic">
          <name>Non-IP Encapsulation for Multipoint BFD Over a Multicast MPLS LSP</name>
          <artwork name="" type="" align="left" alt=""><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               LSP Label               |  TC |S|       TTL     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  GAL                  |  TC |1|       TTL     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0 0 0 1|Version|   Reserved    |      Channel Type = TBA1      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                        BFD Control Message                    ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type=0    |    Reserved   |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Reserved (16 bits)       |    Address Family (16 bits)   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                            Address                            ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="bootstrapping-section" numbered="true" toc="default">
      <name>Bootstrapping Multipoint BFD</name>
      <section anchor="lsp-section" numbered="true" toc="default">
        <name>LSP Ping</name>
        <t>
        LSP Ping is the part of the on-demand OAM toolset used to detect and localize defects in the data plane and
        verify the control plane against the data plane by ensuring that the LSP is mapped to the same FEC
        at both egress and ingress endpoints. 
        </t>
        <t>
      LSP Ping,  as defined in <xref target="RFC6425" format="default"/>, MAY be used to bootstrap MultipointTail. If LSP Ping is used,
        it MUST include the Target FEC TLV and the BFD Discriminator TLV defined in <xref target="RFC5884" format="default"/>. For the case of p2mp MPLS LSP, the Target FEC TLV
        MUST use sub-TLVs defined in Section 3.1 <xref target="RFC6425" format="default"/>. For the case of p2mp SR policy with SR-MPLS data plane, 
        an implementation of this specification MUST follow procedures defined in <xref target="RFC8287" format="default"/>. Setting the value 
        of Reply Mode field to "Do not reply" <xref target="RFC8029"/> for the  LSP Ping to bootstrap MultipointTail of the p2mp BFD session is RECOMMENDED.
        Indeed, because BFD over a multipoint network uses BFD Demand mode, the LSP echo reply from a tail has no useful information to convey to the head,
        unlike in the case of the BFD over a p2p MPLS LSP <xref target="RFC5884" format="default"/>.
        A MultipointTail that receives an LSP Ping that includes the BFD Discriminator TLV:
        </t>
        <ul spacing="normal">
          <li>
        MUST validate the LSP Ping;
        </li>
          <li>
        MUST associate the received BFD Discriminator value with the p2mp LSP;
        </li>
          <li>
        MUST create a p2mp BFD session and set bfd.SessionType =
      MultipointTail as described in <xref target="RFC8562" format="default"/>;
      </li>
          <li>
      MUST use the source IP address of LSP Ping, the value
      of BFD Discriminator from the BFD Discriminator TLV, and the identity of the p2mp LSP
       to properly demultiplex BFD sessions.</li>
        </ul>
        <t>
        Besides bootstrapping a BFD session over a p2mp LSP, LSP Ping SHOULD be used to verify the control plane
        against the data plane periodically by checking that the p2mp LSP is mapped  to the same FEC at the
        MultipointHead and all active MultipointTails. The rate of generation of these LSP Ping Echo request
   messages SHOULD be significantly less than the rate of generation of
   the BFD Control packets because LSP Ping requires more processing to validate
   the consistency between the data plane and the control plane. An implementation MAY provide configuration
   options to control the rate of generation of the periodic LSP Ping Echo request messages.
        </t>
      </section>
      <section anchor="control-plane-section" numbered="true" toc="default">
        <name>Control Plane</name>
        <t>
        The BGP-BFD Attribute <xref target="RFC9026" format="default"/> MAY be used to bootstrap multipoint BFD 
        session on a tail.
        </t>
      </section>
    </section>
    <section anchor="operation-sec" numbered="true" toc="default">
      <name>Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP</name>
      <t>
<xref target="RFC8562" format="default"/> defined how the BFD Demand mode can be used in multipoint networks.
When applied in MPLS, procedures specified in <xref target="RFC8562" format="default"/> allow an egress LSR to detect a failure of the part of the MPLS p2mp LSP
from the ingress LSR. The ingress LSR is not aware of the state of the p2mp LSP. <xref target="RFC8563" format="default"/>, using mechanisms defined in <xref target="RFC8562" format="default"/>,
defined an "active tail" behavior. An active tail might notify the head of the detected failure and responds to a poll sequence initiated by the head.
The first method, referred to as Head Notification without Polling, is mentioned in Section 5.2.1 <xref target="RFC8563" format="default"/>,
is the simplest of all described in <xref target="RFC8563" format="default"/>.
The use of this method in BFD over MPLS p2mp LSP is discussed in this document.
Analysis of other methods of a head learning of the state of an MPLS p2mp LSP is outside the scope of this document.
</t>
      <t>
As specified in <xref target="RFC8563" format="default"/> for the active tail mode, BFD variables MUST be as follows:
</t>
      <t>On an ingress LSR:
</t>
      <ul spacing="normal">
        <li>bfd.SessionType is MultipointHead;</li>
        <li>bfd.RequiredMinRxInterval is set to nonzero, allowing egress LSRs to send BFD Control packets.</li>
      </ul>
      <t>On an egress LSR:
</t>
      <ul spacing="normal">
        <li>bfd.SessionType is MultipointTail;</li>
        <li>bfd.SilentTail is set to zero.</li>
      </ul>
      <t>
In Section 5.2.1 <xref target="RFC8563" format="default"/> is noted that "the tail sends unsolicited BFD packets in response
to the detection of a multipoint path failure" but without the specifics on the information in the packet and frequency  of transmissions.
This document defines below the procedure of an active tail with unsolicited notifications for p2mp MPLS LSP.
</t>
      <t>Upon detecting the failure of the p2mp MPLS LSP, an egress LSR sends BFD Control packet with the following settings:
</t>
      <ul spacing="normal">
        <li>the Poll (P) bit is set;</li>
        <li>the Status (Sta) field set to Down value;</li>
        <li>the Diagnostic (Diag) field set to Control Detection Time Expired value;</li>
        <li>the value of the Your Discriminator field is set to the value the egress LSR has been using to demultiplex that BFD multipoint session;</li>
        <li>
BFD Control packet MAY be encapsulated in IP/UDP with the destination IP address of the ingress LSR
and the UDP destination port number set to 4784 per <xref target="RFC5883" format="default"/>. If non-IP encapsulation is 
used, then a BFD Control packet is encapsulated using PW-ACH encapsulation (without IP/UDP Headers)
with Channel Type 0x0007 <xref target="RFC5885" format="default"/>;
</li>
        <li>
these BFD Control packets are transmitted at the rate of one per second
  until either it receives a control packet valid for this BFD session
  with the Final (F) bit set from the ingress LSR or the defect
  condition clears. However, to improve the likelihood of notifying the ingress LSR of the failure of the p2mp MPLS LSP,
  the egress LSR SHOULD initially transmit three BFD Control packets defined above in short succession.
  The actual transmission of the periodic BFD Control message MUST be jittered by up to 25% within one-second intervals.
  Thus, the interval MUST be reduced by a random value of 0 to 25%, to reduce the possibility of congestion on the ingress LSR's
  data and control planes.
  </li>
      </ul>
      <t>
As described above, an ingress LSR that has received the BFD Control packet
sends the unicast IP/UDP encapsulated BFD Control packet with the Final (F) bit set
to the egress LSR. In some scenarios, e.g., when a p2mp LSP is broken close to its root, and the number of egress LSRs is significantly large,
the root might receive a large number of notifications. The notifications from leaves to the root will not use DetNet resources and, as a result,
will not congest DetNet flows, although they may negatively affect other flows.
However, the control plane of the ingress LSR might be congested by the BFD Control packets transmitted by egress LSRs and the process of generating
unicast BFD Control packets, as noted above. To mitigate that, a BFD implementation that supports this specification is RECOMMENDED to use a rate limiter
of received BFD Control packets passed to the ingress LSR’s control plane for processing.
</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
      This document does not introduce new security considerations but inherits all security considerations
      from <xref target="RFC5880" format="default"/>, <xref target="RFC5884" format="default"/>, <xref target="RFC7726" format="default"/>,
      <xref target="RFC8562" format="default"/>, <xref target="RFC8029" format="default"/>, and <xref target="RFC6425" format="default"/>.
      </t>
      <t>
      Also, BFD for p2mp MPLS LSP MUST follow the requirements listed in section 4.1 <xref target="RFC4687" format="default"/> to avoid congestion
      in the control plane or the data plane caused by the rate of generating BFD Control packets. An operator SHOULD
      consider the amount of extra traffic generated by p2mp BFD when selecting the interval at which the
      MultipointHead will transmit BFD Control packets. The operator MAY consider the size of the packet the MultipointHead transmits
      periodically as using IP/UDP encapsulation, which adds up to 28 octets, more than 50% 
      of the BFD Control packet length, comparing to G-ACh encapsulation.
      </t>
    </section>
    <section anchor="iana-sec" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <!-- <section anchor="iana-p2mp-bfd-ach-alloc" title="Multipoint BFD over MPLS LSP Associated Channel Type"> -->
    <t>
    IANA is requested to allocate value (TBA1) from its MPLS Generalized Associated Channel (G-ACh) Types registry.
      </t>
      <table anchor="p2mp-ach-table" align="center">
        <name>Multipoint BFD Session G-ACh Type</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBA1</td>
            <td align="center">Multipoint BFD Session</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
      <!-- </section> -->
    <!--
      <section anchor="iana-source-mep-ip" title="Source IP Address Type">
        <t>IANA is required to allocate value (TBA2) for the
        Source IP Address type from the "CC/CV MEP-ID TLV" registry
        which is under the "MPLS Generalized Associated Channel (G-ACh) Types" registry.</t>

    <texttable anchor="source-mep-id-ip-table" title="Source IP Address TLV Type">
    <ttcol align="left">Value</ttcol>
    <ttcol align="center">Description</ttcol>
    <ttcol align="left">Reference</ttcol>
    <c>TBA2</c>
    <c>IP Address</c>
    <c>This&nbsp;document</c>
    </texttable>
        
      </section>
-->
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>
      The authors sincerely appreciate the comments received from Andrew Malis, Italo Busi, Shraddha Hegde,
      and thought stimulating questions from Carlos Pignataro.
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5880.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5884.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8287.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5586.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7212.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6425.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7726.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8562.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8563.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5883.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5885.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4687.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>
        <!-- <?rfc include='reference.RFC.6513'?> -->
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9026.xml"/>
      </references>
    </references>
  </back>
</rfc>
