<?xml version='1.0' encoding='utf-8'?>
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema
      validation and schema-aware editing --> encoding='UTF-8'?>

<!DOCTYPE rfc [
  <!ENTITY filename "draft-ietf-manet-dlep-ether-credit-extension-09">
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations
in XML processors, including most browsers -->
<!-- If further character entities are required then they should be
added to the DOCTYPE above. Use of an external entity file is not
recommended. -->

<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902"
    docName="&filename;" docName="draft-ietf-manet-dlep-ether-credit-extension-09" number="9895" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">

  <front>
    <title abbrev="DLEP Ethernet Credit Extension">DLEP Extension">Dynamic Link Exchange
   Protocol (DLEP) IEEE 802.1Q
    Aware Credit Window Extension</title>

<!-- [rfced] Document title: FYI, for ease of the reader and per our process,
we expanded "DLEP" in the title. Please review.

Original:
 DLEP IEEE 802.1Q Aware Credit Window Extension

Currently:
 Dynamic Link Exchange Protocol (DLEP) IEEE 802.1Q Aware Credit Window
 Extension -->

<seriesInfo name="Internet-Draft"
		value="&filename;"/> name="RFC" value="9895"/>
    <author initials="D." surname="Wiggins" fullname="David Wiggins">
      <organization/>
      <address>
        <email>david@none.org</email>
      </address>
    </author>
    <author initials="L." surname="Berger" fullname="Lou Berger">
      <organization>LabN Consulting, L.L.C.</organization>
      <address>
        <email>lberger@labn.net</email>
      </address>
    </author>
   <author fullname="Donald E. Eastlake 3rd" initials="D."
           surname="Eastlake" surname="Eastlake 3rd" role="editor">
     <organization>Independent</organization>
     <address>
       <postal>
         <street>2386 Panoramic Circle</street>
         <city>Apopka</city>
         <region>Florida</region>
         <region>FL</region>
         <code>32703</code>
         <country>USA</country>
         <country>United States of America</country>
       </postal>
       <phone>+1-508-333-2270</phone>
       <email>d3e3e3@gmail.com</email>
     </address>
   </author>
    <date/>
    <area>Routing</area>
    <workgroup>MANET</workgroup>
    <date month="November" year="2025"/>
    <area>RTG</area>
    <workgroup>manet</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in the
title) for use on <https://www.rfc-editor.org/search>. -->

    <abstract>
      <t>
        This document defines an extension to the Dynamic Link Exchange Protocol (DLEP) that
        enables an Ethernet IEEE 802.1Q aware credit-window scheme for
        destination-specific and shared flow control.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="sec-1" numbered="true">
      <name>Introduction</name>
      <t>
        The Dynamic Link Exchange Protocol (DLEP) is defined in
	<xref target="RFC8175"/>.  The protocol provides the exchange of link related link-related
        control information between DLEP peers.  DLEP peers
        consist of 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>
        The DLEP specification does not define any flow control
        mechanisms. While in theory various flow control techniques could be
        theoretically
        implemented with DLEP, this document specifies a
        DLEP extension that introduces an Ethernet-based flow control
        mechanism for traffic transmitted from a router to a modem. This
        mechanism utilizes one or more logical "Credit Windows", each of
        which is typically associated with a virtual or physical
        queue. The router leverages traffic flow classification
        information provided by the modem to determine the appropriate
        credit window for a given traffic flow. Credit windows may be
        allocated on either a shared or a per-flow basis. For a
        DiffServ-based
        Diffserv-based approach to credit window flow control, refer to
        <xref target="I-D.ietf-manet-dlep-da-credit-extension"/>. target="RFC9894"/>. As
        specified in Section 2.3.1 of <xref
        target="I-D.ietf-manet-dlep-traffic-classification"/>, section="2.3.1" target="RFC9892"/>, when both
        DiffServ
        Diffserv and Ethernet traffic classification are applied to a
        flow, Ethernet-based classification takes precedence.

<!-- [rfced] Section 1: Are one or more words missing from this
sentence?  If neither suggestion below is correct, please clarify
what is shared.

Original:
 Credit windows
 may be allocated on either a shared or a per-flow basis.

Suggestion #1 (flows are shared):
 Credit windows
 may be allocated on either a shared-flow or per-flow basis.

Suggestion #2 (windows are shared):
 Credit windows
 may be allocated on either a shared-window or per-flow basis. -->

      </t>
      <t>
        This document leverages the traffic classification and credit
        window control mechanisms defined in <xref
        target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/> and <xref
        target="I-D.ietf-manet-dlep-credit-flow-control"/> target="RFC9893"/> to enable
        credit window-based
        credit-window-based flow control based on DLEP destinations,
        Ethernet VLANs, Virtual Local Area Networks (VLANs), and Priority Code Points (PCPs). Ethernet PCP
        support is specified as part of the IEEE 802.1Q <xref
        target="IEEE8021Q"/> tag format, format <xref target="IEEE8021Q"/>, which includes a 3-bit "PCP"
        field. The tag format also incorporates a 12-bit "VLAN
        Identifier (VID)" field.
      </t>
      <t>
        The defined mechanism allows credit windows to be shared across
        traffic destined for multiple DLEP destinations, Virtual Local
        Area Networks (VLANs), VLANs, and PCPs, or to be dedicated exclusively
        to traffic associated with a specific destination, VLAN, and/or
        PCP. Additionally, this extension supports "wildcard" matching
        for any PCP or VID.
      </t>
      <t>
        The extension defined in this document is referred to as the "IEEE
        802.1Q Aware Credit Window" or, more simply, the "Ethernet
        Credit" extension. The reader should be familiar with both the
        traffic classification and credit window control mechanisms
        defined in <xref target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/>
	and <xref target="I-D.ietf-manet-dlep-credit-flow-control"/>. target="RFC9893"/>.
      </t>
      <t>
        This document defines a new DLEP Extension Type Value in <xref
        target="sec-ext-type"/> which that is used to indicate support for the extension. See <xref target="sec-ext-type"/>.
      </t>
      <section anchor="sec-1.1" numbered="true">
        <name>Key Words</name>
        <t>
          The
         <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
          NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", "<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 "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document
         are to be interpreted as described in BCP 14 BCP&nbsp;14
         <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
         when, they appear in all capitals, as shown here.
        </t> here.</t>
      </section>
    </section>
    <section anchor="sec-ext-type" numbered="true">
      <name>Extension Usage and Identification</name>
      <t>
        The extension defined in this document is composed of the
        mechanisms and processing defined in <xref
        target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/> and <xref
        target="I-D.ietf-manet-dlep-credit-flow-control"/>. target="RFC9893"/>.  To indicate
        that the IEEE 802.1Q Aware Credit Window Extension is to be
        used, an implementation MUST <bcp14>MUST</bcp14> include the IEEE 802.1Q Aware
        Credit Window Type Value in the Extensions Supported Data Item. Item (see
        <xref target="RFC8175" section="13.6"/>).
        The Extensions Supported Data Item is sent and processed
        according to <xref target="RFC8175"/>.  Any implementation that
        indicates the use of the IEEE 802.1Q Aware Credit Window Extension
        MUST
        <bcp14>MUST</bcp14> support all Messages, message types, Data Items, the Ethernet Traffic
        Classification Sub-Data Item, and all related processing defined
        in <xref target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/>
        and <xref target="I-D.ietf-manet-dlep-credit-flow-control"/>. target="RFC9893"/>.
      </t>

      <t>
        The IEEE 802.1Q Aware Credit Window Extension Type Value is
        TBA1, see
        5. See <xref target="sec-iana"/>.
      </t>
    </section>
    <section anchor="sec-mgmnt" numbered="true">
      <name>Management Considerations</name>
      <t>
        This section provides several network management guidelines to for
        implementations supporting the IEEE 802.1Q Aware Credit Window
        Extension.
      </t>
      <t>
        If this extension is supported, that support MUST <bcp14>MUST</bcp14> be declared
        using the Extensions Supported Data Item (see Section 13.6 of
        <xref target="RFC8175"/>) target="RFC8175" section="13.6"/>), which is configurable on both modems
        and routers.  DiffServ  Diffserv Aware Credit Window Extension Data Items
        MUST NOT
        <bcp14>MUST NOT</bcp14> be emitted by a DLEP participant unless such support
        was specified in the initialization message received from its
        peer.  The use of the extension defined in this document SHOULD <bcp14>SHOULD</bcp14>
        be configurable on both modems and routers.
      </t>
      <t>
        Modems SHOULD <bcp14>SHOULD</bcp14> support the configuration of mapping a PCP to a credit window
        (queue) mapping. (queue).
      </t>
      <t>
        Modems MAY <bcp14>MAY</bcp14> support the configuration of mapping a PCP to a credit window (queue) mapping on a per VLAN per-VLAN basis. VID value zero (0) is used
        by <xref target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/>
        to indicate that the VID is ignored and any VID value is used in
        traffic classification.
      </t>
      <t>
        When VLANs are supported by a modem without support from PCPs,
	the modem SHOULD <bcp14>SHOULD</bcp14> support the configuration of mapping a VLAN to a credit window
        (queue) mapping. (queue).
      </t>
      <t>
        Modems MAY <bcp14>MAY</bcp14> support the configuration of the number of credit windows
        (queues) that they advertise to a router.
      </t>
      <t>
        Routers may impose limitations on the number of queues they can
        support and on the allowable credit window configurations. In
        some cases, per-destination queues may not be supported. If the
        credit window information provided by the modem exceeds the
        router's capabilities, the router SHOULD <bcp14>SHOULD</bcp14> utilize a subset of the
        advertised credit windows. Alternatively, the router MAY <bcp14>MAY</bcp14> reset
        the session and indicate that the extension is not supported. In
        either case, any mismatch in capabilities SHOULD <bcp14>SHOULD</bcp14> be reported to
        the user through standard network management mechanisms, such as
        user interface notifications or error logging.
      </t>
      <t>
        Regardless of implementation, if credit windows are in use, the
        router MUST NOT <bcp14>MUST NOT</bcp14> send traffic to the modem unless sufficient
        credits are available.
      </t>
    </section>
    <section anchor="sec-sec" numbered="true">
      <name>Security Considerations</name>
      <t>
        This document defines a DLEP extension that uses DLEP mechanisms
        and the credit window control and flow mechanisms defined in
        <xref target="I-D.ietf-manet-dlep-traffic-classification"/> target="RFC9892"/> and
        <xref target="I-D.ietf-manet-dlep-credit-flow-control"/>. target="RFC9893"/>. See
	also the Security Considerations sections of those documents.
      </t>
      <t>
	The defined extension is exposed to vulnerabilities similar to
	existing DLEP messages and discussed in the Security
	Considerations section of <xref target="RFC8175"/> target="RFC8175"/>, such as an
	injected message resizing a credit window to a value that
	results in a denial of service. The security mechanisms
	documented in <xref target="RFC8175"/> can be applied equally to
	the mechanism defined in this document.
      </t>
      <t>
	Wildcards for matching PCP and VID fields are provided which provided. Note that wildcards may
	be convenient to match for matching a number of packet flows but could
	inadvertently match unexpected flows or new flows that appear
	after the wildcard matching has been set up. It is therefore
	RECOMMENDED
	<bcp14>RECOMMENDED</bcp14> that wildcards not be used unless clearly needed.
      </t>
    </section>
    <section anchor="sec-iana" numbered="true">
      <name>IANA Considerations</name>
      <t>
        IANA is requested to assign one has assigned the following code point in the "Extension Type
 	Values" registry in the "Dynamic Link Exchange Protocol (DLEP)
 	Parameters" registry group as follows: group:
        </t>
        <t keepWithNext="true"/>

        <table anchor="table_et" align="center">
          <name>Requested Extension
          <name>Extension Type Value</name>
          <thead>
            <tr>
              <th align="left">Code</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBA1</td> align="left">5</td>
              <td align="left">IEEE 802.1Q Aware Credit Window</td>
            </tr>
          </tbody>
        </table>
        <t keepWithPrevious="true"/>

    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
      <reference anchor="IEEE8021Q" target="https://ieeexplore.ieee.org/document/8403927" target="https://ieeexplore.ieee.org/document/10004498" quoteTitle="true">
        <front>
          <title>IEEE Standard for Local and Metropolitan Area
          Networks--Bridges and Bridged Networks</title>
          <author>
            <organization showOnFrontPage="true">IEEE</organization>
            <organization>IEEE</organization>
          </author>
          <date month="July" month="December" year="2022"/>
        </front>
        <seriesInfo name="DOI" value="10.1109/IEEESTD.2022.10004498"/>
        <seriesInfo name="IEEE" name="IEEE Std" value="802.1Q-2022"/>
      </reference>

      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8175.xml"/>

<!-- draft-ietf-manet-dlep-credit-flow-control-19 (9893) -->
        <reference anchor="I-D.ietf-manet-dlep-credit-flow-control"
		 target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-credit-flow-control"> anchor="RFC9893" target="https://www.rfc-editor.org/info/rfc9893">
          <front>
            <title>Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages and Data Items</title>
            <author fullname="Bow-Nan Cheng" initials="B."
		  surname="Cheng"> surname="Cheng" fullname="Bow-Nan Cheng">
              <organization>MIT Lincoln Laboratory</organization>
            </author>
            <author fullname="David Wiggins" initials="D."
		  surname="Wiggins"/> surname="Wiggins" fullname="David Wiggins">
            </author>
            <author initials="S." surname="Ratliff" fullname="Stan Ratliff">
            </author>
            <author fullname="Lou Berger" initials="L." surname="Berger"> surname="Berger" fullname="Lou Berger">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <author fullname="Stan Ratliff" initials="S."
		  surname="Ratliff"/>
	  <author initials="E." surname="Kinzie" fullname="Eric Kinzie" initials="E." surname="Kinzie"> role="editor">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <date day="3" month="January" year="2025"/> month="November" year="2025" />
          </front>
         <seriesInfo name="Internet-Draft"
		    value="draft-ietf-manet-dlep-credit-flow-control"/> name="RFC" value="9893"/>
         <seriesInfo name="DOI" value="10.17487/RFC9893"/>
        </reference>

<!-- draft-ietf-manet-dlep-traffic-classification-17 (9892) -->
        <reference anchor="I-D.ietf-manet-dlep-traffic-classification"
		 target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-traffic-classification"> anchor="RFC9892" target="https://www.rfc-editor.org/info/rfc9892">
          <front>
            <title>Dynamic Link Exchange Protocol (DLEP) Traffic Classification Data Item</title>
            <author fullname="Bow-Nan Cheng" initials="B."
		  surname="Cheng"> surname="Cheng" fullname="Bow-Nan Cheng">
              <organization>MIT Lincoln Laboratory</organization>
            </author>
            <author fullname="David Wiggins" initials="D."
		  surname="Wiggins"/> surname="Wiggins" fullname="David Wiggins">
            </author>
            <author fullname="Lou Berger" initials="L." surname="Berger"> surname="Berger" fullname="Lou Berger">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <author initials="D." surname="Fedyk" fullname="Don Fedyk" initials="D." surname="Fedyk"> role="editor">
              <organization>LabN Consulting, L.L.C.</organization>
            </author>
            <date day="19" month="November" year="2024"/> month='November' year='2025'/>
          </front>
          <seriesInfo name="Internet-Draft"
		    value="draft-ietf-manet-dlep-traffic-classification"/> name="RFC" value="9892"/>
          <seriesInfo name="DOI" value="10.17487/RFC9892"/>
        </reference>
    </references>
      <references>
        <name>Informative References</name>

<!-- draft-ietf-manet-dlep-da-credit-extension-21 (RFC 9894) -->
 <reference anchor="I-D.ietf-manet-dlep-da-credit-extension"
		   target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-da-credit-extension/"> anchor="RFC9894" target="https://www.rfc-editor.org/info/rfc9894">
   <front>
	    <title>DLEP DiffServ
      <title>Dynamic Link Exchange Protocol (DLEP) Diffserv Aware Credit Window Extension</title>
      <author fullname="Bow-Nan Cheng" initials="B."
		    surname="Cheng"> surname="Cheng" fullname="Bow-Nan Cheng">
         <organization>MIT Lincoln Laboratory</organization>
      </author>
      <author fullname="David Wiggins" initials="D."
		    surname="Wiggins"/> surname="Wiggins" fullname="David Wiggins">
         </author>
      <author fullname="Lou Berger" initials="L."
		    surname="Berger"> surname="Berger" fullname="Lou Berger">
         <organization>LabN Consulting, L.L.C.</organization>
      </author>
      <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake 3rd" initials="D. E."
		    surname="Eastlake"> role="editor">
         <organization>Independent</organization>
      </author>
      <date day="15" month="December" year="2024"/> month="November" year="2025" />
   </front>
  <seriesInfo name="Internet-Draft"
	    value="draft-ietf-manet-dlep-da-credit-extension"/> name="RFC" value="9894"/>
  <seriesInfo name="DOI" value="10.17487/RFC9894"/>
</reference>
      </references>
    </references>
    <section numbered="true"> numbered="false">
      <name>Acknowledgments</name>
      <t>
        The
        This document was motivated by discussions in the MANET working
        group. Working
        Group. Many useful comments were received from contributors to
        the MANET working group, Working Group, notably Ronald in't Velt. <contact fullname="Ronald in 't Velt"/>.
      </t>
      <t>
        We had the honor of working too briefly with David Wiggins <contact fullname="David Wiggins"/> on
        this and related DLEP work. His contribution to the IETF and
        publication of the first and definitive open source open-source DLEP
        implementation have been critical to the acceptance of DLEP. We
        mourn his passing on November 23, 26, 2023.  We wish to recognize his
        guidance, leadership leadership, and professional excellence.  We were
        fortunate to benefit from his leadership and friendship. He
        shall be missed.
      </t>
    </section>
  </back>

<!-- [rfced] Please review the "Inclusive Language" portion of the
online Style Guide at
<https://www.rfc-editor.org/styleguide/part2/#inclusive_language>,
and let us know if any changes are needed.  Updates of this nature
typically result in more precise language, which is helpful for readers.

Note that our script did not flag any words in particular, but this
should still be reviewed as a best practice. -->

<!-- [rfced] The following term appears to be used inconsistently in
this document.  Please let us know which form is preferred.

 IEEE 802.1Q Aware Credit Window Type Value /
   IEEE 802.1Q Aware Credit Window Extension Type Value -->

</rfc>