<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-manet-dlep-pause-extension-08" indexInclude="true" ipr="trust200902" number="8651" prepTime="2019-10-07T11:04:49" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-pause-extension-08" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8651" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="DLEP Pause Extension">Dynamic Link Exchange Protocol
 (DLEP) Control‑Plane‑Based Pause Extension</title>
    <seriesInfo name="RFC" value="8651" stream="IETF"/>
    <author initials="B." surname="Cheng" fullname="Bow-Nan Cheng">
      <organization showOnFrontPage="true">MIT Lincoln Laboratory</organization>
      <address>
        <postal>
          <extaddr>Massachusetts Institute of Technology</extaddr>
          <street>244 Wood Street</street>
          <city>Lexington</city>
          <region>MA</region>
          <code>02421-6426</code>
          <country>United States of America</country>
        </postal>
        <email>bcheng@ll.mit.edu</email>
      </address>
    </author>
    <author initials="D." surname="Wiggins" fullname="David Wiggins">
      <organization showOnFrontPage="true">MIT Lincoln Laboratory</organization>
      <address>
        <postal>
          <extaddr>Massachusetts Institute of Technology</extaddr>
          <street>244 Wood Street</street>
          <city>Lexington</city>
          <region>MA</region>
          <code>02420-9108</code>
          <country>United States of America</country>
        </postal>
        <email>David.Wiggins@ll.mit.edu</email>
      </address>
    </author>
    <author initials="L." surname="Berger" fullname="Lou Berger" role="editor">
      <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
      <address>
        <email>lberger@labn.net</email>
      </address>
    </author>
    <date month="10" year="2019"/>
    <keyword>DLEP, Flow control, Pause</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">
  This document defines an extension to the Dynamic Link Exchange Protocol (DLEP) that enables a
  modem to use DLEP messages to pause and resume data traffic coming
  from its peer router.
</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8651"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2019 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.3">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1">
          <li pn="section-boilerplate.3-1.1">
            <t keepWithNext="true" pn="section-boilerplate.3-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="Introduction" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1.1.2">
              <li pn="section-boilerplate.3-1.1.2.1">
                <t keepWithNext="true" pn="section-boilerplate.3-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="Key Words" format="title" sectionFormat="of" target="name-key-words">Key Words</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-boilerplate.3-1.2">
            <t keepWithNext="true" pn="section-boilerplate.3-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="Extension Usage and Identification" format="title" sectionFormat="of" target="name-extension-usage-and-identif">Extension Usage and Identification</xref></t>
          </li>
          <li pn="section-boilerplate.3-1.3">
            <t keepWithNext="true" pn="section-boilerplate.3-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="Extension Data Items" format="title" sectionFormat="of" target="name-extension-data-items">Extension Data Items</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1.3.2">
              <li pn="section-boilerplate.3-1.3.2.1">
                <t keepWithNext="true" pn="section-boilerplate.3-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="Queue Parameters" format="title" sectionFormat="of" target="name-queue-parameters">Queue Parameters</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1.3.2.1.2">
                  <li pn="section-boilerplate.3-1.3.2.1.2.1">
                    <t keepWithNext="true" pn="section-boilerplate.3-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="Queue Parameter Sub-Data Item" format="title" sectionFormat="of" target="name-queue-parameter-sub-data-it">Queue Parameter Sub-Data Item</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-boilerplate.3-1.3.2.2">
                <t keepWithNext="true" pn="section-boilerplate.3-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="Pause" format="title" sectionFormat="of" target="name-pause">Pause</xref></t>
              </li>
              <li pn="section-boilerplate.3-1.3.2.3">
                <t keepWithNext="true" pn="section-boilerplate.3-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="Restart" format="title" sectionFormat="of" target="name-restart">Restart</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-boilerplate.3-1.4">
            <t keepWithNext="true" pn="section-boilerplate.3-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="Security Considerations" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-boilerplate.3-1.5">
            <t keepWithNext="true" pn="section-boilerplate.3-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="IANA Considerations" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1.5.2">
              <li pn="section-boilerplate.3-1.5.2.1">
                <t keepWithNext="true" pn="section-boilerplate.3-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="Extension Type Value" format="title" sectionFormat="of" target="name-extension-type-value">Extension Type Value</xref></t>
              </li>
              <li pn="section-boilerplate.3-1.5.2.2">
                <t keepWithNext="true" pn="section-boilerplate.3-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="Data Item Values" format="title" sectionFormat="of" target="name-data-item-values">Data Item Values</xref></t>
              </li>
              <li pn="section-boilerplate.3-1.5.2.3">
                <t keepWithNext="true" pn="section-boilerplate.3-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="Queue Parameter Sub-Data Item Values" format="title" sectionFormat="of" target="name-queue-parameter-sub-data-ite">Queue Parameter Sub-Data Item Values</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-boilerplate.3-1.6">
            <t keepWithNext="true" pn="section-boilerplate.3-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="References" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-boilerplate.3-1.6.2">
              <li pn="section-boilerplate.3-1.6.2.1">
                <t keepWithNext="true" pn="section-boilerplate.3-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="Normative References" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-boilerplate.3-1.6.2.2">
                <t keepWithNext="true" pn="section-boilerplate.3-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="Informative References" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-boilerplate.3-1.7">
            <t keepWithNext="true" pn="section-boilerplate.3-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="Acknowledgments" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-boilerplate.3-1.8">
            <t keepWithNext="true" pn="section-boilerplate.3-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="Authors' Addresses" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </boilerplate>
  </front>
  <middle>
    <section anchor="sec-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">
  The Dynamic Link Exchange Protocol (DLEP) is defined in <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>. It provides the exchange of link-related
 control information between a
  modem and a router. DLEP defines a base set of
  mechanisms as well as support for possible extensions.  This
  document defines one such extension.
</t>
      <t pn="section-1-2">
  The base DLEP specification does not include any data-plane
  flow‑control capability.  The extension defined in this document supports
  flow control of data traffic based on explicit messages sent via DLEP
  by a modem to indicate when a router should hold off sending traffic
  and when it should resume.  This functionality parallels the
  flow‑control mechanism found in PPP over Ethernet (PPPoE) per
  <xref target="RFC5578" format="default" sectionFormat="of" derivedContent="RFC5578"/>.  The extension also optionally
  supports DSCP-aware flow control ("DSCP" stands for "Differentiated
  Services Code Point") for use by Diffserv-aware modems. (For
  general background on Differentiated Services, see <xref target="RFC2475" format="default" sectionFormat="of" derivedContent="RFC2475"/>.)
  This functionality is very similar to that provided by Ethernet
  priority‑based flow control; see <xref target="IEEE.802.1Q_2014" format="default" sectionFormat="of" derivedContent="IEEE.802.1Q_2014"/>.
  The extension defined in this document is referred
  to as "Control-Plane-Based Pause".  Other flow-control methods are
  possible with DLEP; for example, see <xref target="I-D.ietf-manet-dlep-da-credit-extension" format="default" sectionFormat="of" derivedContent="DLEP-DIFFSERV"/> and
  <xref target="I-D.ietf-manet-dlep-credit-flow-control" format="default" sectionFormat="of" derivedContent="DLEP-CREDIT"/>.
</t>
      <t pn="section-1-3">
  Note that
  this mechanism only applies to traffic that is to be transmitted on the
  modem's attached data channel and not to DLEP control messages
  themselves.  Furthermore, it applies only to the single subnetwork
  that is used to connect a modem and a router, and for traffic sent
  from a router to a modem.
</t>
      <t pn="section-1-4">
  This document defines a new DLEP Extension Type Value that is used to
  indicate the use of the extension; see <xref target="sec-ext-type" format="default" sectionFormat="of" derivedContent="Section 2"/>.
  Three new DLEP Data Items are defined in <xref target="sec-data-items" format="default" sectionFormat="of" derivedContent="Section 3"/>.
</t>
      <section anchor="sec-1.1" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-key-words">Key Words</name>
        <t pn="section-1.1-1">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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when,
    and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="sec-ext-type" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-extension-usage-and-identif">Extension Usage and Identification</name>
      <t pn="section-2-1">
   The use of the Control-Plane-Based Pause Extension <bcp14>SHOULD</bcp14> be configurable.
   To indicate that the implementation supports the use of the
   Control-Plane-Based Pause Extension, an
   implementation <bcp14>MUST</bcp14> include the Control-Plane-Based Pause Extension Type
   Value in the Extensions Supported Data Item. The Extensions Supported
   Data Item is sent and processed according to <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>.
</t>
      <t pn="section-2-2">
  The Control-Plane-Based Pause Extension Type Value is 2; see <xref target="sec-iana" format="default" sectionFormat="of" derivedContent="Section 5"/>.
</t>
    </section>
    <section anchor="sec-data-items" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-extension-data-items">Extension Data Items</name>
      <t pn="section-3-1">
   Three Data Items are defined by this extension. The Queue Parameters
   Data Item is used by a modem to provide information about the DSCPs it
   uses in forwarding. The Pause Data Item is used by a modem to
   indicate when a router should cease sending packets, and the Restart
   Data Item is used by a modem to indicate when a router can resume
   sending packets.
</t>
      <section anchor="sec-di-qp" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-queue-parameters">Queue Parameters</name>
        <t pn="section-3.1-1">
  The Queue Parameters Data Item is sent by a modem to a router to indicate DSCP
  values that may be independently paused.  This Data Item <bcp14>MUST</bcp14> be
  included in a Session Initialization Response Message that also
  contains the Control-Plane-Based Pause Extension Type Value in the
  Extensions Supported Data Item.  Updates to these parameters <bcp14>MAY</bcp14> be
  sent by a modem by including the Data Item in Session Update
  Messages.
</t>
        <t pn="section-3.1-2">
  The Queue Parameters Data Item groups DSCPs into
  logical queues, each of which is identified by a "Queue Index" field. The
  number of logical queues is variable, as is the
  number of DSCPs associated with each queue. A queue size (in bytes)
  is provided for informational purposes.  Queue Index fields are numbered
  sequentially from zero, where queue index zero is a special case
  covering DSCPs that are not otherwise associated with a Queue Index field.
</t>
        <t pn="section-3.1-3">
  An implementation that does not support DSCPs would indicate one queue
  with zero DSCPs, and the number of bytes that may be in its associated
  link transmit queue.  Additional logical queues are represented in a
  variable series of Queue Parameter Sub-Data Items.
</t>
        <t pn="section-3.1-4">
  The format of the Queue Parameters Data Item is:
</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.1-5">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data Item Type                | Length                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Num Queues  | Scale |              Reserved                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Queue Parameter Sub-Data Item 1                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                                ...                            :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Queue Parameter Sub-Data Item n                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        <dl newline="true" spacing="normal" pn="section-3.1-6">
          <dt pn="section-3.1-6.1">Data Item Type:</dt>
          <dd pn="section-3.1-6.2">23</dd>
          <dt pn="section-3.1-6.3">Length:</dt>
          <dd pn="section-3.1-6.4">
            <t pn="section-3.1-6.4.1">Variable
            </t>
            <t pn="section-3.1-6.4.2">
      Per <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>, Length
      is the number of octets in the Data Item, excluding the Type and
      Length fields.
            </t>
          </dd>
          <dt pn="section-3.1-6.5">Num Queues:</dt>
          <dd pn="section-3.1-6.6">
      An 8-bit unsigned integer indicating the number of Queue Parameter
      Sub‑Data Items that follow.  This field <bcp14>MUST</bcp14> contain a value of
      at least one (1).
    </dd>
          <dt pn="section-3.1-6.7">Scale:</dt>
          <dd pn="section-3.1-6.8">
            <t pn="section-3.1-6.8.1">
      A 4-bit unsigned integer indicating the scale used in the Queue
      Size Qn field. The valid values are:
            </t>
          </dd>
        </dl>
        <table anchor="scale-table" align="center" pn="table-1">
          <name slugifiedName="name-queue-size-qn-field-values">Queue Size Qn Field Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Scale</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">B - Bytes (Octets)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">KB - Kilobytes (1024 B)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">MB - Megabytes (1024 KB)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">GB - Gigabytes (1024 MB)</td>
            </tr>
          </tbody>
        </table>
        <dl newline="false" spacing="normal" pn="section-3.1-8">
          <dt pn="section-3.1-8.1">Reserved:</dt>
          <dd pn="section-3.1-8.2">
      A 20-bit field that <bcp14>MUST</bcp14> be set to zero (0) by the sender (a modem) and ignored by the
      receiver (a router).
    </dd>
        </dl>
        <section anchor="sec-di-qp-sub" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-queue-parameter-sub-data-it">Queue Parameter Sub-Data Item</name>
          <t pn="section-3.1.1-1">
      Queue Parameter Sub-Data Items are an unordered list composed of
      Sub‑Data Items with a common format.  The format of the Queue
      Parameter Sub‑Data Item is patterned after the standard format for
      the DLEP Data Item; see <xref target="RFC8175" sectionFormat="comma" section="11.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8175#section-11.3" derivedContent="RFC8175"/>.
      Any errors or inconsistencies encountered in parsing Sub-Data Items are
      handled in the same fashion as any other Data Item parsing error
      encountered in DLEP.
      In particular, the receiving implementation <bcp14>MUST</bcp14> issue a
      Session Termination Message containing a Status Data Item with
      status code set to 130 ("Invalid Data") and transition to the
      Session Termination state.
          </t>
          <t pn="section-3.1.1-2">
      The format of the Queue Parameter Sub-Data Item is:
          </t>
          <artwork name="" type="" align="left" alt="" pn="section-3.1.1-3">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Sub-Data Item Type (1)        | Length                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Value...                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          <t pn="section-3.1.1-4">
  and Value has the format:
</t>
          <artwork name="" type="" align="left" alt="" pn="section-3.1.1-5">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Queue Index  |             Queue Size Qn                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Num DSCPs Qn  |  DS Field Qn  |              ...              :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                          ...                  |  DS Field Qn  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          <dl newline="true" spacing="normal" pn="section-3.1.1-6">
            <dt pn="section-3.1.1-6.1">Sub-Data Item Type:</dt>
            <dd pn="section-3.1.1-6.2">
      A 16-bit unsigned integer that indicates the type and
      corresponding format of the Sub-Data Item's Value field.  Sub-Data
      Item Types are scoped within the Data Item in which they are
      carried, i.e., the Sub-Data Item Type field <bcp14>MUST</bcp14> be used together
      with the Queue Parameters Data Item Type to identify the format of the Sub-Data
      Item.  This field <bcp14>MUST</bcp14> be set to one (1) for the Queue Parameter
      Sub-Data Item.
    </dd>
            <dt pn="section-3.1.1-6.3">Length:</dt>
            <dd pn="section-3.1.1-6.4">
              <t pn="section-3.1.1-6.4.1">Variable
              </t>
              <t pn="section-3.1.1-6.4.2">
      Length
      is the number of octets in the Sub-Data Item, excluding the Type and
      Length fields.
              </t>
            </dd>
            <dt pn="section-3.1.1-6.5">Queue Index:</dt>
            <dd pn="section-3.1.1-6.6">
      An 8-bit field indicating the queue index of the queue
      parameter represented in the Sub-Data Item.  Only the first
      instance of a particular Queue Index value is meaningful.
      Subsequent Sub-Data Items containing the same Queue Index values,
      if present, <bcp14>MAY</bcp14> be logged via a management interface and <bcp14>MUST</bcp14>
      otherwise be ignored. Note that the value 255 is reserved and <bcp14>MUST
      NOT</bcp14> be used in this field.
    </dd>
            <dt pn="section-3.1.1-6.7">Queue Size Qn:</dt>
            <dd pn="section-3.1.1-6.8">
      A 24-bit unsigned integer representing the size, in the octet
      scale indicated by the Scale field, of the queue that supports
      the traffic with the DSCPs associated with the queue index.
    </dd>
            <dt pn="section-3.1.1-6.9">Num DSCPs Qn:</dt>
            <dd pn="section-3.1.1-6.10">
      An 8-bit unsigned integer indicating the number of DSCPs
      associated with the queue index associated with the Sub-Data Item.
    </dd>
            <dt pn="section-3.1.1-6.11">DS Field Qn:</dt>
            <dd pn="section-3.1.1-6.12">
              <t pn="section-3.1.1-6.12.1">
      The Data Item contains a sequence of 8-bit DS fields.  The
      number of DS fields present <bcp14>MUST</bcp14> equal the Num DSCPs Qn field value.

              </t>
              <t pn="section-3.1.1-6.12.2">
      The DS field structure is the same as the structure shown in
      <xref target="RFC2474" format="default" sectionFormat="of" derivedContent="RFC2474"/>.
              </t>
              <artwork name="" type="" align="left" alt="" pn="section-3.1.1-6.12.3">
  0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
|         DSCP          |  CU   |
+---+---+---+---+---+---+---+---+</artwork>
              <t pn="section-3.1.1-6.12.4">DSCP: Differentiated Services Code Point</t>
              <t pn="section-3.1.1-6.12.5">CU: Currently Unused; <bcp14>MUST</bcp14> be zero</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="sec-di-pause" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-pause">Pause</name>
        <t pn="section-3.2-1">
  The Pause Data Item is sent by a modem to a router to indicate to its peer that
  traffic is to be suppressed, i.e., paused.
  The motivating use case for this Data Item is when a modem's
  internal queue length exceeds a particular threshold.  Other use cases
  are possible, e.g., when there are non‑queue-related congestion points
  within a modem. Such cases are not explicitly described in this
  document.
</t>
        <t pn="section-3.2-2">
  A modem can indicate that traffic is to be suppressed on a device‑wide
  or destination-specific basis. An example of when a modem might use
  device‑wide suppression is when output queues are shared across all
  destinations. Destination-specific suppression might be used when
  per‑destination queuing is used.  To indicate that suppression applies to
  all destinations, a modem <bcp14>MUST</bcp14> send the Pause Data Item in a Session
  Update Message.  To indicate that suppression applies to a particular
  destination, a modem <bcp14>MUST</bcp14> send the Pause Data Item in a Destination
  Update Message.
</t>
        <t pn="section-3.2-3">
  Each Pause Data Item identifies the traffic to be suppressed by the
  Queue Index field (<xref target="sec-di-qp" format="default" sectionFormat="of" derivedContent="Section 3.1"/>), which in turn
  indicates traffic identified by one or more DSCPs. The special value of 255
  is used to indicate that all traffic is to be suppressed.
</t>
        <t pn="section-3.2-4">
  While there is no restriction on the number of messages containing
  Pause Data Items that may be sent by a modem, a modem <bcp14>SHOULD</bcp14> include
  multiple queue indexes in the same message when possible.
</t>
        <t pn="section-3.2-5">
  A router that receives the Pause Data Item <bcp14>MUST</bcp14> cease sending
  the identified traffic to the modem. This may of course translate into
  the router's queues exceeding their own thresholds.
  If a received Pause Data Item contains a Queue Index value other than
  255 or a queue index established by a Session Initialization or
  Session Update Message, the router <bcp14>MUST</bcp14> terminate the session with a
  Status Data Item indicating "Invalid Data".
</t>
        <t pn="section-3.2-6">
  The format of the Pause Data Item is:
</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.2-7">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data Item Type                | Length                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Queue Index  |               ...                             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                                ...            |  Queue Index  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        <dl newline="true" spacing="normal" pn="section-3.2-8">
          <dt pn="section-3.2-8.1">Data Item Type:</dt>
          <dd pn="section-3.2-8.2">24</dd>
          <dt pn="section-3.2-8.3">Length:</dt>
          <dd pn="section-3.2-8.4">
            <t pn="section-3.2-8.4.1">Variable
            </t>
            <t pn="section-3.2-8.4.2">
      Per <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>, Length
      is the number of octets in the Data Item, excluding the Type and
      Length fields. It will equal the number of Queue Index fields
      carried in the Data Item.
            </t>
          </dd>
          <dt pn="section-3.2-8.5">Queue Index:</dt>
          <dd pn="section-3.2-8.6">
      One or more 8-bit fields used to indicate a queue index defined by
      a Queue Parameters Data Item.  The special value of 255 indicates
      that (1) all traffic to the modem is to be suppressed when the
      Data Item is carried in a Session Update Message or (2) all
      traffic to a particular destination is to be suppressed when the
      Data Item is carried in a Destination Update Message.
    </dd>
        </dl>
      </section>
      <section anchor="sec-di-restart" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-restart">Restart</name>
        <t pn="section-3.3-1">
  The Restart Data Item is sent by a modem to a router to indicate to its peer that
  transmission of previously suppressed traffic may be resumed.  An
  example of when a modem might send this Data Item is when an internal
  queue length drops below a particular threshold.
</t>
        <t pn="section-3.3-2">
  The sending of this Data Item parallels the Pause Data Item
  (see <xref target="sec-di-pause" format="default" sectionFormat="of" derivedContent="Section 3.2"/>) and follows the same rules.
  To indicate that transmission can resume
  to all destinations, a modem <bcp14>MUST</bcp14> send the Restart Data Item in a
  Session Update Message.  To indicate that
  transmission can resume to a particular destination, a modem <bcp14>MUST</bcp14> send
  the Restart Data Item in a Destination Update Message.
  Finally, the same rules apply to queue indexes.
</t>
        <t pn="section-3.3-3">
  A router that receives the Restart Data Item <bcp14>SHOULD</bcp14> resume
  transmission of the identified traffic to the modem.
</t>
        <t pn="section-3.3-4">
  The format of the Restart Data Item matches the Pause Data Item and is:
</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.3-5">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Data Item Type                | Length                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Queue Index  |               ...                             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                                ...            |  Queue Index  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        <dl newline="false" spacing="normal" pn="section-3.3-6">
          <dt pn="section-3.3-6.1">Data Item Type:</dt>
          <dd pn="section-3.3-6.2">25</dd>
          <dt pn="section-3.3-6.3">Length:</dt>
          <dd pn="section-3.3-6.4">See <xref target="sec-di-pause" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.</dd>
          <dt pn="section-3.3-6.5">Queue Index:</dt>
          <dd pn="section-3.3-6.6">See <xref target="sec-di-pause" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.</dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-sec" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-4-1">
   The extension defined in this document introduces a new mechanism for flow control between a
   router and modem using DLEP.  The
   extension does not introduce any vulnerabilities that are inherently different
   from those documented in <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>.
   The approach taken to security in that document applies equally
   when running the extension defined in this document.
</t>
      <t pn="section-4-2">
   Implementations of the extension defined in this document <bcp14>MUST</bcp14> support
   the configuration and use of TLS, as described in <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>,
   in order to protect configurations where injection attacks are
   possible, i.e., when the link between a modem and router is not
   otherwise protected.
</t>
      <t pn="section-4-3">
  Note that this extension does allow a compromised or impersonating
  modem to suppress transmission by the router or a switch that
  interconnects the modem and router.  Similar attacks are
  generally possible with base DLEP -- for example, an impersonating modem may
  cause a session reset, or a compromised modem can simply
  drop all traffic destined for or sent by a router.
  <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/> defines the use of TLS to protect against such
  impersonating attackers.
</t>
    </section>
    <section anchor="sec-iana" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-5-1">
  This document assigns four new values and creates a new subregistry in the
  "Dynamic Link Exchange Protocol (DLEP) Parameters" registry.  
</t>
      <section anchor="sec-iana-ext" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-extension-type-value">Extension Type Value</name>
        <t pn="section-5.1-1">
  This document adds a new assignment to the DLEP extensions 
  registry named "Extension Type Values" <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>, per the
  "Specification Required" policy <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. IANA
  has assigned the following value: 
</t>
        <t pn="section-5.1-2"/>
        <table anchor="table_et" align="center" pn="table-2">
          <name slugifiedName="name-extension-type-value-2">Extension Type Value</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Control-Plane-Based Pause</td>
            </tr>
          </tbody>
        </table>
        <t pn="section-5.1-4"/>
      </section>
      <section anchor="sec-iana-di" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-data-item-values">Data Item Values</name>
        <t pn="section-5.2-1">
  This document adds three new assignments to the DLEP Data Item
  registry named "Data Item Type Values" <xref target="RFC8175" format="default" sectionFormat="of" derivedContent="RFC8175"/>, per the
  "Specification Required" policy <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. IANA
  has assigned the following values:</t>
        <t pn="section-5.2-2"/>
        <table anchor="table_di" align="center" pn="table-3">
          <name slugifiedName="name-data-item-values-2">Data Item Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type Code</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">23</td>
              <td align="left" colspan="1" rowspan="1">Queue Parameters</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">24</td>
              <td align="left" colspan="1" rowspan="1">Pause</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">25</td>
              <td align="left" colspan="1" rowspan="1">Restart</td>
            </tr>
          </tbody>
        </table>
        <t pn="section-5.2-4"/>
      </section>
      <section anchor="sec-iana-sdi" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-queue-parameter-sub-data-ite">Queue Parameter Sub-Data Item Values</name>
        <t pn="section-5.3-1">IANA has created a new DLEP registry named "Queue Parameter Sub-Data Item
Type Values". 
</t>
        <t pn="section-5.3-2"><xref target="table_sdi" format="default" sectionFormat="of" derivedContent="Table 4"/> provides initial registry values and the
  registration policies <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> that apply:
</t>
        <table anchor="table_sdi" align="center" pn="table-4">
          <name slugifiedName="name-initial-registry-values">Initial Registry Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type Code</th>
              <th align="left" colspan="1" rowspan="1">Description/Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Queue Parameter</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2-65407</td>
              <td align="left" colspan="1" rowspan="1">Specification Required</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65408-65534</td>
              <td align="left" colspan="1" rowspan="1">Private Use</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65535</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-manet-dlep-da-credit-extension" to="DLEP-DIFFSERV"/>
    <displayreference target="I-D.ietf-manet-dlep-credit-flow-control" to="DLEP-CREDIT"/>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <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" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <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="RFC8175" target="https://www.rfc-editor.org/info/rfc8175" quoteTitle="true" derivedAnchor="RFC8175">
          <front>
            <title>Dynamic Link Exchange Protocol (DLEP)</title>
            <author initials="S." surname="Ratliff" fullname="S. Ratliff">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Jury" fullname="S. Jury">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Satterwhite" fullname="D. Satterwhite">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Taylor" fullname="R. Taylor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Berry" fullname="B. Berry">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>When routing devices rely on modems to effect communications over wireless links, they need timely and accurate knowledge of the characteristics of the link (speed, state, etc.) in order to make routing decisions.  In mobile or other environments where these characteristics change frequently, manual configurations or the inference of state through routing or transport protocols does not allow the router to make the best decisions.  This document introduces a new protocol called the Dynamic Link Exchange Protocol (DLEP), which provides a bidirectional, event-driven communication channel between the router and the modem to facilitate communication of changing link characteristics.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8175"/>
          <seriesInfo name="DOI" value="10.17487/RFC8175"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-manet-dlep-credit-flow-control" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-manet-dlep-credit-flow-control-04" derivedAnchor="DLEP-CREDIT">
          <front>
            <title>DLEP Credit-Based Flow Control Messages and Data Items</title>
            <author initials="B" surname="Cheng" fullname="Bow-Nan Cheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Wiggins" fullname="David Wiggins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Berger" fullname="Lou Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Ratliff" fullname="Stan Ratliff">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="March" day="6" year="2019"/>
            <abstract>
              <t>This document defines new DLEP protocol Data Items that are used to support credit-based flow control.  Credit window control is used to regulate when data may be sent to an associated virtual or physical queue.  The Data Items are defined in an extensible and reusable fashion.  Their use will be mandated in other documents defining specific DLEP extensions.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-manet-dlep-credit-flow-control-04"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-manet-dlep-credit-flow-control-04.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-manet-dlep-da-credit-extension" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-manet-dlep-da-credit-extension-07" derivedAnchor="DLEP-DIFFSERV">
          <front>
            <title>DLEP DiffServ Aware Credit Window Extension</title>
            <author initials="B" surname="Cheng" fullname="Bow-Nan Cheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Wiggins" fullname="David Wiggins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Berger" fullname="Lou Berger">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="March" day="6" year="2019"/>
            <abstract>
              <t>This document defines an extension to the DLEP protocol that enables a DiffServ aware credit-window scheme for destination-specific and shared flow control.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-manet-dlep-da-credit-extension-07"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-manet-dlep-da-credit-extension-07.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="IEEE.802.1Q_2014" target="https://ieeexplore.ieee.org/document/6991462" quoteTitle="true" derivedAnchor="IEEE.802.1Q_2014">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks--Bridges
and Bridged Networks</title>
            <seriesInfo name="IEEE" value="802.1Q-2014"/>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2474" target="https://www.rfc-editor.org/info/rfc2474" quoteTitle="true" derivedAnchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author initials="K." surname="Nichols" fullname="K. Nichols">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Blake" fullname="S. Blake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Baker" fullname="F. Baker">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Black" fullname="D. Black">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1998" month="December"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC2475" target="https://www.rfc-editor.org/info/rfc2475" quoteTitle="true" derivedAnchor="RFC2475">
          <front>
            <title>An Architecture for Differentiated Services</title>
            <author initials="S." surname="Blake" fullname="S. Blake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Black" fullname="D. Black">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Carlson" fullname="M. Carlson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Davies" fullname="E. Davies">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Z." surname="Wang" fullname="Z. Wang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Weiss" fullname="W. Weiss">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1998" month="December"/>
            <abstract>
              <t>This document defines an architecture for implementing scalable service differentiation in the Internet.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2475"/>
          <seriesInfo name="DOI" value="10.17487/RFC2475"/>
        </reference>
        <reference anchor="RFC5578" target="https://www.rfc-editor.org/info/rfc5578" quoteTitle="true" derivedAnchor="RFC5578">
          <front>
            <title>PPP over Ethernet (PPPoE) Extensions for Credit Flow and Link Metrics</title>
            <author initials="B." surname="Berry" fullname="B. Berry" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Ratliff" fullname="S. Ratliff">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Paradise" fullname="E. Paradise">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Kaiser" fullname="T. Kaiser">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Adams" fullname="M. Adams">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="February"/>
            <abstract>
              <t>This document extends the Point-to-Point Protocol over Ethernet (PPPoE) with an optional credit-based flow control mechanism and an optional Link Quality Metric report.  These optional extensions improve the performance of PPPoE over media with variable bandwidth and limited buffering, such as mobile point-to-point radio links.   This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5578"/>
          <seriesInfo name="DOI" value="10.17487/RFC5578"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t pn="section-appendix.a-1">
     The format for the Sub-Data Item was inspired by Rick Taylor's "Data Item
     Containers" idea.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="B." surname="Cheng" fullname="Bow-Nan Cheng">
        <organization showOnFrontPage="true">MIT Lincoln Laboratory</organization>
        <address>
          <postal>
            <extaddr>Massachusetts Institute of Technology</extaddr>
            <street>244 Wood Street</street>
            <city>Lexington</city>
            <region>MA</region>
            <code>02421-6426</code>
            <country>United States of America</country>
          </postal>
          <email>bcheng@ll.mit.edu</email>
        </address>
      </author>
      <author initials="D." surname="Wiggins" fullname="David Wiggins">
        <organization showOnFrontPage="true">MIT Lincoln Laboratory</organization>
        <address>
          <postal>
            <extaddr>Massachusetts Institute of Technology</extaddr>
            <street>244 Wood Street</street>
            <city>Lexington</city>
            <region>MA</region>
            <code>02420-9108</code>
            <country>United States of America</country>
          </postal>
          <email>David.Wiggins@ll.mit.edu</email>
        </address>
      </author>
      <author initials="L." surname="Berger" fullname="Lou Berger" role="editor">
        <organization showOnFrontPage="true">LabN Consulting, L.L.C.</organization>
        <address>
          <email>lberger@labn.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
