<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.11 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dong-idr-bgp-ls-scalable-nrp-01" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="BGP-LS for Scalable NRP">BGP Link State Extensions for Scalable Network Resource Partition</title>
    <seriesInfo name="Internet-Draft" value="draft-dong-idr-bgp-ls-scalable-nrp-01"/>
    <author initials="J." surname="Dong" fullname="Jie Dong">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <city>Guangzhou</city>
          <country>China</country>
        </postal>
        <email>zhuyq8@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="Z." surname="Hu" fullname="Zehua Hu">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <city>Guangzhou</city>
          <country>China</country>
        </postal>
        <email>huzh2@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="J." surname="Ge" fullname="Jun Ge">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jack.gejun@huawei.com</email>
      </address>
    </author>
    <author initials="K." surname="Zhang" fullname="Ka Zhang">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangka@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="April" day="24"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 69?>

<t>Enhanced VPNs aim to deliver VPN services with enhanced characteristics, such as guaranteed resources, latency, jitter, etc., so as to support customers requirements on connectivity services with these enhanced characteristics. Enhanced VPN requires integration between the overlay VPN connectivity and the characteristics provided by the underlay network. A Network Resource Partition (NRP) is a subset of the network resources and associated policies on each of a connected set of links in the underlay network. An NRP could be used as the underlay to support one or a group of enhanced VPN services. The NRP-specific resource information and status needs to be collected from network nodes and reported to the network controller for NRP-specific management and path computation.</t>
      <t>This document specifies the BGP Link-State (BGP-LS) mechanisms with necessary extensions to advertise the information of NRPs to network controller in a scalable way. The NRP information is advertised using a separate type of BGP-LS NLRI, which allows flexible update of NRP information without impacting the based link state information.</t>
    </abstract>
  </front>
  <middle>
    <?line 76?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Enhanced VPNs aim to deliver VPN services with enhanced characteristics, such as guaranteed resources, latency, jitter, etc., so as to support customers requirements on connectivity services with these enhanced characteristics. Enhanced VPN requires integration between the overlay VPN connectivity and the characteristics provided by the underlay network. <xref target="I-D.ietf-teas-ietf-network-slices"/> discusses the general framework, the components, and interfaces for requesting and operating network slices using IETF technologies. Network slice is considered as one target use case of enhanced VPNs.</t>
      <t><xref target="I-D.ietf-teas-ietf-network-slices"/> also introduces the concept of the Network Resource Partition (NRP), which is a subset of the buffer/queuing/scheduling resources and associated policies on each of a connected set of links in the underlay network. An NRP can be associated with a logical network topology to select or specify the set of links and nodes involved. <xref target="I-D.ietf-teas-enhanced-vpn"/> specifies the framework of NRP-based enhanced VPN and describes the candidate component technologies in different network planes and network layers. An NRP could be used as the underlay to meet the requirement of one or a group of enhanced VPN services. To meet the requirement of enhanced VPN services, a number of NRPs can be created, each with a subset of network resources allocated on network nodes and links in a customized topology of the physical network.</t>
      <t>The NRP-specific resource information and status needs to be collected from network nodes and reported to the network controller for NRP-specific management and path computation. When an NRP spans multiple IGP areas or multiple Autonomous Systems (ASes), BGP-LS <xref target="RFC9552"/> is needed to advertise the NRP information in each IGP area or AS to the network controller, so that the network controller could use the collected information to build the view of inter-area or inter-AS NRPs.</t>
      <t>This document specifies the BGP-LS mechanisms with necessary extensions to advertise the information of NRPs to network controller in a scalable way. The NRP information is advertised using a separate type of BGP-LS NLRI, which allows flexible update of NRP information without impacting the based link state information.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="bgp-ls-extensions-for-nrp-information-advertisement">
      <name>BGP-LS Extensions for NRP Information Advertisement</name>
      <t>BGP-LS <xref target="RFC9552"/> defines the mechanisms for advertisement of Node, Link, and Prefix Link-State NLRI types and their associated attributes via BGP.</t>
      <t>According to <xref target="I-D.ietf-teas-ietf-network-slices"/>, each NRP consists of a set of dedicated or shared network resources on a connected set of links in the underlay network. Thus a NRP can be defined as the combination of a set of network attributes of network nodes and links, which include the topology attribute, resources attributes, etc.</t>
      <t>NRP is usually created based on the partitioning of network resources of network links, there are two possible ways for the advertisement of NRP-specific information.</t>
      <t>The first approach is to advertise the NRP information as link attributes of the layer-3 link using existing BGP-LS Link NLRI. However, this approach may have some scalability problem when the number of NRPs on a layer-3 link becomes large. First of all, the amount of NRP information associated with the link would increase in proportion to the number of NRPs the link participates in, and in some cases the NRP information may not be able to be accommodated in one BGP Update message. Secondly, for a specific link, when the information of only one NRP changes, the link NLRI and all the link attributes and all the associated NRP attributes need to be updated. This would result in unnecessary route advertisement.</t>
      <t>The second approach is to introduce dedicated BGP-LS NLRI type for the advertisement of NRP-specific information. This way, the information associated with each NRP can be advertised and updated separately. This can alleviate the burden of the problems with the first approach.</t>
      <t>Thus for better scalability, this document proposes the BGP-LS extensions and mechanisms of the second approach. The NRP information pertaining to a link is advertised via a new BGP-LS NLRI and the associated BGP-LS Attribute as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The NRP Identification information and the identifiers of its associated link is carried using a new BGP-LS NRP Link NLRI.</t>
        </li>
        <li>
          <t>The attributes of the NRP on the associated link are carried as TLVs of the associated BGP-LS Attribute.</t>
        </li>
      </ul>
      <t>This document focuses on the advertisement of NRP-specific information on the associated network links. The advertisement of NRP-specific information on the associated network nodes are for further study.</t>
      <section anchor="bgp-ls-nrp-link-nlri">
        <name>BGP-LS NRP Link NLRI</name>
        <t>A new BGP-LS NLRI type called "NRP-link" is defined for advertisement NRP-specific link information. The NLRI-Type is to be assigned by IANA (TBD1). Its format is shown as below:</t>
        <figure anchor="ref-to-fig1">
          <name>Encoding of NRP-Link NLRI</name>
          <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
 +-+-+-+-+-+-+-+-+
 |  Protocol-ID  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                           Identifier                          |
 +                           (8 octets)                          +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //            Local Node Descriptors TLV (variable)            //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //            Remote Node Descriptors TLV (variable)           //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //               Link Descriptors TLVs (variable)              //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //                NRP Descriptors TLV  (variable)              //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>The encoding and semantics of Protocol-ID, Identifier, Local Node Descriptors and Remote Node Descriptors are the same as defined in <xref target="RFC9552"/>. If interface and neighbor addresses, either IPv4 or IPv6, are present, then the interface/neighbor address TLVs <bcp14>MUST</bcp14> be
included in the Link Descriptors. If the link borrows the address from another interface, then both the Link Local/Remote Identifiers and the interface/neighbor address TLVs <bcp14>MUST</bcp14> be included.</t>
        <t>The NRP Descriptors TLV contains descriptors of the NRP which the link is associated with. This is a mandatory TLV for NRP-Link NLRIs. The type is to be assigned by IANA (TBD2). The length of this TLV is variable.  The value contains one or more NRP Descriptor sub-TLVs defined in <xref target="nrp-descriptors-sub-tlvs"/>.</t>
        <section anchor="nrp-descriptors-sub-tlvs">
          <name>NRP Descriptors Sub-TLVs</name>
          <t>In this document, one NRP Descriptors sub-TLV is defined as below:</t>
          <table anchor="ref-to-tab1">
            <name>NRP Descriptor Sub-TLVs</name>
            <thead>
              <tr>
                <th align="left">Sub-TLV Code Point</th>
                <th align="left">Description</th>
                <th align="left">Length</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD3</td>
                <td align="left">NRP ID</td>
                <td align="left">4</td>
              </tr>
            </tbody>
          </table>
          <t>NRP ID: A 32-bit network-wide unique identifier, which is used to identify an NRP the link is associated with.</t>
          <t>The NRP ID sub-TLV is mandatory in the NRP Descriptors. There <bcp14>MUST</bcp14> be only one instance of NRP ID Sub-TLV present in the NRP Descriptors.</t>
        </section>
      </section>
      <section anchor="nrp-attribute-tlvs">
        <name>NRP Attribute TLVs</name>
        <t>The NRP Attribute TLVs are a set of TLVs that may be encoded in the BGP-LS Attribute associated with an NRP-Link NLRI.</t>
        <t>The following NRP Attribute TLVs can be carried as NRP attribute TLVs.</t>
        <table anchor="ref-to-tab2">
          <name>NRP Attribute TLVs</name>
          <thead>
            <tr>
              <th align="left">TLV Code Point</th>
              <th align="left">Description</th>
              <th align="left">Length</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1089</td>
              <td align="left">Maximum Link Bandwidth</td>
              <td align="left">4</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">NRP Hierarchy</td>
              <td align="left">1</td>
            </tr>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">Parent NRP ID</td>
              <td align="left">1</td>
            </tr>
          </tbody>
        </table>
        <t>The Maximum Link Bandwidth TLV as defined in <xref target="RFC9552"/> is used as an NRP Link Attribute TLV to indicate the amount of link bandwidth allocated to an NRP. It is mandatory in BGP-LS Attribute which is associated with an NRP-Link NLRI.</t>
        <t>Other link attributes <bcp14>MAY</bcp14> also be used as NRP Link Attribute TLVs. The details are for further study.</t>
        <section anchor="nrp-hierarchy-tlv">
          <name>NRP-Hierarchy TLV</name>
          <t>A new NRP Attribute TLV is defined to carry the NRP Hierarchy information. The format of the NRP Hierarchy TLV is as below:</t>
          <figure anchor="ref-to-fig2">
            <name>Encoding of NRP Hierarchy TLV</name>
            <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Type             |             Length            | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flags    |   Hierarchy   | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type (16 bits): TBD4.</t>
          <t>Length (16 bits): Length of the value field in octets. The value is 1.</t>
          <t>Flags: 8-bit flags field. The most significant flag is defined in this document.  The rest of the flags <bcp14>SHOULD</bcp14> be set to 0 on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
          <figure anchor="ref-to-fig3">
            <name>Flags Field of NRP Hierarchy TLV</name>
            <artwork><![CDATA[
+-+-+-+-+-+-+-+-+
|S|             |
+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>S flag: Secondary NRP. When the S flag is set to 1, it indicates the link of the NRP reuses the interface IP address and L3 control session from its primary link.</t>
          <t>Hierarchy: Indicates the level to which the NRP belongs. When the value is 1, the NRP is a first-level NRP on the associated link. When the value is 2, the NRP is a second-level NRP on the associated link. By default, two levels of NRPs can be supported.</t>
        </section>
        <section anchor="parent-nrp-id-tlv">
          <name>Parent NRP ID TLV</name>
          <t>When an NRP is derived from another NRP (called parent NRP), the Parent NRP ID TLV is used to carry the identifier of the parent NRP. The format of the Parent NRP ID TLV is as below:</t>
          <figure anchor="ref-to-fig4">
            <name>Encoding of Parent NRP ID TLV</name>
            <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Type             |             Length            | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Parent NRP ID                         | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type (16 bits): TBD5.</t>
          <t>Length (16 bits): Length of the value field in octets. The value is 4.</t>
          <t>Parent NRP ID: The NRP ID of the parent NRP.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document introduces no additional security vulnerabilities in addition to the ones as described in <xref target="RFC9552"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign a new code point for "NRP-Link NLRI" under the "BGP-LS NLRI Types" Registry.</t>
      <table anchor="ref-to-tab3">
        <name>NRP NLRI Type</name>
        <thead>
          <tr>
            <th align="left">Type</th>
            <th align="left">NLRI Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">NRP Link NLRI</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to assign the following new code points for under the "BGP-LS NLRI and Attribute TLVs" Registry.</t>
      <table anchor="ref-to-tab4">
        <name>NRP related TLV/Sub-TLVs</name>
        <thead>
          <tr>
            <th align="left">TLV Code Point</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">NRP Descriptors</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD3</td>
            <td align="left">NRP ID</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD4</td>
            <td align="left">NRP Hierarchy</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD5</td>
            <td align="left">Parent NRP ID</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Mengkai Zhao and Tianle Zhang for the review and discussion of this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="I-D.ietf-teas-ietf-network-slices" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-ietf-network-slices-25" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-ietf-network-slices.xml">
        <front>
          <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
          <author fullname="Adrian Farrel" initials="A." surname="Farrel">
            <organization>Old Dog Consulting</organization>
          </author>
          <author fullname="John Drake" initials="J." surname="Drake">
            <organization>Juniper Networks</organization>
          </author>
          <author fullname="Reza Rokui" initials="R." surname="Rokui">
            <organization>Ciena</organization>
          </author>
          <author fullname="Shunsuke Homma" initials="S." surname="Homma">
            <organization>NTT</organization>
          </author>
          <author fullname="Kiran Makhijani" initials="K." surname="Makhijani">
            <organization>Futurewei</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
            <organization>Nvidia</organization>
          </author>
          <date day="14" month="September" year="2023"/>
          <abstract>
            <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice, and establishes the general principles of network slicing in the IETF context. The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and how abstract requests can be mapped to more specific technologies. The document also discusses related considerations with monitoring and security. This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slices-25"/>
      </reference>
      <reference anchor="I-D.ietf-teas-enhanced-vpn" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-enhanced-vpn-17" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-enhanced-vpn.xml">
        <front>
          <title>A Framework for NRP-based Enhanced Virtual Private Network</title>
          <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei</organization>
          </author>
          <author fullname="Stewart Bryant" initials="S." surname="Bryant">
            <organization>University of Surrey</organization>
          </author>
          <author fullname="Zhenqiang Li" initials="Z." surname="Li">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Takuya Miyasaka" initials="T." surname="Miyasaka">
            <organization>KDDI Corporation</organization>
          </author>
          <author fullname="Young Lee" initials="Y." surname="Lee">
            <organization>Samsung</organization>
          </author>
          <date day="25" month="December" year="2023"/>
          <abstract>
            <t>This document describes the framework for NRP-based Enhanced Virtual Private Networks (VPNs) to support the needs of applications with specific traffic performance requirements (e.g., low latency, bounded jitter). NRP-based Enhanced VPNs leverage the VPN and Traffic Engineering (TE) technologies and adds characteristics that specific services require beyond those provided by conventional VPNs. Typically, an NRP-based enhanced VPN will be used to underpin network slicing, but could also be of use in its own right providing enhanced connectivity services between customer sites. This document also provides an overview of relevant technologies in different network layers, and identifies some areas for potential new work.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-teas-enhanced-vpn-17"/>
      </reference>
      <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml">
        <front>
          <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
          <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
          <date month="December" year="2023"/>
          <abstract>
            <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
            <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
            <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
            <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9552"/>
        <seriesInfo name="DOI" value="10.17487/RFC9552"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
