Network Working Group                                           B. Cheng
Internet-Draft                                                D. Wiggins
Intended status: Standards Track                      Lincoln Laboratory
Expires: May 15, September 2, 2018                                     L. Berger
                                                 LabN Consulting, L.L.C.
                                                       November 11, 2017
                                                           March 1, 2018

              DLEP DiffServ Aware Credit Windowing Window Extension
              draft-ietf-manet-dlep-da-credit-extension-03
              draft-ietf-manet-dlep-da-credit-extension-04

Abstract

   This document defines an extension to the DLEP protocol that enables
   a DiffServ aware credit-windowing credit-window scheme for destination-specific and
   shared flow control.  The extension is logically composed of two
   mechanisms.  The first provides credit window control, the second
   identifies how flows are identified and mapped to a credit window.

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 May 15, September 2, 2018.

Copyright Notice

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

   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 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Key Words . . . . . . . . . . . . . . . . . . . . . . . .   3   4
   2.  Extension Overview  . . . . . . . . . . . . . . . . . . . . .   3   4
   3.  Extension Usage and Identification  . . . . . . . . . . . . .   5
   4.  Credit Window Control . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Data Plane Considerations . . . . . . . . . . . . . . . . . .   5
   5.
     4.2.  Extension Messages  . . . . . . . . . . . . . . . . . . . . .   5
     5.1.   6
       4.2.1.  Credit Control Message  . . . . . . . . . . . . . . . . .   5
     5.2.   6
       4.2.2.  Credit Control Response Message . . . . . . . . . . . . .   6
   6.  Extension   7
     4.3.  Credit Window Control Data Items  . . . . . . . . . . . .   7
       4.3.1.  Credit Window Initialization  . . . . . . . .   7
     6.1. . . . .   8
       4.3.2.  Credit Window Initialization Associate . . . . . . . . . . . . . .   7
     6.2. .  10
       4.3.3.  Credit Window Traffic Classification  . Grant . . . . . . . . .   9
       6.2.1.  Traffic Classification Sub Data Item . . . . . . . .  11
       6.2.2.  DiffServ Traffic Classification Sub Data Item
       4.3.4.  Credit Window Status  . . . . . . . . . . . . . . . .  12
     6.3.
       4.3.5.  Credit Window Associate Request . . . . . . . . . . . . . . . .  14
   5.  Traffic Classification  . .  13
     6.4.  Credit Window Credit Grant . . . . . . . . . . . . . . .  14
     6.5.  Credit Window Status . .  15
     5.1.  Traffic Classification Data Item  . . . . . . . . . . . .  15
       5.1.1.  Traffic Classification Sub Data Item  . . . . . . . .  16
     6.6.  17
     5.2.  DiffServ Credit Window Request Traffic Classification Sub Data
           Item  . . . . . . . . . . . . . . . . . . . . . . . . . .  17
   7.
   6.  Compatibility . . . . . . . . . . . . . . . . . . . . . . . .  18  19
   7.  Management Considerations . . . . . . . . . . . . . . . . . .  19
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  18  20
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  19  20
     9.1.  Extension Type Value  . . . . . . . . . . . . . . . . . .  19  20
     9.2.  Message Values  . . . . . . . . . . . . . . . . . . . . .  19  20
     9.3.  Data Item Values  . . . . . . . . . . . . . . . . . . . .  19  21
     9.4.  DLEP Sub Data Item Registry . . . . . . . . . . . . . . .  20  21
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  21  22
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  21  22
     10.2.  Informative References . . . . . . . . . . . . . . . . .  21  22
   Appendix A.  Acknowledgments  . . . . . . . . . . . . . . . . . .  22  23
   Appendix B.  Open and Resolved Issues . . . . . . . . . . . . .  Notional Support for Ethernet Priority Code Points .  22  23
     B.1.  Merge with [I-D.ietf-manet-credit-window]  Notional Ethernet Credit Window Traffic Classification
           Sub Data Item . . . . . . . .  22
     B.2.  Supporting Router Limits . . . . . . . . . . . . . .  24
     B.2.  Other Considerations  . .  22
     B.3.  Absolute vs Increment . . . . . . . . . . . . . . . .  25
   Authors' Addresses  . .  23
     B.4.  Bidirectional Flow
           Control (closed) . . . . . . . . . . . . . . . . . . . .  23
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  23  26

1.  Introduction

   The Dynamic Link Event Exchange Protocol (DLEP) is defined in [RFC8175].
   It 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 possible
   extensions.  This document defines one such extension.

   The base DLEP specification does not include any flow control
   capability.  There are various flow control techniques theoretically
   possible with DLEP.  For example, a credit-windowing credit-window scheme for destination-
   specific
   destination-specific flow control which provides aggregate flow
   control for both modem and routers has been proposed in
   [I-D.ietf-manet-credit-window].

   This document defines a DLEP extension which provides an alternate a flow control
   mechanism for traffic sent from a router to a modem.  Flow control is provide
   provided using one or more logical "Credit Windows", each of which
   will typically be supported by an associated virtual or physical
   queue.  Traffic sent by a router will use traffic flow classification
   information provided by the modem to identify which traffic is
   associated with each credit window.  (For general background on
   traffic classification see [RFC2475] Section 2.3.)  Credit windows
   may be shared or dedicated on a per flow basis.  The extension is
   structured to allow for reuse of the defined credit window based flow
   control with different traffic classification techniques.

   This document supports defines traffic classification based on DLEP
   destination and DiffServ [RFC2475] DSCPs (differentiated services
   codepoints).  Credit windows may be shared or dedicated on a per
   {destination, DSCP} tuple basis.  Said another way, the  The defined mechanism allows for credit windows to be
   shared across traffic sent to multiple DLEP destinations and DSCPs,
   or used exclusively for traffic sent to a particular destination and/or and/
   or DSCP.  The extension also supports the "wildcard" matching of any
   DSCP.  Traffic classification information is provided such that it
   can be readily extended to support non-DSCP related traffic
   classification techniques, or be used by non-credit window related
   extensions, such as [I-D.ietf-manet-dlep-pause-extension].

   The extension defined in this document is referred to as "DiffServ
   Aware Credit Windowing" Window" or, more simply, the "DA Credit" extension.
   The extension is structured
   Future extensions are expected to allow for reuse of the defined credit
   window based flow control with define traffic classification
   techniques other than DiffServ, e.g., IEEE 802.1 Q priority code
   points or even 5-tuple IP flows.

   This document defines a new DLEP Extension Type Value in Section 3
   which is used to indicate the use of support for the extension.  Two new
   messages are defined in Section 5, 4.2 and six five new DLEP Data Items data items in
   Section 6. 4.3 are defined to support credit window control.  A single
   data item is defined in Section 5.1 to support traffic classification
   in general, as well as identification of flows based on DSCPs.

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.  Extension Overview

   The DA Credit extension can be used to support credit based flow
   control of traffic sent from a router to a modem.  The extension can
   be used to support DiffServ and non-DiffServ per DLEP destination based flow
   control.  Both types of DLEP endpoints, i.e., a router and a modem,
   negotiate the use of extension during session initialization, see
   Section 5.2 [RFC8175].  When using this extension, data traffic is
   allowed to be sent by the router to the modem only when there are
   credits available.

   Credits are managed on a per logical "Credit Windows" basis.  Each
   credit window can be thought of as corresponding to a queue within a
   modem.  Modems pass to the router information on its their credit windows
   and identify each via a "Credit Window Identifier", or "CID".  In
   addition to the CID, credit window information includes an initial
   credit window size, as well as the maximum size of the logical queue
   associated with each CID.  The maximum size is included for
   informative and, potential, and potential future uses.

   As mentioned above, traffic classification supported by this document
   is performed on a per {destination, DSCP} tuple basis.  This means
   that, routers need the combination of the DLEP identified destination
   and DSCP associated with a CID in order to match traffic it sends to
   specific credit windows.

   Modems provide an initial credit window size at the mapping of DSCPs to CIDs
   in sets, each time of which is identified via a "Traffic Classification
   Identifier" or "TID".  When a destination becomes reachable, a modem
   "Associates" (identifies) the TID to be used for traffic sent by the
   router to that destination.  This use of CIDs, TIDs and association
   of a TID to a DLEP destination enables modem to share or dedicate
   resources as needed to match the specifics of its implementation and
   its attached transmission technology.

   Modems provide an initial credit window size at the time of "Credit
   Window Initialization".  Such initialization can take place during
   session initiation "Credit
   Window Initialization".  Such initialization can take place during
   session initiation or any point thereafter.  It can also take place
   when rate information changes.  Additional "Credit Grants", i.e.,
   increments to Credit Window size, are provided using 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.

   As mentioned above, traffic classification supported by this document
   is performed on a per {destination, DSCP} tuple basis.  (Per
   destination traffic classification is also supported.)  This means
   that, routers need the combination of the DLEP identified destination
   and one or more DSCPs associated with a CID in order to match traffic
   they send to specific credit windows.  Modems provide the mapping of
   DSCPs to CIDs in sets, each of which is identified via a "Traffic
   Classification Identifier" or "TID".  When a destination becomes
   reachable, a modem "Associates" (identifies) the TID to be used for
   traffic sent by the router to that destination.  This use of CIDs,
   TIDs and 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.

3.  Extension Usage and Identification

   The use of the extension defined in this document SHOULD be
   configurable. is composed of the mechanisms
   and processing defined in Section 4 and Section 5.  To indicate that
   the DiffServ Aware Credit Windowing Window Extension is to be used, an
   implementation MUST include the DiffServ Aware Credit Windowing Window Type
   Value in the Extensions Supported Data Item.  The Extensions
   Supported Data Item is sent and processed according to [RFC8175].

   The DiffServ Aware Credit Windowing Window Extension Type Value is TBA1, see
   Section 9.

4.  Data Plane Considerations

   When  Credit Window Control

   This section defines additions to DLEP for the use control of the extension credit
   based flow control.  As mentioned above, the definition is made in
   the context of credit windows which can be thought of as representing
   different logical queues.  Two new messages and five data items are
   defined to support credit window control.  Credit window control also
   impacts the data plane.

4.1.  Data Plane Considerations

   When the use of the extension defined in this document is agreed upon
   per standard DLEP processing, see Section 3, 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.  A credit window value MUST be larger than
   the number of octets contained in a packet, including any MAC headers
   used between the router and the modem, in order for the router to
   send the packet to a modem for forwarding.  The credit window is
   decremented by the number of sent octets.

   A router MUST identify the credit window associated with traffic sent
   to a modem based on the traffic classification information provided
   in the data items defined in this document.  The definitions support
   identification based on DLEP destination and, at the modem's
   discretion, DSCPs.  Note that routers will
   typically view a DLEP destination as the next hop.

5. hop MAC address.

4.2.  Extension Messages

   Two new messages are defined by this extension: the Credit Control
   and the Credit Control Response Message.  Sending and receiving both
   message types MUST be supported by any implementation that advertises
   use of this extension per Section 3.

5.1.

4.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 (modem or router) MUST NOT send a second (or any
   subsequent) Credit Control Message until a Credit Control Response
   Message is received from its peer (router or modem).

   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
   previous provided to the router.  Modems will need to balance the
   load generated by sending and processing frequent 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 frequent credit window requests
   against a having data traffic available to send, but no credits
   available.

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

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

   A message sent by a router, MUST contain one or more Credit Window
   Request Data Items defined below in Section 6.6 4.3.5 and SHOULD contain
   a Credit Window Status Data Item, defined in Section 6.5, 4.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 below,
   which will typically result in credit window increments being
   provided.

   Specific processing associated with each Credit Data Item is provided
   below.

5.2.

4.2.2.  Credit Control Response Message

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

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

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

6.  Extension

4.3.  Credit Window Control Data Items

   Six

   Five new data items are defined by this extension. 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 Traffic Classification
   Data Item is used by a modem to identify a set which identifies which
   DSCPs are mapped to a credit window.  The Credit Window
   Association Data Item is used by a modem to identify which traffic
   classification
   set identifiers (flows) should be used when sending
   traffic to a particular DLEP identified destination.  The Credit
   Window Grant is used by a modem to provide additional credits to a
   router.  The Credit Request is used by a router to request additional
   credits.  The Credit Window Status 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 dtem 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.

   The defined data items and operations have similar objectives as
   those found in [I-D.ietf-manet-credit-window].  One notable
   difference from this extension is that in this document credits are
   never provided by the router to the modem.

6.1.

4.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.  This Data Item SHOULD be
   included in any Session Initialization Response Message that also
   contains the DiffServ Aware Credit Windowing Window Extension Type Value in the
   Extensions Supported Data Item.  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.

   The Credit Window Initialization Data Item identifies a credit window
   using a Credit Window Identifier, or CID.  It also provides the size
   of the identified credit window.  Finally, a queue size (in bytes) is
   provided for informational purposes.  Note that to be used, a CID
   must be listed associated with in a Credit Window Traffic Classification Identifier 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)                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Credit Window Identifier (CID)|            Reserved           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Credit Value                          :
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       :                         Credit Value                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Scale      |         Credit Window Size                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA4

   Length:  16

      Per [RFC8175] Length is the number of octets in the data item,
      excluding the Type and Length fields. item.  It
      MUST be equal to sixteen (16).

   Credit Window Identifier (CID):

      A 16-bit unsigned integer identifying a credit window.  The value
      of 0xFFFFFFFF 0xFFFF is reserved and MUST not be used in this data item.
      There is no other restriction on values used by a modem, and there
      is no requirement for sequential or ordered values.

   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 applied to the Credit Window.  This value includes MAC headers
      as seen on the link between the modem and router.

   Scale:

      An 8-bit unsigned integer indicating the scale used in the Credit
      Window Size fields.  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 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
   locate the credit window that is associated with the CID 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 using the values carried in
   the Data Item.  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.

6.2.

4.3.2.  Credit Window Traffic Classification Associate

   The Credit Window Traffic Classification Associate Data Item is used by a modem to provide associate
   traffic classification information to enable router to identify the credit window
   associated with traffic the router sends.  Each data item includes a
   set of credit windows and provides traffic classification for each
   window.  The data item is defined to support classification based on
   DSCPs, but is designed to be extensible for future traffic
   classification types. destination.  The data item is not required to provide full
   traffic classification information.  In the context of the definition
   included in this document, the DLEP destination address needed to
   complete the traffic
   classification information is provided by identified using a
   modem when it identifies TID value that has
   previously been sent by the traffic classification set modem or is listed in a
   Destination Up Message using the Credit Window Associate Data Item
   defined below.

   The Credit Window Traffic
   Classification Data Item SHOULD be included
   by a modem carried in any Session Initialization Response Message that also
   contains the DiffServ Aware Credit Windowing Extension Type Value in same message as the Extensions Supported data
   item.

   A single Credit Window Associate Data Item.  Updates to previously provided
   traffic classifications or new traffic classifications MAY Item MUST be included in all
   Destination Up and Destination Update Messages sent by a modem by including when
   the data item in Session Update Messages.  More
   than one data item MAY be included in a message to provide
   information on multiple traffic classifiers.

   The set use of traffic classification information provided in the data
   item is identified using a Traffic Classification Identifier, or TID.
   Addition information, e.g., the list DSCPs associated with a credit
   window, is provided extension defined in a variable series of Queue Parameter sub-data
   items. this document is agreed upon, see
   Section 3.  Note that to be used, a TID must will not be used unless it is listed in a
   Credit Window Associate Data Item.

   The format of the Credit Window Traffic Classification Associate 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)|   Num SDIs    |   Reserved    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Traffic Classification Sub Data Item 1              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       :                                ...                            :
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Traffic Classification Sub Data Item n              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA5

   Length:  Variable  2

      Per [RFC8175] Length is the number of octets in the data item,
      excluding the Type and Length fields. item.  It
      MUST be equal to two (2).

    Traffic Classification Identifier (TID):

      A 16-bit unsigned integer identifying a traffic classification
      set.  There is no restriction on values used by set
      that has been identified in a modem, and there
      is no requirement for sequential or ordered values.

   Num SDIs:

      An 8-bit unsigned integer indicating the number of Credit Window Traffic Classification Sub
      Data Items included in the data item.  A value
      of zero (0) is allowed and indicates that no traffic should be
      matched against this TID.

   Reserved:

      MUST Item, see Section 5.1.  Unknown TID values SHOULD be set to zero by the sender (a modem) reported
      and ignored by the
      receiver (a router).

   Traffic Classification Sub Data Item:

      Zero or more Traffic Classification Sub Data Items of the format
      defined below MAY be included.  The number MUST match the value
      carried result in the Num SDIs field. associated traffic being dropped.

   A router receiving that receives the Traffic Classification Credit Window Associate Data Item MUST
   locate the traffic classification information that is associated with the
   TID indicated in each by the
   received data item. TID.  If no associated traffic
   classification corresponding information is found, can be located, the router
   data item MUST initialize a new
   information set using the values carried in be treated as an error as described above.  Once the data item.  When
   associated
   traffic classification information is found, the router located, it MUST update the information using be associated
   with the values carried in destination and the Data
   Item.  In both cases, a router MUST also ensure that any data plane
   state, see Section 4, 4.1, that is associated with the TID is updated as
   needed.

6.2.1.  Traffic Classification Sub Data Item

   All Traffic Classification Sub Data Items share a common format that
   is patterned after the standard DLEP

4.3.3.  Credit Window Grant

   The Credit Window Grant data item format, see [RFC8175]
   Section 11.3.  There is no requirement on, or meaning used by a modem to sub data
   item ordering.  Any errors provide
   credits to a router.  One or inconsistencies encountered in parsing
   sub data items are handled in the same fashion as any other data item
   parsing error encountered more Credit Window Grant Data Items MAY
   be carried in DLEP.

   The format of the Traffic Classification Sub 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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Sub Data Item Type            | Length                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Value...                            :
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Sub Data Item Type:

      A 16-bit unsigned integer that indicates the type DLEP Destination Up, Destination Announce Response,
   Destination Update, Credit Control Messages, and
      corresponding format of the data item's Value field.  Sub Credit Control
   Response Messages.  Multiple Credit Window Grant Data
      Item Types are managed according to the IANA registry described Items in
      Section 9.4.

   Length:  Variable

      Copying [RFC8175], Length a 16-bit unsigned integer that is the
   single message are used to indicate different credit values for
   different credit windows.  In all message types, this data item
   provides an additional number of octets in the sub data item, excluding the Type and
      Length fields.

6.2.2.  DiffServ Traffic Classification Sub Data Item

   The DiffServ Traffic Classification Sub Data Item is used to identify be added to the DSCPs associated with a specific indicated
   credit window.  Credit windows window are identified via using CID values
   that have been previously been sent by the modem or are listed in a
   Credit Window Initialization Data Item carried in the same messages
   as the sub data item.  DSCPs are
   identified in a list of DiffServ fields.  An implementation that does
   not support DSCPs, and wants to use credit window flow control for
   all traffic to a destination or destinations, would indicate with 0
   DSCPs.

   The format of the DiffServ Traffic Classification Sub 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Must be two (2) Data Item Type                | Length (12)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Credit Window Identifier (CID)|   Num DSCPs   |   DS Field 1            Reserved           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   DS Field 2  |      ...      |   DS Field n                     Additional Credits                        :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                     Additional Credits                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA6

   Length:  Variable  12

      Per [RFC8175], Length is the number of octets in the sub data item.
      It is MUST be equal to seven (7) plus the value of the Num DSCPs field. twelve (12).

   Credit Window Identifier (CID):

      A 16-bit unsigned integer identifying a credit window that has
      been identified in a Credit Window Initialization Data Item, see
      Section 6.1. 4.3.1.  Unknown CID values SHOULD be reported and result in
      associated traffic being dropped.

   Num DSCPs:

      An 8-bit ignored.

   Additional Credit:

      A 64-bit unsigned integer indicating representing the number of DSCPs carried credits, in octets, to
      be added to the sub data item. Credit Window.  This value includes MAC headers as
      seen on the link between the modem and router.  A value of zero (0)
      indicates that no additional credits are being provided.

   When receiving this data item, a (wildcard) match
      against any DSCP value.

   DS Field:

      Each DS Field is an 8-bit whose definition is the same as
      [RFC2474].

               0   1   2   3   4   5   6   7
             +---+---+---+---+---+---+---+---+
             |         DSCP          |  CU   |
             +---+---+---+---+---+---+---+---+

               DSCP: differentiated services codepoint
               CU:   currently unused, MUST be zero

   A router receiving the DiffServ Traffic Classification Sub Data Item MUST validate identify the information on receipt prior credit
   window indicated by the CID.  If the CID is not known to the router,
   it SHOULD report or log this information and
   data plan update described earlier in this section.  The credit
   window associated with discard the CID indicated in each data item must be
   located. Data Item.
   It is important to note that the CID value may while this data item can be present received in
   a Credit Window Initialization Data Item carried destination specific message, credit windows are managed
   independently from the destination identified in the same message as the sub data item.  If carrying
   this Data Item, and the indicated CID MAY even be disjoint from the
   identified destination.

   Once the credit window is not located, identified, the it credit window size MUST be treated as an error as described above.

   In the case there are no unknown CIDs,
   increased by the receiver MUST ensure that
   each DS Field value is listed only once across contained in the whole Credit
   Window Traffic Classification Data Item.  Note, this check is across Additional Credits field.  If
   the data item and not increase results in a window overflow, i.e., the individual sub data item.  If size of the same DS
   Field value
   credit window after the increase is listed more smaller than once within the same Credit Window
   Traffic Classification Data Item, original credit
   window size, the data item MUST be treated as an
   error as described above.

6.3.  Credit Window Associate

   The Credit Window Associate Data Item is used by a modem must be set to associate
   traffic classification information with a destination.  The traffic
   classification information its maximum
   (0xFFFFFFFFFFFFFFFF).

   No response is identified using a TID value that has
   been previously been sent by the router to a modem or is listed in after processing a
   Credit Window Traffic Classification Grant Data Item carried received in a Credit Control Response
   Message.  In other cases, the same message
   as 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.

   A single item is received in a Destination Up Message, the Credit Window Associate Data Item
   Status data item(s) MUST be included sent in all the corresponding Destination Up and Destination Update Messages sent by
   Response Message.  Otherwise, a modem when
   the use of the extension defined in this document is agreed upon, see
   Section 3. Credit Control Message MUST be sent.

4.3.4.  Credit Window Status

   The format of the Credit Window Associate Data Item is:

        0                   1                   2                   3
        0 1 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 above,
   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 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 CID
   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 (2) (12)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Traffic Class.
      | Credit Window Identifier (TID)|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (CID)|            Reserved           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Credit Window Size                      :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                       Credit Window Size                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA6  TBA7

   Length:  2  12

      Per [RFC8175] Length is the number of octets in the data item,
      excluding the Type and Length fields.

    Traffic Classification item.  It
      MUST be equal to twelve (12).

   Credit Window Identifier (TID): (CID):

      A 16-bit unsigned integer identifying a traffic classification set credit window that has
      been identified in a Credit Window Traffic Classification Initialization Data Item, see
      Section 6.2.  Unknown TID values SHOULD be reported
      and result in associated traffic being dropped. 4.3.1.

   Credit Window Size:

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

   When receiving this data item, a modem MUST
   locate identify the traffic classification information credit
   window indicated by the
   received TID. CID.  If no corresponding information can be located, the
   data item MUST be treated as an error as described above.  Once the
   traffic classification information CID is located, it MUST be associated
   with not known to the destination modem,
   it SHOULD report or log this information and discard the router MUST ensure that any data plane
   state, see Section 4, that is associated item.
   As with the TID is updated as
   needed.

6.4.  Credit Window Credit Grant

   The Credit Window Credit Grant data item is used by a modem to
   provide credits to a router.  One or more Credit Window Grant Data
   Items Item, the CID MAY be carried in unrelated
   to the DLEP Destination Up, Destination Announce
   Response, Destination Update, Credit Control Messages, and Credit
   Control Response Messages.  Multiple Credit Window Grant Data Items indicated in a single the message are used to indicate different carrying the data item.

   Once the credit values for
   different window is identified, the modem SHOULD check the
   received Credit Window Size field value against the outstanding
   credit windows.  In all message types, this window's available credits at the time the most Credit Window
   Initialization or Grant data item
   provides an additional number of octets to be added to associated with the indicated
   credit window.  Credit window are identified via using using CID
   was sent.  If the values that have been previously been sent by significantly differ, i.e., greater than can
   be accounted for based on observed data frames, then the modem or are listed
   in SHOULD
   send a Credit Window Initialization Data Item carried in to reset the same
   messages as associated
   credit window size to the data item.

   The format modem's current view of the available
   credits.  As defined above, Credit Window Grant Initialization Data Item is:

       0 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.

4.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 identified using a CID as defined above in
   Section 4.3.1.  Multiple CIDs MAY be present to allow for the case
   where the router identifies that credits are needed in multiple
   credit windows.  The special CID value of 0xFFFF 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 (12)                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Credit Window Identifier (CID)|            Reserved           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Additional Credits               ...             :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                     Additional Credits               ...             | Credit Window Identifier (CID)|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA7  TBA8

   Length:  12  Variable

      Per [RFC8175], [RFC8175] Length is the number of octets in the data item,
      excluding the Type and Length fields.  It will equal 8 plus the number of
      CID fields carried in the data item times 2 and MUST be at least
      9.
      2.

   Credit Window Identifier (CID):

      A

      One or more 16-bit unsigned integer identifying fields used to indicate a credit window that
      has been identified in a Credit Window Initialization Data Item,
      see Section 6.1.  Unknown CID values SHOULD be reported and ignored.

   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 4.3.1.  The special value of zero 0xFFFFFFFF indicates that no additional credits are being provided.

   When
      the request applies to all CIDs.

   A modem receiving this data item, a router item MUST identify provide a Credit Increment for
   the credit
   window indicated by the CID.  If the 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 CID is not known to the router,
   it values SHOULD report be reported or log this information logged and discard then
   ignored by the Data Item.
   It modem.

5.  Traffic Classification

   Traffic classification is important to note that while this supported by the Traffic Classification
   Data Item defined below.  The base data item can and sub data item
   structure is intended to be received in
   a destination independent of any specific message, credit windows are managed
   independently from the destination identified in usage of the message carrying
   this Data Item, and
   flow identification provided within the indicated CID MAY even data item.  It is designed to
   be disjoint from extensible for future traffic classification types.  While the
   identified destination.

   Once
   structure of the credit window data items is identified, the credit window size MUST extensible, actual flow information is
   expected to be
   increased by the value contained in the Additional Credits field.  If
   the increase results used in a window overflow, i.e., an extension dependent manner.

   In the size context of the
   credit window after the increase is smaller than the original credit
   window size, the DiffServ Aware Credit Window must be set to its maximum
   (0xFFFFFFFFFFFFFFFF).

   No response Extension, the
   Traffic Classification Data Item is sent used by the router to a modem after processing a
   Credit Window Grant Data Item received in to identify
   groups of DSCPs which are to be mapped to a Credit Control Response
   Message.  In other cases, 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  A DLEP
   destination address is also needed to complete the Credit Grant
   data item traffic
   classification information.  This address is received in provided by a Destination Up Message, modem when
   it identifies the Credit Window
   Status data item(s) MUST be sent traffic classification set in the corresponding a Destination Up
   Response Message.  Otherwise, a Credit Control
   Message MUST be sent.

6.5.  Credit Window Status

   The using the Credit Window Status Associate Data Item defined above.

5.1.  Traffic Classification Data Item

   This sections defines the Traffic Classification Data Item.  This
   data item is used by a router to report the
   current credit window size modem to its peer modem.  One or more Credit
   Window Status provide a router with traffic
   classification information.  When an extension requires use of this
   data items MAY item the Traffic Classification Data Item SHOULD be carried in a Destination Up Response
   Message or included by
   a Credit Control Response Message.  As discussed above,
   the Destination Up modem in any Session Initialization Response Message is used when that also
   contains the data item is
   sent corresponding Extension Type Value in response the Extensions
   Supported Data Item.  Updates to previously provided traffic
   classifications or new traffic classifications MAY be sent by a Destination Up Message, and modem
   by including the Credit Control
   Response Message is sent data item in response to a Credit Control Message.
   Multiple Credit Window Status Session Update Messages.  More than one
   data items item MAY be included in a single message are used to indicated different sizes provide information on
   multiple traffic classifiers.

   The set of different credit windows.  Similar to traffic classification information provided in the Credit Window Grant, credit windows are data
   item is identified using CID
   values that have been previously been sent by a Traffic Classification Identifier, or TID.
   Addition information, e.g., the modem. list DSCPs associated with a credit
   window, is provided in a variable series of Queue Parameter sub-data
   items.

   The format of the Credit Window Status Traffic Classification 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)                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Credit Window
       |Traffic Class. Identifier (CID)| (TID)|   Num SDIs    |   Reserved    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Credit Window Size                      :           Traffic Classification Sub Data Item 1              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       :                       Credit Window Size                                ...                            :
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Traffic Classification Sub Data Item n              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Data Item Type:  TBA8  TBA9

   Length:  12  Variable

      Per [RFC8175] Length is the number of octets in the data item,
      excluding the Type and Length fields.  It will equal 8 plus the
      number of CID fields carried in the data item and MUST be at least
      9.

   Credit Window

    Traffic Classification Identifier (CID): (TID):

      A 16-bit unsigned integer identifying a credit window that has
      been identified in traffic classification
      set.  There is no restriction on values used by a Credit Window Initialization Data Item, see
      Section 6.1.

   Credit Window Size:

      A 64-bit modem, and there
      is no requirement for sequential or ordered values.

   Num SDIs:

      An 8-bit unsigned integer, integer indicating the current number of
      credits, Traffic
      Classification Sub Data Items included in octets, available for the router to send to the modem.
      This data item.  A value
      of zero (0) is referred to as the Modem Receive Window in
      [I-D.ietf-manet-credit-window].

   When receiving allowed and indicates that no traffic should be
      matched against this data item, a modem TID.

   Reserved:

      MUST identify the credit
   window indicated by the CID.  If the CID is not known be set to zero by the modem,
   it SHOULD report or log this information sender (a modem) and discard the data item.
   As with ignored by the Credit Window Grant
      receiver (a router).

   Traffic Classification Sub Data Item, Item:

      Zero or more Traffic Classification Sub Data Items of the CID format
      defined below MAY be unrelated
   to included.  The number MUST match the Destination indicated value
      carried in the message carrying Num SDIs field.

   A router receiving the data item.

   Once Traffic Classification Data Item MUST locate
   the credit window traffic classification information that is identified, the modem SHOULD check the
   received Credit Window Size field value against the outstanding
   credit window's available credits at the time the most Credit Window
   Initialization or Grant data item associated with the
   TID indicated CID
   was sent.  If the values significantly differ, i.e., greater than can
   be accounted for based on observed in each received data frames, then the modem SHOULD
   send a Credit Window Initialization Data Item to reset the item.  If no associated
   credit window size to traffic
   classification information is found, the modem's current view of router MUST initialize a new
   information set using the available
   credits.  As defined above, Credit Window Initialization Data Items
   are sent values carried in Session Update Messages.  When multiple the 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, item.  When
   associated traffic classification information is found, the modem MAY adjust router
   MUST update the information using the values sent carried in Credit Window
   Grant data items to account for the reported Credit Window.

6.6.  Credit Window Request

   The Credit Window Request Data Item is used by
   Item.  In both cases, a router to request
   additional credits for particular credit windows.  Credit Window
   Request MUST also ensure that any data plane
   state, see Section 4.1, that is associated with the TID is updated as
   needed.

5.1.1.  Traffic Classification Sub Data Items are carried in Credit Control Messages, and one or
   more Credit Window Request Item

   All Traffic Classification Sub Data Items MAY be present in a message.

   Credit windows identified using share a CID as defined above in common format that
   is patterned after the standard DLEP data item format, see [RFC8175]
   Section 6.1.  Multiple CIDs MAY be present 11.3.  There is no requirement on, or meaning to allow for the case
   where the router identifies that credits sub data
   item ordering.  Any errors or inconsistencies encountered in parsing
   sub data items are needed handled in multiple
   credit windows.  The special CID value of 0xFFFFFFFF is used to
   indicate that a credit request is being made across all queues. the same fashion as any other data item
   parsing error encountered in DLEP.

   The format of the Credit Window Request Traffic Classification Sub 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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Sub Data Item Type            | Length                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Credit Window Identifier (CID)|               ...             :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                           Value...                            :               ...             | Credit Window Identifier (CID)|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   [LB note: a list of CIDs is now supported as is special value 255.]

   Sub Data Item Type:  TBA9

      A 16-bit unsigned integer that indicates the type and
      corresponding format of the data item's Value field.  Sub Data
      Item Types are managed according to the IANA registry described in
      Section 9.4.

   Length:  Variable

      Per [RFC8175]

      Copying [RFC8175], Length a 16-bit unsigned integer that is the
      number of octets in the sub data item, excluding the Type and
      Length fields.  It will equal the number of
      CID fields carried in the data item and MUST be at least 1.

5.2.  DiffServ Credit Window Identifier (CID):

      One or more 16-bit fields used to indicate a credit window that
      has been identified in a Traffic Classification Sub Data Item

   The DiffServ Credit Window Initialization Traffic Classification Sub Data Item,
      see Section 6.1.  The special value of 0xFFFFFFFF indicates that
      the request applies Item is
   used to all CIDs.

   A modem receiving this data item MUST provide a Credit Increment for identify the indicated DSCPs associated with a specific credit window.
   Credit windows via are identified using CID values that have been
   previously been sent by the modem or are listed in a Credit Window Grant
   Initialization Data Items Item carried in a new Credit Control Message.  Multiple values and queue
   indexes SHOULD be combined into a single Credit Control Message when
   possible.  Unknown CID values SHOULD be reported or logged and then
   ignored by the modem.

7.  Compatibility

   Sessions established with both peers identified same messages as supporting the
   DiffServ Aware Credit Windowing Extension Type, see Section 3, MUST
   NOT use the [I-D.ietf-manet-credit-window] defined Credit sub data items.
   If a node supporting the extension defined
   item.  DSCPs are identified in this document, receives
   a [I-D.ietf-manet-credit-window] defined data item, the recipient
   MUST ignore the received information.

8.  Security Considerations

   The extension introduces a list of DiffServ awareness to the mechanisms
   defined in [I-D.ietf-manet-credit-window].  The extension fields.  An
   implementation that does not
   inherently introduce any additional threats above those documented in

   [RFC8175].  The approach taken to Security in that document support DSCPs, and
   [I-D.ietf-manet-credit-window] apply equally when running the
   extension defined in this document.

9.  IANA Considerations

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

9.1.  Extension Type Value

   This document requests 1 new assignment wants to the DLEP Extensions
   Registry named "Extension Type Values" in the range use credit
   window flow control for all traffic to a destination or destinations,
   would indicate with the
   "Specification Required" policy. 0 DSCPs.

   The requested value is as follows:

                +------+---------------------------------+
                | Code | Description                     |
                +------+---------------------------------+
                | TBA1 | format of the DiffServ Aware Credit Windowing |
                +------+---------------------------------+

                  Table 1: Requested Extension Type Value

9.2.  Message Values

   This document requests Window Traffic Classification Sub
   Data Item is:

        0                   1                   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                   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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Description Must be two (2)               |
                  +-----------+-------------------------+ Length                        | TBA2
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Credit Control          | Window Identifier (CID)|   Num DSCPs   |   DS Field 1  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   DS Field 2  | TBA3      ...      | Credit Control Response   DS Field n  |
                  +-----------+-------------------------+

                     Table 2: Requested Message Values

9.3.  Data Item Values

   This document requests the following new assignments to
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  Variable

      Length is the DLEP Data
   Item Registry named "Data Item Values" number of octets in the range with sub data item.  It is equal
      to three (3) plus the
   "Specification Required" policy.  The requested values are as
   follows:

           +-----------+--------------------------------------+
           | Type Code | Description                          |
           +-----------+--------------------------------------+
           | TBA4      | value of the Num DSCPs field.

   Credit Window Initialization         |
           |           |                                      |
           | TBA5      | Identifier (CID):

      A 16-bit unsigned integer identifying a credit window that has
      been identified in a Credit Window Traffic Classification |
           |           |                                      |
           | TBA6      | Credit Window Association            |
           |           |                                      |
           | TBA7      | Credit Window Grant                  |
           |           |                                      |
           | TBA8      | Credit Window Status                 |
           |           |                                      |
           | TBA9      | Credit Window Request                |
           +-----------+--------------------------------------+

                    Table 3: Requested Data Item Values

9.4.  DLEP Sub Initialization Data Item Registry

   Upon approval Item, see
      Section 4.3.1.  Unknown CID values SHOULD be reported and result
      in associated traffic being dropped.

   Num DSCPs:

      An 8-bit unsigned integer indicating the number of this document, IANA is requested to create DSCPs carried
      in the sub data item.  A zero (0) indicates a new
   DLEP registry, named "Sub Data Item Type Values".  The registry shall
   identify (wildcard) match
      against any DSCP value.

   DS Field:

      Each DS Field is an 8-bit whose definition is the type code value, same as
      [RFC2474].

               0   1   2   3   4   5   6   7
             +---+---+---+---+---+---+---+---+
             |         DSCP          |  CU   |
             +---+---+---+---+---+---+---+---+

               DSCP: differentiated services codepoint
               CU:   currently unused, MUST be zero

   A router receiving the DiffServ Traffic Classification Sub Data Item which may use
   MUST validate the value, information on receipt prior to the information and a description of
   data plane update described earlier in this section.  The credit
   window associated with the value.  While CID indicated in each data item must be
   located.  It is important to note that the same CID value may be reused present
   in different a Credit Window Initialization Data Item carried in the same
   message as the sub data items, this item.  If the CID is not recommended at this time.

   The following table provides initial registry values and the
   [RFC8126] defined policies that should located, then it
   MUST be treated as an error as described above.

   When there are no unknown CIDs, the receiver MUST ensure that each DS
   Field value is listed only once across the whole Traffic
   Classification Data Item.  Note, this check is across the data item
   and not the individual sub data item.  If the same DS Field value is
   listed more than once within the same Traffic Classification Data
   Item, the data item MUST be treated as an error as described above.

   In all cases, the router MUST use validated DSCPs in data plane
   credit window identification as described in Section 4.1.

6.  Compatibility

   Sessions established with both peers identified as supporting the
   DiffServ Aware Credit Window Extension Type, see Section 3, MUST NOT
   use the [I-D.ietf-manet-credit-window] defined Credit data items.  If
   a node supporting the extension defined in this document, receives a
   [I-D.ietf-manet-credit-window] defined data item, the recipient MUST
   ignore the received information.

7.  Management Considerations

   This section provides several network management guidelines to
   implementations supporting the DiffServ Aware Credit Window
   Extension.

   The use of the extension defined in this document SHOULD be
   configurable on both modems and routers.

   Modems SHOULD support the configuration of DSCP to credit window
   (queue) mapping.

   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
   and, perhaps, even limits in supported credit window combinations,
   e.g., if per destination queues can even be supported at all.  When
   modem-provided credit window information exceeds the capabilities of
   a router, the router MAY 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, e.g., user interface or error logging.

8.  Security Considerations

   The extension introduces a DiffServ awareness to the mechanisms
   defined in [I-D.ietf-manet-credit-window].  The extension does not
   inherently introduce any additional threats above those documented in
   [RFC8175].  The approach taken to Security in that document and
   [I-D.ietf-manet-credit-window] apply equally when running the
   extension defined in this document.

9.  IANA Considerations

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

9.1.  Extension Type Value

   This document requests 1 new assignment to the DLEP Extensions
   Registry named "Extension Type Values" in the range with the
   "Specification Required" policy.  The requested value is as follows:

                  +------+------------------------------+
                  | Code | Description                  |
                  +------+------------------------------+
                  | TBA1 | DiffServ Aware Credit Window |
                  +------+------------------------------+

                  Table 1: Requested Extension Type Value

9.2.  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 2: Requested Message Values

9.3.  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:

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

                    Table 3: Requested Data Item Values

9.4.  DLEP Sub Data Item Registry

   Upon approval of this document, IANA is requested to create a new
   DLEP registry, named "Sub Data Item Type Values".  The registry shall
   identify the type code value, the Data Item which may use the value,
   and a description of the value.  While the same value may be reused
   in different data items, this is not recommended at this time.

   The following table provides initial registry values and the
   [RFC8126] defined policies that should apply to the registry:

   +-------------+-----------------------------+-----------------------+

   +-------------+------------------------------+----------------------+
   | Type Code   | Valid Data Items             | Description          |
   +-------------+-----------------------------+-----------------------+
   +-------------+------------------------------+----------------------+
   | 0           | N/A                          | Reserved             |
   |             |                              |                      |
   | 1           | N/A                          | Reserved (for pause  |
   |             |                              | sub-DI)              |
   |             |                              |                      |
   | 2           | (TBD4) DiffServ Credit Window       | DiffServ Traffic     |
   |             | Traffic Classification       | Classification       |
   |             |                              |                      |
   | 2-65407     |                              | Specification        |
   |             |                              | Required             |
   |             |                              |                      |
   | 65408-65534 |                              | Private Use          |
   |             |                              |                      |
   | 65535       |                              | Reserved             |
   +-------------+-----------------------------+-----------------------+
   +-------------+------------------------------+----------------------+

                     Table 4: Initial Registry Values

10.  References

10.1.  Normative References

   [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>.

10.2.  Informative References

   [I-D.ietf-manet-credit-window]
              Ratliff, S., "Credit Windowing extension for DLEP", draft-
              ietf-manet-credit-window-07 (work in progress), November
              2016.

   [I-D.ietf-manet-dlep-pause-extension]
              Cheng, B., Wiggins, D., and L. Berger, "DLEP Control Plane
              Based Pause Extension", draft-ietf-manet-dlep-pause-
              extension-02 (work in progress), October 2017.

   [IEEE.802.1Q_2014]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks--Bridges and Bridged Networks", IEEE 802.1Q-2014,
              DOI 10.1109/ieeestd.2014.6991462, December 2014,
              <http://ieeexplore.ieee.org/servlet/
              opac?punumber=6991460>.

   [RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
              "Definition of D. Black,
              "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers", RFC 2474,
              DOI 10.17487/RFC2474, December 1998,
              <https://www.rfc-editor.org/info/rfc2474>.

   [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>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

Appendix A.  Acknowledgments

   The sub data item format was inspired by Rick Taylor's "Data Item
   Containers".  He also proposed the separation of credit windows from
   traffic classification at IETF98.  Many useful comments were received
   from contributors to the MANET working group.

Appendix B.  Notional Support for Ethernet Priority Code Points

   This document is intended to allow for use of the credit control
   mechanisms defined in Section 4 with different flow identification
   techniques.  This section explores the viability of this through the
   notional definition of credit control with Ethernet Priority Code
   Points.  Ethernet Priority Code Point support is defined as part of
   the IEEE 802.1Q [IEEE.802.1Q_2014] tag format and includes a 3 bit
   "PCP" field.  The tag format also includes a 12 bit VLAN identifier
   (VID) field.

   In theory only one new Traffic Classification Sub Data Item is
   required to enable support for the traffic classification of a new
   flow type.  This section defines such a sub data item.  This
   definition is not a full Extension definition, but may serve as the
   foundation for such in the future; in a new document.

B.1.  Notional Ethernet Credit Window Traffic Classification Sub Data
      Item

   The Ethernet Credit Window Traffic Classification Sub Data Item is
   used to identify the VLAN and PCPs associated with a specific credit
   window.  Credit windows are identified using CID values that have
   been previously been sent by the Differentiated Services Field (DS
              Field) modem or are listed in a Credit
   Window Initialization Data Item carried in the IPv4 and IPv6 Headers", RFC 2474,
              DOI 10.17487/RFC2474, December 1998,
              <https://www.rfc-editor.org/info/rfc2474>.

   [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>.

   [RFC8126]  Cotton, M., Leiba, B., same messages as the
   sub data item.  PCPs are identified in a list of priority fields.  An
   implementation that does not support PCPs, and T. Narten, "Guidelines wants to use credit
   window flow control for
              Writing all traffic to a destination or destinations,
   would indicate with 0 PCPs.  Such an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

Appendix A.  Acknowledgments implementation could identify a
   VLAN to use per destination.

   The sub data item format was inspired by Rick Taylor's "Data of the Ethernet Credit Window Traffic Classification Sub
   Data Item
   Containers".  He also proposed 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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | TBD                           | Length (8)                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Credit Window Identifier (CID)|NumPCPs| VLAN Identifier (VID) |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Pri. 1| Pri. 2| Pri. 3| Pri. 4| Pri. 5| Pri. 6| Pri. 7| Pri. 8|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  Variable

      Length is the separation number of credit windows from
   traffic classification at IETF98.

Appendix B.  Open and Resolved Issues

   This section captures issues that are open or have been addressed
   since octets in the document has become sub data item.  It is equal
      to eight (8).

   Credit Window Identifier (CID):

      A 16-bit unsigned integer identifying a WG draft.  This section will be
   removed before submission for publication.

B.1.  Merge with [I-D.ietf-manet-credit-window]

   There credit window that has
      been discussion within the WG that this document should identified in a Credit Window Initialization Data Item, see
      Section 4.3.1.  Unknown CID values SHOULD be
   merged with [I-D.ietf-manet-credit-window].  The timing of this is
   TBD.  The authors would like to reach closure on some of the
   remaining open issues before embarking on this merge, but are open to
   discussion with the WG reported and other authors.

B.2.  Supporting Router Limits

   Routers may have limits on result
      in associated traffic being dropped.

   Num PCPs:

      A 4-bit unsigned integer indicating the number of queues that they can support
   and, perhaps, if per destination queues can even be supported at all.
   There is no current way for a router to communicate these limits to a
   modem or for PCPs carried in
      the sub data item.  A zero (0) indicates a router to indicate that (wildcard) match
      against any PCP value.

   VLAN identifier (VID):

      A 12-bit unsigned integer field indicating the identified queue
   information cannot be supported.  Support for these cases clearly
   needs VLAN to be addressed.

   This issue was reported by Stan Ratliff <ratliffstan@gmail.com>.

B.3.  Absolute vs Increment

   Stan Ratliff <ratliffstan@gmail.com> suggested an approach to
   simplify credit synchronization used in
      traffic classification.  A value of all ones (0xFFF) indicates a
      wild card and re-synchronization by always
   passing the credit window size rather than credit window increments.
   This any VID is an interesting idea that needs to be explored and perhaps
   experimented with.

B.4.  Bidirectional Flow Control (closed)

   One of the key differences between this draft accepted during traffic
      classification.  Zero (0) and
   [I-D.ietf-manet-credit-window] any other value are valid values.

   Priority:

      Each Priority Field is that this document only supports
   flow control an 4-bit whose definition includes the PCP
      field defined in one direction, i.e., for traffic sent from a [IEEE.802.1Q_2014]

           0   1   2   3
           +---+---+---+---+
           |    PCP    |DEI|
           +---+---+---+---+

           PCP: Priority code point
           DEI: currently unused, MUST be zero

   A router receiving the Ethernet Traffic Classification Sub Data Item
   MUST validate the information on receipt prior to a modem, while the other credit-window draft supports it information and
   data plane update described earlier in both
   directions.

   This was a conscious choice, made out of this section.  The credit
   window associated with the desire CID indicated in each data item must be
   located.  It is important to keep note that the
   extension as simple CID value may be present
   in a Credit Window Initialization Data Item carried in the same
   message as possible and to provide what the sub data item.  If the CID is really
   expected to not located, the it MUST
   be used.  Clearly treated as an error as described above.

   When there are no unknown CIDs, the reason for being able to control
   traffic receiver MUST ensure that each
   Priority Field value is sent from the router to listed only once across the modem/radio whole Traffic
   Classification Data Item.  Note, this check is pretty
   easily understood.  Also, while bidirectional flow control existed in
   pre-dlep solutions, it wasn't really used.  There across the data item
   and not the individual sub data item.  If the same Priority Field
   value is also no reason
   why router to modem flow control can't be defined at a later time - listed more than once there is within the same Traffic Classification
   Data Item, the data item MUST be treated as an actual need.

   Based on error as described
   above.

   In all cases, the router MUST use validated PCPs in data plane credit
   window identification as described in Section 4.1.

B.2.  Other Considerations

   A full definition for the support of an Ethernet Credit Window
   Extensions would need to assign a brief discussion on new Extension Type Value as well as
   the WG list, and Ethernet Credit Window Traffic Classification Sub Data Item
   Value.  It would also need to fully document the absence implications of any
   advocates for bidirectional flow control, there is no current plan
   multiple VLAN support, including configuration implications, e.g.,
   limiting value to
   add bidirectional flow control 0 to this document. indicate PCP-only usage.

Authors' Addresses

   Bow-Nan Cheng
   Lincoln Laboratory
   Massachusetts Institute of Technology
   244 Wood Street
   Lexington, MA  02421-6426

   Email: bcheng@ll.mit.edu

   David Wiggins
   Lincoln Laboratory
   Massachusetts Institute of Technology
   244 Wood Street
   Lexington, MA  02421-6426

   Email: David.Wiggins@ll.mit.edu

   Lou Berger
   LabN Consulting, L.L.C.

   Email: lberger@labn.net