<?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-rfc2629 version 1.6.4 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-roll-enrollment-priority-09" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.14.0 -->
  <front>
    <title abbrev="join-metric">Controlling Secure Network Enrollment in RPL networks</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-roll-enrollment-priority-09"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="R. A." surname="Jadhav" fullname="Rahul Arvind Jadhav">
      <organization>Huawei Tech</organization>
      <address>
        <email>rahul.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Thubert" fullname="Pascal Thubert">
      <organization>Cisco Systems</organization>
      <address>
        <email>pthubert@cisco.com</email>
      </address>
    </author>
    <author initials="H." surname="She" fullname="Huimin She">
      <organization>Cisco Systems</organization>
      <address>
        <email>hushe@cisco.com</email>
      </address>
    </author>
    <author initials="K." surname="Iwanicki" fullname="Konrad Iwanicki">
      <organization/>
      <address>
        <email>iwanicki@mimuw.edu.pl</email>
      </address>
    </author>
    <date year="2023" month="May" day="16"/>
    <area>Internet</area>
    <workgroup>ROLL Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t><xref target="RFC9032"/> defines a method by which a potential <xref target="RFC9031"/> enrollment proxy can announce itself as a available for new Pledges to enroll on a network.
The announcement includes a priority for enrollment.
This document provides a mechanism by which a RPL DODAG root can disable enrollment announcements, or adjust the base priority for enrollment operations.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="problems">
      <name>Introduction</name>
      <t><xref target="RFC7554"/> describes the use of the time-slotted channel hopping (TSCH) mode of <xref target="ieee802154"/>.
<xref target="RFC9031"/> and <xref target="RFC9032"/> describe mechanisms by which a new node (the "pledge") can use a
friendly router as a Join Proxy.
<xref target="RFC9032"/> describes an extension to the 802.15.4 Enhanced Beacon that is used by a Join Proxy to announce its existence such that Pledges can find them.</t>
      <section anchor="motivation-and-overview">
        <name>Motivation and Overview</name>
        <t>It has become clear that not every routing member of the mesh ought to announce itself as a <em>Join Proxy</em>.
There are a variety of local reasons by which a 6LR might not want to provide the <em>Join Proxy</em> function.
They include available battery power,  already committed network bandwidth, and total available memory available for Neighbor Cache Entry (NCE) slots.
An NCE entry is needed in order to maintain communication with the pledge.</t>
        <t>There are other situations where the operator of the network would like to selectively enable or disable the enrollment process in a particular DODAG.</t>
        <t>As the enrollment process involves permitting unencrypted traffic into the best effort part of a network,  it would be better to have the enrollment process off when no new nodes are expected.</t>
        <t>This document describes a RPL DIO option that can be used to set a minimum enrollment priority.
The minimum priority expresses the (lack of) willingness by the RPL DODAG globally to accept new joins.</t>
        <t>It may derive from multiple constraining factors, e.g., the size of the DODAG, the occupancy of the bandwidth at the Root, the memory capacity at the DODAG Root, or an administrative decision.</t>
        <t>Each potential <em>Join Proxy</em> would utilize this value as a base on which to add values relating to local conditions such as its Rank and number of pending joins, which would degrade even further the willingness to take more joins.</t>
        <t>When a RPL domain is composed of multiple DODAGs, nodes at the edge of 2 DODAGs may not only join either DODAG but also move from one to the other in order to keep their relative sizes balanced. For this, the approximate knowledge of size of the DODAG is an essential metric.
Depending on the network policy, the size of the DODAG may or may not affect the minimum enrollment priority.
It would be limiting its value to enforce that one is proportional to the other.
The current size of the DODAG is therefore also advertised in the new option.</t>
        <t>As explained in <xref target="RFC9032"/>, higher values decrease the likelihood of an unenrolled node sending enrollment traffic via this path.</t>
        <t>A network operator can set this value to the maximum value allowed, effectively disabling all new enrollment traffic.</t>
        <t>Updates to the option propagate through the network according to the trickle algorithm.
The contents of the option are generated at the DODAG Root and do not change at any hop.
If the contents represent an update that is considered important (e.g., quickly disabling any enrollments), the option can trigger trickle timer resets at the nodes to speed up its propagation.</t>
      </section>
    </section>
    <section anchor="Terminology">
      <name>Terminology</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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>The term (1)"Join" has been used in documents like <xref target="RFC9031"/> to denote the activity of a new node authenticating itself to the network in order to obtain authorization to become a member of the network.</t>
      <t>In the context of the <xref target="RFC6550"/> RPL protocol, the term (2)"Join" has an alternative meaning: that of a node (already authenticating to the network, and already authorized to be a member of the network), deciding which part of the RPL DODAG to attach to.
This term "Join" has to do with preferred parent selection processes.</t>
      <t>In order to avoid the ambiguity of this term, this document refers to the process (1)"Join" as enrollment, leaving the term "Join" to mean (2)"Join".
The term "onboarding" (or IoT Onboarding) is increasingly used to describe what was called enrollment in other documents.
However, the term <em>Join Proxy</em> is retained with its meaning from <xref target="RFC9031"/>.</t>
    </section>
    <section anchor="protocol-definition">
      <name>Protocol Definition</name>
      <t>This document uses the extensions mechanism designed into <xref target="RFC6550"/>.
No mechanism is needed to enable it.</t>
      <section anchor="option-format">
        <name>Option Format</name>
        <t>The following option is defined for transmission in DIOs issued by the DODAG root to be propagated within the DODAG.</t>
        <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 = TBD01  |Opt Length = 4 |Version Number |T| min priority|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  exp  |     DODAG_Size        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <dl>
          <dt>Type</dt>
          <dd>
            <t>to be assigned by IANA.</t>
          </dd>
          <dt>Version Number</dt>
          <dd>
            <t>an 8-bit unsigned integer set by the DODAG root and denoting the version number of the contents of the option. The version number is interpreted as a lollipop counter (see Section 7.2 of <xref target="RFC6550"/>).</t>
          </dd>
          <dt>T</dt>
          <dd>
            <t>a bit indicating whether the particular version of the option is important in that adopting its contents should trigger a trickle timer reset at the node.</t>
          </dd>
          <dt>min priority</dt>
          <dd>
            <t>a 7-bit field providing a base value for the Enhanced Beacon Join priority.  A value of 0x7f (127) disables the <em>Join Proxy</em> function entirely.</t>
          </dd>
          <dt>exp</dt>
          <dd>
            <t>a 4-bit unsigned integer indicating the power of 2 that defines the unit of the DODAG Size, such that (unit=2^exp).</t>
          </dd>
          <dt>DODAG_Size</dt>
          <dd>
            <t>a 12-bit unsigned integer expressing the size of the DODAG in units that depend on the exp field. The size of the DODAG is computed as (DAG_Size*2^exp).</t>
          </dd>
        </dl>
        <t>The size of the DODAG is measured by the Root based one the DAO activity.
It represents a number of routes not a number of nodes, and can only be used to infer a load in a homogeneous network where each node advertises the same number of addresses and generates roughly the same amount of traffic.
The size may slightly change between a DIO and the next, so the value transmitted MUST be considered as an approximation.</t>
        <t>Future work like <xref target="I-D.ietf-roll-capabilities"/> will enable collection of capabilities such as this one in reports to the DODAG root.</t>
      </section>
      <section anchor="option-processing">
        <name>Option Processing</name>
        <t>The contents of the option MUST be generated by the DODAG Root.
A 6LR MUST NOT change them when propagating the option.</t>
        <t>Whenever the DODAG root changes the values of min priority or DODAG_Size in the option, it MUST also increment the value of Version Number.
Moreover, if the change is considered important (i.e., it is expected to propagate in the DODAG quickly), the DODAG Root SHOULD also set the T bit to 1; otherwise, it MUST set the bit to 0.</t>
        <t>Upon receiving the option, a 6LR first checks the value of the Version Number field in the option, <em>vr</em>, versus the value of the Version Number it has last adopted locally, <em>vl</em>.</t>
        <ul spacing="normal">
          <li>If <em>vl</em> is greater than <em>vr</em> (in the lollipop counter order), then the 6LR MUST ignore the received option.</li>
          <li>Otherwise, the 6LR MUST adopt the contents of the option (i.e., the values of Version Number, min priority, DODAG_Size, and the T bit) as its local ones.
Moreover, if <em>vl</em> was smaller than <em>vr</em> (in the lollipop counter order) and the T bit in the received option was set, then the 6LR MUST reset its DIO trickle timer.</li>
        </ul>
        <t>A 6LR which would otherwise be willing to act as a <em>Join Proxy</em>, will examine the locally adopted value of min priority, and to that number, add any additional local consideration (such as upstream congestion, number of NCE slots available, etc.).</t>
        <t>The maximum resulting value any 6LR can obtain this way is 0x7f.</t>
        <t>The resulting priority, if less than 0x7f, should enable the <em>Join Proxy</em> function.</t>
      </section>
      <section anchor="upwards-compatibility">
        <name>Upwards Compatibility</name>
        <t>A 6LR which did not support this option would not act on it or propagate it in its DIO messages.
In effect, the 6LR's children and grandchildren nodes could not receive any telemetry via that path.
Therefore, 6LRs that support this option but do not receive it via any path SHOULD assume a default value of 0x40 as their base value for the Enhanced Beacon Join Priority.</t>
        <t>A 6LR downstream of a 6LR where there was an interruption in the telemetry could err in two directions:</t>
        <ul spacing="normal">
          <li>if the value implied by the base value of 0x40 was too low, then a 6LR might continue to attract enrollment traffic when none should have been collected.
This is a stressor for the network, but this would also be what would occur without this option at all.</li>
          <li>if the value implied by the base value of 0x40 was too high, then a 6LR might deflect enrollment traffic to other parts of the DODAG tree, possibly refusing any enrollment traffic at all.
In order for this to happen, some significant congestion must be seen in the sub-tree where the implied 0x40 was introduced.</li>
        </ul>
        <t>The 0x40 is only the half-way point, so if such an amount of congestion was present, then this sub-tree of the DODAG simply winds up being more cautious than it needed to be.</t>
        <t>It is possible that the temporal alternation of the above two situations might introduce cycles of accepting and then rejecting enrollment traffic.
This is something an operator should consider if when they incrementally deploy this option to an existing LLN.
In addition, an operator would be unable to turn off enrollment traffic by sending a maximum value enrollment priority to the sub-tree.
This situation is unfortunate, but without this option, the the situation would occur all over the DODAG, rather than just in the sub-tree where the option was omitted.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As per <xref target="RFC7416"/>, RPL control frames either run over a secured layer 2, or use the <xref target="RFC6550"/> Secure DIO methods.
This option can be placed into either a "clear" (layer-2 secured) DIO, or a layer-3 Secure DIO.
As such this option will have both integrity and confidentiality mechanisms applied to it.</t>
      <t>A malicious node (that was part of the RPL control plane) could see these options and could, based  upon the observed minimal enrollment priority signal a confederate that it was a good time to send malicious join traffic.</t>
      <t>Such as a malicious node, being already part of the RPL control plane, could also send DIOs with a different minimal enrollment priority which would cause downstream mesh routers to change their <em>Join Proxy</em>  behavior.</t>
      <t>Lower minimal priorities would cause downstream nodes to accept more pledges than the network was expecting, and higher minimal priorities cause the enrollment process to stall.</t>
      <t>The use of layer-2 or layer-3 security for RPL control messages prevents the above two attacks, by preventing malicious nodes from becoming part of the control plane.
A node that is attacked and has malware placed on it creates vulnerabilities in the same way such an attack on any node involved in Internet routing protocol does.
The rekeying provisions of <xref target="RFC9031"/> exist to permit an operator to remove such nodes from the network easily.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>There are no new privacy issues caused by this extension.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Allocate a new number TBD01 from Registry RPL Control Message Options.
This entry should be called Minimum Enrollment Priority.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This has been reviewed by Konrad Iwanicki and Thomas Watteyne.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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="RFC7554" target="https://www.rfc-editor.org/info/rfc7554">
          <front>
            <title>Using IEEE 802.15.4e Time-Slotted Channel Hopping (TSCH) in the Internet of Things (IoT): Problem Statement</title>
            <author fullname="T. Watteyne" initials="T." role="editor" surname="Watteyne">
              <organization/>
            </author>
            <author fullname="M. Palattella" initials="M." surname="Palattella">
              <organization/>
            </author>
            <author fullname="L. Grieco" initials="L." surname="Grieco">
              <organization/>
            </author>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document describes the environment, problem statement, and goals for using the Time-Slotted Channel Hopping (TSCH) Medium Access Control (MAC) protocol of IEEE 802.14.4e in the context of Low-Power and Lossy Networks (LLNs).  The set of goals enumerated in this document form an initial set only.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7554"/>
          <seriesInfo name="DOI" value="10.17487/RFC7554"/>
        </reference>
        <reference anchor="RFC6550" target="https://www.rfc-editor.org/info/rfc6550">
          <front>
            <title>RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks</title>
            <author fullname="T. Winter" initials="T." role="editor" surname="Winter">
              <organization/>
            </author>
            <author fullname="P. Thubert" initials="P." role="editor" surname="Thubert">
              <organization/>
            </author>
            <author fullname="A. Brandt" initials="A." surname="Brandt">
              <organization/>
            </author>
            <author fullname="J. Hui" initials="J." surname="Hui">
              <organization/>
            </author>
            <author fullname="R. Kelsey" initials="R." surname="Kelsey">
              <organization/>
            </author>
            <author fullname="P. Levis" initials="P." surname="Levis">
              <organization/>
            </author>
            <author fullname="K. Pister" initials="K." surname="Pister">
              <organization/>
            </author>
            <author fullname="R. Struik" initials="R." surname="Struik">
              <organization/>
            </author>
            <author fullname="JP. Vasseur" initials="JP." surname="Vasseur">
              <organization/>
            </author>
            <author fullname="R. Alexander" initials="R." surname="Alexander">
              <organization/>
            </author>
            <date month="March" year="2012"/>
            <abstract>
              <t>Low-Power and Lossy Networks (LLNs) are a class of network in which both the routers and their interconnect are constrained.  LLN routers typically operate with constraints on processing power, memory, and energy (battery power).  Their interconnects are characterized by high loss rates, low data rates, and instability.  LLNs are comprised of anything from a few dozen to thousands of routers.  Supported traffic flows include point-to-point (between devices inside the LLN), point-to-multipoint (from a central control point to a subset of devices inside the LLN), and multipoint-to-point (from devices inside the LLN towards a central control point).  This document specifies the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL), which provides a mechanism whereby multipoint-to-point traffic from devices inside the LLN towards a central control point as well as point-to-multipoint traffic from the central control point to the devices inside the LLN are supported.  Support for point-to-point traffic is also available.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6550"/>
          <seriesInfo name="DOI" value="10.17487/RFC6550"/>
        </reference>
        <reference anchor="RFC9032" target="https://www.rfc-editor.org/info/rfc9032">
          <front>
            <title>Encapsulation of 6TiSCH Join and Enrollment Information Elements</title>
            <author fullname="D. Dujovne" initials="D." role="editor" surname="Dujovne">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>In the Time-Slotted Channel Hopping (TSCH) mode of IEEE Std 802.15.4, opportunities for broadcasts are limited to specific times and specific channels.  Routers in a TSCH network transmit Enhanced Beacon (EB) frames to announce the presence of the network.  This document provides a mechanism by which additional information critical for new nodes (pledges) and long-sleeping nodes may be carried within the EB in order to conserve use of broadcast opportunities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9032"/>
          <seriesInfo name="DOI" value="10.17487/RFC9032"/>
        </reference>
        <reference anchor="RFC9031" target="https://www.rfc-editor.org/info/rfc9031">
          <front>
            <title>Constrained Join Protocol (CoJP) for 6TiSCH</title>
            <author fullname="M. Vučinić" initials="M." role="editor" surname="Vučinić">
              <organization/>
            </author>
            <author fullname="J. Simon" initials="J." surname="Simon">
              <organization/>
            </author>
            <author fullname="K. Pister" initials="K." surname="Pister">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes the minimal framework required for a new device, called a "pledge", to securely join a 6TiSCH (IPv6 over the Time-Slotted Channel Hopping mode of IEEE 802.15.4) network. The framework requires that the pledge and the JRC (Join Registrar/Coordinator, a central entity), share a symmetric key. How this key is provisioned is out of scope of this document. Through a single CoAP (Constrained Application Protocol) request-response exchange secured by OSCORE (Object Security for Constrained RESTful Environments), the pledge requests admission into the network, and the JRC configures it with link-layer keying material and other parameters. The JRC may at any time update the parameters through another request-response exchange secured by OSCORE. This specification defines the Constrained Join Protocol and its CBOR (Concise Binary Object Representation) data structures, and it describes how to configure the rest of the 6TiSCH communication stack for this join process to occur in a secure manner. Additional security mechanisms may be added on top of this minimal framework.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9031"/>
          <seriesInfo name="DOI" value="10.17487/RFC9031"/>
        </reference>
        <reference anchor="ieee802154" target="http://standards.ieee.org/findstds/standard/802.15.4-2015.html">
          <front>
            <title>IEEE Std. 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks</title>
            <author initials="" surname="IEEE standard for Information Technology">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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>
        <reference anchor="RFC7416" target="https://www.rfc-editor.org/info/rfc7416">
          <front>
            <title>A Security Threat Analysis for the Routing Protocol for Low-Power and Lossy Networks (RPLs)</title>
            <author fullname="T. Tsao" initials="T." surname="Tsao">
              <organization/>
            </author>
            <author fullname="R. Alexander" initials="R." surname="Alexander">
              <organization/>
            </author>
            <author fullname="M. Dohler" initials="M." surname="Dohler">
              <organization/>
            </author>
            <author fullname="V. Daza" initials="V." surname="Daza">
              <organization/>
            </author>
            <author fullname="A. Lozano" initials="A." surname="Lozano">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." role="editor" surname="Richardson">
              <organization/>
            </author>
            <date month="January" year="2015"/>
            <abstract>
              <t>This document presents a security threat analysis for the Routing Protocol for Low-Power and Lossy Networks (RPLs).  The development builds upon previous work on routing security and adapts the assessments to the issues and constraints specific to low-power and lossy networks.  A systematic approach is used in defining and evaluating the security threats.  Applicable countermeasures are application specific and are addressed in relevant applicability statements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7416"/>
          <seriesInfo name="DOI" value="10.17487/RFC7416"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-roll-capabilities" target="https://datatracker.ietf.org/doc/html/draft-ietf-roll-capabilities-09">
          <front>
            <title>RPL Capabilities</title>
            <author fullname="Rahul Jadhav" initials="R." surname="Jadhav">
              <organization>Huawei</organization>
            </author>
            <author fullname="Pascal Thubert" initials="P." surname="Thubert">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Rabi Narayan Sahoo" initials="R. N." surname="Sahoo">
              <organization>Juniper</organization>
            </author>
            <date day="9" month="November" year="2021"/>
            <abstract>
              <t>   This draft enables the discovery, advertisement and query of
   capabilities for RPL nodes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-roll-capabilities-09"/>
        </reference>
      </references>
    </references>
    <section anchor="change-history">
      <name>Change history</name>
      <t>version 00.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAJ/1Y2QAA7Vb63Ibx5X+j6fopX4sqQAwSUuWxS3XmibpiFneQtJx5c+m
GjMNoM2Z6cn0DCBE0rvss+yT7XfO6Z4LCCpJpZYuF0FMT/e5fufWmkwmo9rW
mTlRZ66oK5dltlioB5M0lVE3pl676kldFPQgN0WtbKHu765UIU/8SM9mlVmd
qN+cLSa5qSubjFKXFDrHlmml5/XEmno+oQ0mpt1nUlbWVbbeTA7fj0a2rE5U
XTW+Pj48fH94PNKV0SfqsqhNhZNG68WJur+9ulK/4kyi7/eVa8rR07pbMzmn
s0aJrk+Ur9ORr3WR/kVnrjC8tRmNSnui8PNKJbpQjTdKV5XeqH07VzrL1Mb4
A+UqtdR+qZamMiOlapec0AN89K6qKzP3J7xFaua6yWqPFfH5JpfH9OdIN/XS
VScjxT+T8FtBfFhxPVX3NlnqKvWuaB+JyK7pgcl2LXAVxPAAtkyWg4MHN6/X
EBQLxberTK5tdqLypPodCf5HH1+YJnq0m5776elU/UGnS73aouZeL5tMnVYr
W6TbK5icD41eG6seTbLcpqCid6dMw4K+mSYuf4GAu6l6XDYzU9Vb599pn+js
2UM++sz6xKmHja9N/oz9spZXfkxo1VeO/jBVD0uzdeyHxuYw9P6Dv3/ksvFL
87XzZO//ckWlU3W51oVNnuz2LjZ8/2Nu82Y9NWkzLbPRqHBVrmu7MmRS9z+f
HR8dvQ8f3719+yZ8/O7t28Pw8f3ht8fdx6Otb60x5vvD4yN5E3auq4WB5+wt
67o8+eYb9h4yvymtnIL5b+YwATiWb599gw2mR2+nbybHh/i1rPNsTzYTPNm7
vLi4UA91OlVx5RgKreqpos8n6ldbmcx4r65NaptcnSYJ/RVwSO1fn54dKJyl
7pYbb8kOrvTGVGr/7sOfD9RDaRI7x9e1dYVXc3julVtP7nVtup3vTAUP0mTC
Rkc480Lm0EXZGITkyCDveVnMRfSuYCsvXOYWmz1gVnxAOhlNJhOlZ76udFKP
Rp8+/VsQ9pcvBBW2MF5pBXhculTNNmq9hHvjm9LVAEMLAttXjvBKh5OqrNzH
DSOWLgrXFIlRtvYmA2bRlnoFq9GzzDCxhVmru8ykC8PAJNsoUK4jYE9Hj0vT
bhUQPcmalAmMoMybdUTQS9YrwHoTaVrZNLAEmCqsz/tcUYA4vz0//b2qnKuZ
+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
/wOLWc8coDMAAA==

-->

</rfc>
