Skip to main content

Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages and Data Items
draft-ietf-manet-dlep-credit-flow-control-16

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Bow-Nan Cheng , David Wiggins , Lou Berger , Stan Ratliff , Eric Kinzie
Last updated 2024-11-19 (Latest revision 2024-07-22)
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Ronald in 't Velt
Shepherd write-up Show Last changed 2024-03-26
IESG IESG state Waiting for AD Go-Ahead
Consensus boilerplate Yes
Telechat date (None)
Responsible AD Jim Guichard
Send notices to ronald.intvelt@tno.nl
IANA IANA review state Version Changed - Review Needed
IANA expert review state Expert Reviews OK
draft-ietf-manet-dlep-credit-flow-control-16
Network Working Group                                           B. Cheng
Internet-Draft                                    MIT Lincoln Laboratory
Intended status: Standards Track                              D. Wiggins
Expires: 23 May 2025                                                    
                                                               L. Berger
                                                 LabN Consulting, L.L.C.
                                                              S. Ratliff
                                                                        
                                                          E. Kinzie, Ed.
                                                 LabN Consulting, L.L.C.
                                                        19 November 2024

Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages
                             and Data Items
              draft-ietf-manet-dlep-credit-flow-control-16

Abstract

   This document defines new Dynamic Link Exchange Protocol (DLEP) 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 extensible
   and reusable.  Their use will be mandated in other documents defining
   specific DLEP extensions.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 23 May 2025.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Cheng, et al.              Expires 23 May 2025                  [Page 1]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Key Words . . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  Credit Window Control . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Data Plane Considerations . . . . . . . . . . . . . . . .   6
     2.2.  Credit Window Messages  . . . . . . . . . . . . . . . . .   6
       2.2.1.  Credit Control Message  . . . . . . . . . . . . . . .   6
       2.2.2.  Credit Control Response Message . . . . . . . . . . .   7
     2.3.  Credit Window Control Data Items  . . . . . . . . . . . .   8
       2.3.1.  Credit Window Initialization  . . . . . . . . . . . .   8
       2.3.2.  Credit Window Association . . . . . . . . . . . . . .  11
       2.3.3.  Credit Window Grant . . . . . . . . . . . . . . . . .  12
       2.3.4.  Credit Window Status  . . . . . . . . . . . . . . . .  13
       2.3.5.  Credit Window Request . . . . . . . . . . . . . . . .  15
     2.4.  Management Considerations . . . . . . . . . . . . . . . .  16
   3.  Compatibility . . . . . . . . . . . . . . . . . . . . . . . .  16
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  17
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
     5.1.  Message Values  . . . . . . . . . . . . . . . . . . . . .  17
     5.2.  Data Item Values  . . . . . . . . . . . . . . . . . . . .  17
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  18
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  18
   Appendix A.  Acknowledgments  . . . . . . . . . . . . . . . . . .  19
   Appendix B.  Example DLEP Credit Flow Control and Traffic
           Classification Data Item Exchange . . . . . . . . . . . .  20
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  21

1.  Introduction

   The Dynamic Link Exchange Protocol (DLEP), defined in [RFC8175],
   provides the exchange of link related control information between
   DLEP peers.  DLEP peers are comprised of a modem and a router.  DLEP
   defines a base set of mechanisms as well as support for future
   extensions.  DLEP defines Data Items which are sets of information
   that can be reused in DLEP messaging.  The DLEP specification does
   not include any flow identification beyond DLEP endpoints nor flow
   control capability.  There are various flow control techniques

Cheng, et al.              Expires 23 May 2025                  [Page 2]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   theoretically possible with DLEP.  For example, a credit-window
   scheme for destination-specific flow control which provides aggregate
   flow control for both modem and routers has been proposed in
   [I-D.ietf-manet-credit-window], and a control plane pause based
   mechanism is defined in [RFC8651].

   Figure 1 illustrates a local node consisting of a router and a modem
   with a DLEP.  DLEP messages optionally contain a number of Data Items
   and Sub-data Items.  Traffic flow classification Data Items provided
   by the modem, are defined in
   [I-D.ietf-manet-dlep-traffic-classification].  In this case, a flow
   is identified based on information found in a data plane header and
   one or more matches are associated with a single flow.  Refer to
   Section 2.3 of [RFC2475] for general background on traffic
   classification.

   |--------------------Local Node--------------------|
   |                                                  |
   +-----------------------------+            +-------+
   | Router                      |            |Modem  |
   |                             |            |Device |{~~~~~~~~} Remote
   |                             |            |       | Link      Nodes
   | Traffic Classification:     |            |       | Protocol
   | Per TID:                    |            |       | (e.g.,
   | DSCPs to FID / PCPs to FID  |            |       | 802.11)
   |                             | Data Items |       |
   | Per Modem: (list of TIDs)   |<---------->|       |
   | FID to Credit Window Queues |============|       |
   |                             |            |       |
   +-----------------------------+            +-------+
                                 |            |
                                 |----DLEP--- |

                  Figure 1: Router and Modem DLEP Exchange

   This document defines DLEP Data Items which provide a flow control
   mechanism for traffic sent from a router to a modem.  Flow control is
   provided using one or more logical "Credit Windows", each of which
   will typically be supported by an associated virtual or physical
   queue.  Credit windows may be shared or dedicated on a per flow
   basis.  The Data Items are structured to allow for reuse of the
   defined credit window based flow control with different traffic
   classification techniques.  A router logically consumes credits for
   each credit window matching packet sent.

Cheng, et al.              Expires 23 May 2025                  [Page 3]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Note that this document defines common Messages, Data Items and
   mechanisms that are reusable.  They are expected to be required by
   DLEP extensions defined in other documents such as found in
   [I-D.ietf-manet-dlep-da-credit-extension].

   This document introduces support for credit window control by
   defining two new DLEP messages in Section 2.2, and five new DLEP Data
   Items in Section 2.3.

1.1.  Key Words

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Credit Window Control

   This section defines additions to DLEP used in credit based flow
   control.  The use of credit window control impacts the data plane.

   The credit window control mechanisms defined in this document support
   credit based flow control of traffic sent from a router to a modem.
   The mapping of specific flows to a particular credit window is based
   on the Traffic Classification Data Item defined in
   [I-D.ietf-manet-dlep-traffic-classification].  Both types of DLEP
   peers, router and modem, negotiate the use of an extension employing
   this mechanism during session initialization as required, for
   example, by [I-D.ietf-manet-dlep-da-credit-extension].  When using
   credit windows, data traffic is only allowed to be sent by the router
   to the modem when there are credits available.

Cheng, et al.              Expires 23 May 2025                  [Page 4]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Credits are managed on a per logical "Credit Window" basis.  Each
   credit window can be thought of as corresponding to a queue within a
   modem.  Credit windows may be shared across, or dedicated to,
   destinations and data plane identifiers, e.g., DSCPs, at a
   granularity that is appropriate for a modem's implementation and its
   attached transmission technology.  As defined below in Section 2.3.1,
   there is a direct one-for-one mapping of credit windows to flows as
   identified by Flow Identifiers (FIDs) carried within the Traffic
   Classification Data Item.  Modems pass to the router information on
   their credit windows and FIDs prior to a router being able to send
   data when an extension requiring the use of credit window control is
   used.  In addition to the traffic classification information
   associated with a FID, modems provide an initial credit window size,
   as well as the maximum size of the logical queue associated with each
   credit window.  The maximum size is included for informative and
   potential future uses.

   Modems provide an initial credit window size at the time of "Credit
   Window Initialization".  Such initialization can take place during
   session initiation or any point thereafter.  It can also take place
   when rate information changes.  An increment to a Credit Window size,
   specified in a Credit Grant Data Item, is provided in a Destination
   Up or the new "Credit Control" Message.  A router provides its view
   of the Credit Window, which is known as "Status", in Destination Up
   Response and the new "Credit Control Response" Messages.  Routers can
   also request credits using the new "Credit Control" Message.

   When modems provide credits to a router, they will need to take into
   account any overhead of their attached transmission technology and
   map it into the credit semantics defined in this document.  In
   particular, the credit window is defined below to include per frame
   (packet) MAC headers, and this may not match the actual overhead of
   the modem attached transmission technology.  In that case a direct
   mapping, or an approximation will need to be made by the modem to
   provide appropriate credit values.

   Actual flows of traffic are mapped to credit windows based on flow
   identification information provided by modems in the Traffic
   Classification Data Item defined in
   [I-D.ietf-manet-dlep-traffic-classification].  This data item
   supports traffic classification on a per destination or more fine
   grain level.  Routers use the combination of the DLEP identified
   destination and flow information associated with a credit window in
   order to match traffic they send to specific credit windows.

   When a destination becomes reachable, a modem "associates"
   (identifies) the appropriate traffic classification information via
   the Traffic Class Identifier (TID) to be used for traffic sent by the

Cheng, et al.              Expires 23 May 2025                  [Page 5]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   router to that destination.  This is supported by the Credit Window
   Association Data Item which is carried in Destination Up and Update
   messages, see Section 2.3.2.  The TID provides the information to
   support router traffic classification, based on the FIDs contained in
   the TID, see [I-D.ietf-manet-dlep-traffic-classification].  As
   defined, each credit window has a corresponding FID, so traffic is
   mapped to a credit window by locating a matching FID that is
   contained in the TID that is associated with the traffic's
   destination.  This means that the use of FIDs, TIDs and the
   association of a TID to a DLEP destination enables a modem to share
   or dedicate resources as needed to match the specifics of its
   implementation and its attached transmission technology.

   The defined credit window control has similar objectives as the
   control found in [I-D.ietf-manet-credit-window].  One notable
   difference from that credit control is that in this document, credits
   are never provided by the router to the modem.

2.1.  Data Plane Considerations

   When credit windowing is used, a router MUST NOT send data traffic to
   a modem for forwarding when there are no credits available in the
   associated Credit Window.  This document defines credit windows in
   octets.  Additionally, a router MUST ensure sufficient credits are
   available in the associated Credit Window for the current data packet
   before sending that data packet to the modem.  The count of octets in
   the packet includes MAC overhead, such as framing, header and
   trailer.  The credit window is decremented by the number of sent
   octets.

   A router MUST identify the credit window associated with traffic to
   be sent to a modem based on the traffic classification information
   provided in the Data Items defined in this document.

2.2.  Credit Window Messages

   Two new messages are defined in support for credit window control:
   the Credit Control and the Credit Control Response Messages.  Sending
   and receiving both message types is REQUIRED to support the credit
   window control defined in this document.

2.2.1.  Credit Control Message

   Credit Control Messages are sent by modems and routers.  Each sender
   is only permitted to have one message outstanding at one time.  That
   is, a sender (i.e., modem or router) MUST NOT send any subsequent
   Credit Control Message until a Credit Control Response Message is
   received from its peer (i.e., router or modem).

Cheng, et al.              Expires 23 May 2025                  [Page 6]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Credit Control Messages are sent by modems to provide credit window
   increases.  Modems send credit increases when there is transmission
   or local queue availability that exceeds the credit window value
   previously provided to the router.  Modems will need to balance the
   load generated by sending and processing credit window increases
   against a router having data traffic available to send, but no
   credits available.

   Credit Control Messages MAY be sent by routers to request credits and
   provide window status.  Routers will need to balance the load
   generated by sending and processing credit window requests against
   having data traffic available to send, but no credits available.

   The Message Type value in the DLEP Message Header is set to TBA2.

   A Credit Control message sent by a modem, MUST contain one or more
   Credit Window Grant Data Items as defined in Section 2.3.3.  A router
   receiving this message MUST respond with a Credit Control Response
   Message.

   A Credit Control message sent by a router, MUST contain one or more
   Credit Window Request Data Items defined in Section 2.3.5 and SHOULD
   contain a Credit Window Status Data Item, defined in Section 2.3.4,
   corresponding to each credit window request.  A modem receiving this
   message MUST respond with a Credit Control Response Message based on
   the received message and Data Item and the processing defined in
   Section 2.2.2, which will typically result in credit window
   increments being provided.

   Specific processing associated with each Credit Data Item is provided
   in Section 2.3.

2.2.2.  Credit Control Response Message

   Credit Control Response Messages are sent by routers to report the
   current Credit Window for a destination.  A Credit Control Response
   message sent by a router, MUST contain one or more Credit Window
   Status Data Items as defined below in Section 2.3.4.  Specific
   receive processing associated with the Credit Window Status Data Item
   is provided in Section 2.3.4.

Cheng, et al.              Expires 23 May 2025                  [Page 7]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Credit Control Response Messages sent by modems MUST contain one or
   more Credit Window Grant Data Items.  A Data Item for every Credit
   Window Request Data Item contained in the corresponding Credit
   Control Message received by the modem MUST be included.  Each Credit
   Grant Data Item MAY provide zero or more additional credits based on
   the modem's transmission or local queue availability.  Specific
   receive processing associated with each Grant Data Item is provided
   in Section 2.3.3.

   The Message Type value in the DLEP Message Header is set to TBA3.

2.3.  Credit Window Control Data Items

   Five new Data Items are defined to support credit window control.
   The Credit Window Initialization Data Item is used by a modem to
   identify a credit window and set its size.  The Credit Window
   Association Data Item is used by a modem to identify which traffic
   classification identifiers (flows) should be used when sending
   traffic to a particular DLEP identified destination.  The Credit
   Window Grant Data Item is used by a modem to provide additional
   credits to a router.  The Credit Window Request Data Item is used by
   a router to request additional credits.  The Credit Window Status
   Data Item is used to advertise the sender's view of number of
   available credits for state synchronization purposes.

   Any errors or inconsistencies encountered in parsing Data Items are
   handled in the same fashion as any other data item parsing error
   encountered in DLEP, see [RFC8175].  In particular, the node parsing
   the Data Item MUST terminate the session with a Status Data Item
   indicating Invalid Data.

2.3.1.  Credit Window Initialization

   The Credit Window Initialization Data Item is used by a modem to
   identify a credit window and set its size.  In order to avoid errors
   caused by the use of undefined FIDs or uninitialized credit windows,
   this Data Item SHOULD be included in any Session Initialization
   Response Message that indicates support for any such extension.
   Updates to previously identified credit windows or new credit windows
   MAY be sent by a modem by including the Data Item in Session Update
   Messages.  More than one data item MAY be included in a message to
   provide information on multiple credit windows.

Cheng, et al.              Expires 23 May 2025                  [Page 8]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   The Credit Window Initialization Data Item identifies a credit window
   using a Flow Identifier, or FID.  It also provides the size of the
   identified credit window.  Finally, a queue size (in octets) is
   provided for informational purposes.  Note that to be used, a FID
   must be defined within a Traffic Classification Data Item and the
   associated TID must be provided via a Credit Window Association Data
   Item.

   The format of the Credit Window Initialization Data Item is:

        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 (16)                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Flow Identifier (FID)         |            Reserved           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Credit Value                          :
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       :                         Credit Value                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Scale      |         Credit Window Max Size                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:
      TBA4

   Length:
      16

      Per [RFC8175] Length is the number of octets in the Data Item.  It
      MUST be equal to sixteen (16).

   Flow Identifier (FID):
      A flow identifier as defined by the Traffic Classification Data
      Item [I-D.ietf-manet-dlep-traffic-classification].  The FID also
      uniquely identifies a credit window.

   Reserved:
      MUST be set to zero by the sender (a modem) and ignored by the
      receiver (a router).

   Credit Value:
      A 64-bit unsigned integer representing the credits, in octets, to
      be added to the Credit Window.  This value includes MAC headers as
      seen on the link between the modem and router.

   Scale:

Cheng, et al.              Expires 23 May 2025                  [Page 9]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

      An 8-bit unsigned integer indicating the scale used in the Credit
      Window Max Size field.  The valid values are:

            Value  Scale
            ------------
                0   B - Bytes     (Octets)
                1  KB - Kilobytes (B/1024)
                2  MB - Megabytes (KB/1024)
                3  GB - Gigabytes (MB/1024)

   Credit Window Max Size:
      A 24-bit unsigned integer representing the maximum size, in the
      octet scale indicated by the Scale field, of the associated credit
      window.

   A router that receives a Credit Window Initialization Data Item MUST
   ensure that the FID field value has been provided by the modem in a
   Traffic Classification Data Item carried in either the current or a
   previous message.  If the FID cannot be found the router SHOULD log
   this information.  The method of logging is left to the router
   implementation.  Note that no traffic will be associated with the
   credit window in this case.  After FID validation, the router MUST
   locate the credit window that is associated with the FID indicated in
   each received Data Item.  If no associated credit window is found,
   the router MUST initialize a new credit window using the values
   carried in the Data Item.  When an associated credit window is found,
   the router MUST update the credit window and associated data plane
   state using the values carried in the Data Item.  If the resulting
   Credit Value results in the credit window exceeding the represented
   Credit Window Max Size, the Credit Window Max Size field value is
   used as the new credit window size.

   It is worth noting, that such updates can result in a credit window
   size being reduced, for example, due to a transmission rate change on
   the modem.  After sending the Session Update Message with one or more
   Credit Window Initialization Data Items that decrease the Credit
   Window Max Size, the modem SHOULD continue processing received
   packets that match the indicated FIDs, fit within the window for the
   unmodified Credit Window Max Size and arrive before the modem
   receives the corresponding Session Update Response Message.  The
   modem SHOULD NOT issue additional credits for any affected FID until
   that FID's associated Window has drained to be less than the new
   Credit Window Max Size, regardless of when the corresponding Session
   Update Response Message is received.

Cheng, et al.              Expires 23 May 2025                 [Page 10]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

2.3.2.  Credit Window Association

   The Credit Window Association Data Item is used by a modem to
   associate traffic classification information with a destination.  The
   traffic classification information is identified using a TID value
   that has previously been sent by the modem or is listed in a Traffic
   Classification Data Item carried in the same message as the Credit
   Window Association Data Item.  TIDs in different Credit windows must
   not overlap.

   A single Credit Window Association Data Item MUST be included in
   every Destination Up and Destination Update Message sent by a modem
   when the credit window control defined in this document is used.
   Note that a TID will not be used unless it is listed in a Credit
   Window Association Data Item.

   The format of the Credit Window Association Data Item is:

        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 (2)                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Traffic Class. Identifier (TID)|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:
      TBA5

   Length:
      2

      Per [RFC8175] Length is the number of octets in the Data Item.  It
      MUST be equal to two (2).

   Traffic Classification Identifier (TID):
      A 16-bit unsigned integer identifying a traffic classification set
      that has been identified in a Traffic Classification Data Item,
      see [I-D.ietf-manet-dlep-traffic-classification].

Cheng, et al.              Expires 23 May 2025                 [Page 11]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   A router that receives a Credit Window Association Data Item MUST
   locate the traffic classification information indicated by the
   received TID.  If no corresponding information is found, the Credit
   Window Association Data Item MUST be treated as an error as described
   above.  If the traffic classification information is located, the
   router MUST ensure that any data plane state that is associated with
   the TID and its corresponding FIDs are updated as needed (per
   Section 2.1).  If a router determines that a newly received Data Item
   results in credit windows with overlapping TIDs, the Data Item MUST
   be treated as an error as described above.

2.3.3.  Credit Window Grant

   The Credit Window Grant Data Item is used by a modem to provide
   credits to a router.  One or more Credit Window Grant Data Items MAY
   be carried in the DLEP Destination Up, Destination Announce Response,
   Destination Update, Credit Control Messages, and Credit Control
   Response Messages.  Multiple Credit Window Grant Data Items may be
   present in a single message.  Each item grants credits to a different
   credit window and, therefor, references a different FID.  In all
   message types, this Data Item provides an additional number of octets
   to be added to the indicated credit window.  Credit windows are
   identified using FID values that have been previously been sent by
   the modem or are listed in a Credit Window Initialization Data Item
   carried in the same message as the Data Item.

   The format of the Credit Window Grant Data Item is:

       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 (12)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Flow Identifier (FID)         |            Reserved           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Additional Credits                        :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                     Additional Credits                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:
      TBA6

   Length:
      12

      Per [RFC8175], Length is the number of octets in the Data Item.
      It MUST be equal to twelve (12).

Cheng, et al.              Expires 23 May 2025                 [Page 12]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Flow Identifier (FID):
      A flow identifier as defined by the Traffic Classification Data
      Item.  The FID also uniquely indicates a credit window.

   Reserved:
      MUST be set to zero by the sender and ignored by the receiver.

   Additional Credit:
      A 64-bit unsigned integer representing the credits, in octets, to
      be added to the Credit Window.  This value includes MAC headers as
      seen on the link between the modem and router.  A value of zero
      indicates that no additional credits are being provided.

   When receiving this Data Item, a router MUST identify the credit
   window indicated by the FID.  If the FID is not known to the router,
   it SHOULD log this information and discard the Data Item.  The method
   of logging is left to the router implementation.  It is important to
   note that while this Data Item can be received in a destination
   specific message, credit windows are managed independently from the
   destination identified in the message carrying this Data Item, and
   the indicated FID MAY even be disjoint from the identified
   destination.

   Once the credit window is identified, the credit window size MUST be
   increased by the value contained in the Additional Credits field.  If
   the increase results in a window overflow, the Credit Window must be
   set to its maximum as defined by the Credit Window Max Size carried
   in the Credit Window Initialization Data Item.

   No response is sent by the router to a modem after processing a
   Credit Window Grant Data Item received in a Credit Control Response
   Message.  When a Credit Window Grant Data Item is received in other
   message types, the receiving router MUST send a Credit Window Status
   Data Item or items reflecting the resulting Credit Window value of
   the updated credit window.  When the Credit Grant Data Item is
   received in a Destination Up Message, the Credit Window Status Data
   Item(s) MUST be sent in the corresponding Destination Up Response
   Message.  Otherwise, a Credit Control Message MUST be sent.

2.3.4.  Credit Window Status

   The Credit Window Status Data Item is used by a router to report the
   current credit window size to its peer modem.  One or more Credit
   Window Status Data Items MAY be carried in a Destination Up Response
   Message or a Credit Control Response Message.  As discussed in
   Section 2.3.3, the Destination Up Response Message is used when the
   Data Item is sent in response to a Destination Up Message, and the
   Credit Control Response Message is sent in response to a Credit

Cheng, et al.              Expires 23 May 2025                 [Page 13]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Control Message.  Multiple Credit Window Status Data Items in a
   single message are used to indicate different sizes of different
   credit windows.  Similar to the Credit Window Grant, credit windows
   are identified using FID values that have been previously been sent
   by the modem.

   The format of the Credit Window Status Data Item is:

       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 (12)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Flow Identifier (FID)         |            Reserved           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Current Credit Window Size                   :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                  Current Credit Window Size                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:
      TBA7

   Length:
      12

      Per [RFC8175] Length is the number of octets in the Data Item.  It
      MUST be equal to twelve (12).

   Flow Identifier (FID):
      A flow identifier as defined by the Traffic Classification Data
      Item.  The FID also uniquely identifies a credit window.

   Reserved:
      MUST be set to zero by the sender and ignored by the receiver.

   Current Credit Window Size:
      A 64-bit unsigned integer, indicating the current number of
      credits, in octets, available for the router to send to the modem.
      This is referred to as the Modem Receive Window in
      [I-D.ietf-manet-credit-window].

   When receiving this Data Item, a modem MUST identify the credit
   window indicated by the FID.  If the FID is not known to the modem,
   it SHOULD log this information and discard the Data Item.  The method
   of logging is left to the modem implementation.  As with the Credit
   Window Grant Data Item, the FID MAY be unrelated to the Destination
   indicated in the message carrying the Data Item.

Cheng, et al.              Expires 23 May 2025                 [Page 14]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Once the credit window is identified, the modem SHOULD check the
   received Current Credit Window Size field value against the
   outstanding credit window's available credits at the time the most
   recent Credit Window Initialization or Grant Data Item associated
   with the indicated FID was sent.  If the values significantly differ,
   i.e., greater than can be accounted for based on observed data
   frames, then the modem SHOULD send a Credit Window Initialization
   Data Item to reset the associated credit window size to the modem's
   current view of the available credits.  As defined in Section 2.3.1,
   Credit Window Initialization Data Items are sent in Session Update
   Messages.  When multiple Data Items need to be sent, they SHOULD be
   combined into a single message when possible.  Alternatively, and
   also in cases where there are small differences, the modem MAY adjust
   the values sent in Credit Window Grant Data Items to account for the
   reported Credit Window.

2.3.5.  Credit Window Request

   The Credit Window Request Data Item is used by a router to request
   additional credits for particular credit windows.  Credit Window
   Request Data Items are carried in Credit Control Messages, and one or
   more Credit Window Request Data Items MAY be present in a message.

   Credit windows are identified using a FID as defined in
   Section 2.3.1.  Multiple FIDs MAY be present to allow for the case
   where the router identifies that credits are needed in multiple
   credit windows.  A special FID value, as defined below, is used to
   indicate that a credit request is being made across all queues.

   The format of the Credit Window Request Data Item is:

       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                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Flow Identifier (FID)         |               ...             :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :               ...             | Flow Identifier (FID)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:
      TBA8

   Length:
      Variable

Cheng, et al.              Expires 23 May 2025                 [Page 15]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

      Per [RFC8175] Length is the number of octets in the Data Item,
      excluding the Type and Length fields.  It is equal to the number
      of FID fields carried in the Data Item times 2 and MUST be at
      least 2.

   Flow Identifier (FID):
      A flow identifier as defined by the Traffic Classification Data
      Item.  The FID also uniquely identifies a credit window.  The
      special value of 0xFFFF indicates that the request applies to all
      FIDs.  Note that when the special value is included, all other FID
      values included in the Data Item are redundant as the special
      value indicates all FIDs.

   A modem receiving this Data Item MUST provide a Credit Increment for
   the indicated credit windows via Credit Window Grant Data Items
   carried in a new Credit Control Message.  Multiple values and queue
   indexes SHOULD be combined into a single Credit Control Message when
   possible.  Unknown FID values SHOULD be logged and then ignored by
   the modem.  The method of logging is left to the modem
   implementation.

2.4.  Management Considerations

   This section provides several network management guidelines to
   implementations supporting the credit window mechanisms defined in
   this document.

   Modems MAY support the configuration of the number of credit windows
   (queues) to advertise to a router.

   Routers may have limits on the number of queues that they can
   support.  They may even have limits on supported credit window
   combinations.  For example, per destination queues may not be
   supported at all.  When modem-provided credit window information
   exceeds the capabilities of a router, the router SHOULD use a subset
   of the provided credit windows.  Alternatively, a router MAY reset
   the session and indicate that the extension is not supported.  In
   either case, the mismatch of capabilities SHOULD be reported to the
   user via normal network management mechanisms, such as the user
   interface or error logging.

   In all cases, if credit windows are in use, traffic for which credits
   are not available MUST NOT be sent to the modem by the router.

3.  Compatibility

   The messages and Data Items defined in this document will only be
   used when extensions require their use.

Cheng, et al.              Expires 23 May 2025                 [Page 16]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   The DLEP specification [RFC8175] defines handling of unexpected
   appearances of any Data Items, including those defined in this
   document.

4.  Security Considerations

   This document introduces credit window control and flow mechanisms to
   DLEP.  These mechanisms expose vulnerabilities similar to existing
   DLEP messages.  For example, a malicious actor masquerading as a DLEP
   peer could inject a Credit Window Initialization Data Item which
   resizes a credit window to a value that results in a denial of
   service.  The Layer 2 and transport layer security mechanisms
   documented in [RFC8175] can be applied equally to the mechanism
   defined in this document.

5.  IANA Considerations

   This document requests the assignment of several values by IANA.  All
   assignments are to registries defined by [RFC8175].

5.1.  Message Values

   This document requests 2 new assignments to the DLEP Message Registry
   named "Message Values" in the range with the "Specification Required"
   policy.  The requested values are as follows:

                  +===========+=========================+
                  | Type Code | Description             |
                  +===========+=========================+
                  | TBA2      | Credit Control          |
                  +-----------+-------------------------+
                  | TBA3      | Credit Control Response |
                  +-----------+-------------------------+

                     Table 1: Requested Message Values

5.2.  Data Item Values

   This document requests the following new assignments to the DLEP Data
   Item Registry named "Data Item Type Values" in the range with the
   "Specification Required" policy.  The requested values are as
   follows:

Cheng, et al.              Expires 23 May 2025                 [Page 17]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

               +===========+==============================+
               | Type Code | Description                  |
               +===========+==============================+
               | TBA4      | Credit Window Initialization |
               +-----------+------------------------------+
               | TBA5      | Credit Window Association    |
               +-----------+------------------------------+
               | TBA6      | Credit Window Grant          |
               +-----------+------------------------------+
               | TBA7      | Credit Window Status         |
               +-----------+------------------------------+
               | TBA8      | Credit Window Request        |
               +-----------+------------------------------+

                   Table 2: Requested Data Item Values

6.  References

6.1.  Normative References

   [I-D.ietf-manet-dlep-traffic-classification]
              Cheng, B., Wiggins, D., and L. Berger, "DLEP Traffic
              Classification Data Item", Work in Progress, Internet-
              Draft, draft-ietf-manet-dlep-traffic-classification-12, 23
              July 2024, <https://datatracker.ietf.org/doc/html/draft-
              ietf-manet-dlep-traffic-classification-12>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8175]  Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B.
              Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175,
              DOI 10.17487/RFC8175, June 2017,
              <https://www.rfc-editor.org/info/rfc8175>.

6.2.  Informative References

Cheng, et al.              Expires 23 May 2025                 [Page 18]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   [I-D.ietf-manet-credit-window]
              Ratliff, S., "Credit Windowing extension for DLEP", Work
              in Progress, Internet-Draft, draft-ietf-manet-credit-
              window-07, 13 November 2016,
              <https://datatracker.ietf.org/doc/html/draft-ietf-manet-
              credit-window-07>.

   [I-D.ietf-manet-dlep-da-credit-extension]
              Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ
              Aware Credit Window Extension", Work in Progress,
              Internet-Draft, draft-ietf-manet-dlep-da-credit-extension-
              18, 22 July 2024, <https://datatracker.ietf.org/doc/html/
              draft-ietf-manet-dlep-da-credit-extension-18>.

   [RFC2475]  Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
              and W. Weiss, "An Architecture for Differentiated
              Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
              <https://www.rfc-editor.org/info/rfc2475>.

   [RFC8651]  Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link
              Exchange Protocol (DLEP) Control-Plane-Based Pause
              Extension", RFC 8651, DOI 10.17487/RFC8651, October 2019,
              <https://www.rfc-editor.org/info/rfc8651>.

Appendix A.  Acknowledgments

   We mourn the loss of Stan Ratliff who passed away on October 22,
   2019.  His guidance, leadership and personal contributions were
   critical in the development of this work and DLEP as a whole.  His
   leadership and friendship shall be missed.

   We mourn the loss of David Wiggins who passed away on November 23,
   2023.  His guidance, leadership and personal contributions were
   critical in the development of this work and DLEP as a whole.  His
   leadership and friendship shall be missed.

   Many useful comments were received from contributors to the MANET
   working group, notably Rick Taylor, Ronald in't Velt and David Black.
   This document was derived from
   [I-D.ietf-manet-dlep-da-credit-extension] as a result of discussions
   at IETF 101.

Cheng, et al.              Expires 23 May 2025                 [Page 19]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   We had the honor of working too briefly with David Wiggins on this
   and related DLEP work.  His contribution to the IETF and publication
   of the first and definitive open source DLEP implementation have been
   critical to the acceptance of DLEP.  We morn his passing on November
   23, 2023.  We wish to recognize his guidance, leadership and
   professional excellence.  We were fortunate to benefit from his
   leadership and friendship.  He shall be missed.

Appendix B.  Example DLEP Credit Flow Control and Traffic Classification
             Data Item Exchange

   Below Figure 2 illustrates a credit flow control and traffic
   classification exchange between a Router and a Modem.  The Modem will
   initialize a number of queues with Credit Window Initialization Data
   Items, Window Association Data Item(s) and Traffic Classification
   Item(s) included in DLEP messages as outlined in this document.  If
   the Data Items are successfully validated, traffic is mapped to the
   corresponding credit window on the router and forwarded when there
   are sufficient credits.  Routers can periodically report the status
   of the credit window.  Modems will send periodic updates with more
   credits as packets are transmitted.  Routers may request more credits
   for a particular window if the router requires more credits.  This
   document defines window credit flow information for flow Identifiers
   (FIDs) that map to the queues.
   [I-D.ietf-manet-dlep-traffic-classification] defines the traffic
   classification data sub items such as DiffServ code points that map
   to the FIDs.

Cheng, et al.              Expires 23 May 2025                 [Page 20]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

            Router                                        Modem

              |<----------------DLEP Messages---------------|
              |   Traffic Classification Data Item(s)       |
              |   Window Association Data Item(s)           |
              |   Credit Window Initialization Data Item(s) |
              |                                             |
              |============================================>|
              |   Traffic                                   |
              |                                             |
              |<----------------DLEP Messages---------------|
              |   Credit Window Grant Data Item(s)          | T
              |============================================>| i
              |   Traffic                                   | m
              |                                             | e
              |----------------DLEP Messages--------------->|
              |   Credit Window Status Data Item(s)         | |
              |                                             | V
              |============================================>|
              |   Traffic                                   |
              |                                             |
              |----------------DLEP Messages--------------->|
              |   Credit Window Request Data Item(s)        |
              |                                             |
              |<------------------------------------------- |
              |   Credit Window Grant Data Item(s)          |
              |                                             |
              |============================================>|
              |   Traffic                                   |
              |                                             |

     Figure 2: Example DLEP Traffic Classification/Credit Flow Exchange

Authors' Addresses

   Bow-Nan Cheng
   MIT Lincoln Laboratory
   Massachusetts Institute of Technology
   244 Wood Street
   Lexington
   Email: bcheng@ll.mit.edu

   David Wiggins
   Email: david@none.org

Cheng, et al.              Expires 23 May 2025                 [Page 21]
Internet-Draft       DLEP Credit-Based Flow Control        November 2024

   Lou Berger
   LabN Consulting, L.L.C.
   Email: lberger@labn.net

   Stan Ratliff
   Email: stan@none.org

   Eric Kinzie (editor)
   LabN Consulting, L.L.C.
   Email: ekinzie@labn.net

Cheng, et al.              Expires 23 May 2025                 [Page 22]