Network Working Group
Internet Engineering Task Force (IETF) B. Cheng
Internet-Draft
Request for Comments: 9893 MIT Lincoln Laboratory
Intended status:
Category: Standards Track D. Wiggins
Expires: 26 September 2025
ISSN: 2070-1721
S. Ratliff
L. Berger
E. Kinzie, Ed.
LabN Consulting, L.L.C.
25 March
November 2025
Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages
and Data Items
draft-ietf-manet-dlep-credit-flow-control-19
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 These Data Items are
extensible and reusable.
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 an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list It represents the consensus of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid the IETF community. It has
received public review and has been approved for a maximum publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of six months this document, any errata,
and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained 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 26 September 2025.
https://www.rfc-editor.org/info/rfc9893.
Copyright Notice
Copyright (c) 2025 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)
(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 . . . . . . . . . . . . . . . 7
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 . . . . . . . . . . . . . . . . . . . . . . . . 17
4. Security Considerations . . . . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
5.1. Message Type Values . . . . . . . . . . . . . . . . . . . 17
5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 18
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1. Normative References . . . . . . . . . . . . . . . . . . 18
6.2. Informative References . . . . . . . . . . . . . . . . . 19
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 20
Appendix B. Example DLEP Credit Flow Control and Traffic
Classification Data Item Exchange . . . . . . . . . . . . 21
Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction
The Dynamic Link Exchange Protocol (DLEP), defined in [RFC8175],
provides the exchange of link related 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 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 endpoints, nor does
it address flow control capability. There are various Various flow control techniques
are theoretically possible with DLEP. For example, a credit-window
scheme for destination-specific flow control which that provides aggregate
flow control for both modem modems and routers has been proposed in
[I-D.ietf-manet-credit-window],
[Credit-Window-Extension], and a control plane pause based mechanism referred to as the
Control-Plane-Based Pause Extension is defined in [RFC8651]. The use
of other flow control mechanisms simultaneously with Credit-Based Flow Control credit-based
flow control is not within the scope of this document.
Credit-Based Flow Control,
Credit-based flow control, as a result of its proactive nature, may
offer some advantages over a pause mechanism. Packet loss resulting
from insufficient buffer space is less likely, as a transmitter does
not send packets until the receiver has indicated that there is
sufficient buffer space available.
Figure 1 illustrates a local node consisting of a router and a modem
with a
implementing DLEP. DLEP messages optionally contain a number of Data
Items and Sub-data Sub-Data Items. Traffic flow classification Classification Data Items provided
by the modem, modem are defined in
[I-D.ietf-manet-dlep-traffic-classification]. [RFC9892]. In this case, a flow is
identified based on information found in a data plane header 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--- |
DSCP: Differentiated Services Code Point
FID: Flow Identifier
PCP: Priority Code Point
TID: Traffic Classification Identifier
Figure 1: Router and Modem DLEP Exchange
This document defines DLEP Data Items which that 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 per-flow
basis. The Data Items are structured to allow for the reuse of the
defined credit window based credit-window-based flow control with different traffic
classification techniques. A router logically consumes credits for
each credit window matching packet sent.
Note that this document defines common Messages, messages, Data Items Items, and
mechanisms that are reusable. They are expected to be required by
DLEP extensions defined in other documents documents, such as found the extension
defined in
[I-D.ietf-manet-dlep-da-credit-extension]. [RFC9894].
This document introduces support for credit window control by
defining two new DLEP messages in Section 2.2, (Section 2.2) and five new DLEP Data
Items in Section 2.3. (Section 2.3).
Various conditions described in this document cause a message to be
logged. In all cases, the log message results from the contents of a
received Data Item defined here. No messages are logged in response
to activity in the data plane.
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 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
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]. [RFC9892]. Both
types of DLEP
peers, peers -- router and modem, modem -- negotiate the use of an
extension employing this mechanism during session initialization as required,
required; for example, by [I-D.ietf-manet-dlep-da-credit-extension]. see [RFC9894]. When using credit windows,
data traffic is only allowed to be sent by the router to the modem
when there are credits available.
Credits are managed on a per 'per logical "Credit Window" 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, identifiers -- for example, DSCPs, DSCPs -- at a
granularity that is appropriate for a modem's implementation and its
attached transmission technology. As defined below specified in Section 2.3.1,
there is a direct one-for-one one-to-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. Note that TID Traffic Classification Identifier (TID) values and
FID values are significant only to the issuing modem. There is no
relationship implied by the same TID or FID value being issued by
more than one modem. 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 credit window size,
specified in a Credit Grant Data Item, is provided in a Destination
Up Message (Section 2.3.2) or the new "Credit Control" Message. Credit Control Message (Section 2.2.1).
A router provides its view of the Credit Window, which is known as
"Status", in Destination Up Response Messages (Section 2.3.3) and the new "Credit
Credit Control Response" Messages. Response Messages (Section 2.2.2). Routers can also
request credits using the new "Credit Control" 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 per-frame
(per-packet) Media Access Control (MAC) headers, and this may not
match the actual overhead of the modem modems' attached transmission
technology. In that case case, a direct
mapping, 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]. [RFC9892]. This data item Data Item
supports traffic classification on a per destination per-destination or more fine
grain fine-
grained level. Routers use the combination of the DLEP identified DLEP-identified
destination and flow information associated with a credit window in
order to match traffic they send to specific credit windows. In some
cases, the Traffic Classification Data Item allows the modem to
specify a wildcard to match any packets that do not match other data
items, Data
Items; for example example, see [I-D.ietf-manet-dlep-ether-credit-extension]. [RFC9895]. In the absence of a wildcard, a
packet may not match any of the data
items Data Items and, in this case, MUST be
dropped by the router.
When a destination becomes reachable, a modem "associates"
(identifies) the appropriate traffic classification information via
the Traffic Class Identifier (TID) TID to be used for traffic sent by the router to that
destination. This is supported by the Credit Window Association Data Item
Item, which is carried in Destination Up and Destination Update
messages,
Messages; see Section 2.3.2. The TID provides the information to
support router traffic classification, based on the FIDs contained in
the TID, TID; see [I-D.ietf-manet-dlep-traffic-classification]. [RFC9892]. 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 FIDs and TIDs, and the association of a TID to a DLEP destination enables destination,
enable a modem to share or dedicate resources as needed to match the
specifics of its implementation and its attached transmission
technology.
The defined credit
Credit window control as defined in this document has similar objectives as
similar to the control found technique described in [I-D.ietf-manet-credit-window].
[Credit-Window-Extension]. One notable difference from that type of
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 if there is no matching classifier. If a
matching classifier is found, a router MUST NOT send data traffic to
a modem when there are no credits available in the associated Credit
Window. Section 2 describes how classifiers are associated with
destinations and how credit windows are associated with classifiers.
Additionally, a router MUST ensure that 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. In the example of Ethernet, Taking Ethernet as an example,
framing,
header header, and trailer are all included in this count. This
document defines credit windows in octets octets, and 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
This document defines two new messages are defined in that support for credit window
control:
the Credit Control Messages and the Credit Control Response
Messages. Sending and receiving both message types is REQUIRED to
support the credit window control mechanisms 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 (either modem or router) MUST NOT send any a subsequent
Credit Control Message until a Credit Control Response Message is has
been received from its peer.
Credit Control Messages are sent by modems to provide credit window
increases. Modems send credit increases when there is their 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. 17.
A Credit Control message Message sent by a modem, 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 Message sent by a router, router MUST contain one or more
Credit Window Request Data Items as 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
Message sent by a router, 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.
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. 18.
2.3. Credit Window Control Data Items
Five new Data Items are defined to support credit window control. control:
* The Credit Window Initialization Data Item (Section 2.3.1) is used
by a modem to identify a credit window and set its size.
* The Credit Window Association Data Item (Section 2.3.2) is used by
a modem to identify which traffic
classification identifiers TIDs (flows) should be used when sending
traffic to a particular DLEP identified DLEP-identified destination.
* The Credit Window Grant Data Item (Section 2.3.3) 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 (Section 2.3.4) is used to
advertise the sender's view of the number of available credits for
state synchronization purposes.
* The Credit Window Request Data Item (Section 2.3.5) is used by a
router to request additional credits.
Any errors or inconsistencies encountered in parsing Data Items are
handled in the same fashion as any other data item Data Item parsing error
encountered in DLEP, DLEP; see [RFC8175]. In particular, the node parsing
the Data Item MUST terminate the session with a Status Data Item
indicating Invalid Data. "Invalid Data".
2.3.1. Credit Window Initialization
The
As noted above, 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 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 Flow Identifier, or FID. It also provides the size of the identified credit
window. To be used, a FID must be defined within a Traffic
Classification Data Item 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: is as
follows:
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 |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Scale | Credit Window Max Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
Data Item Type (TBA4)
30
Length:
16
As specified in [RFC8175], Length is the number of octets in the
Data Item. It MUST be equal to sixteen (16). If it is some other
value, the Data Item is corrupt corrupt, so the message in which it
appears cannot be reliably parsed and is ignored.
Flow Identifier (FID):
A two-octet 2-octet flow identifier as defined by the Traffic Classification
Data Item
[I-D.ietf-manet-dlep-traffic-classification]. [RFC9892]. The FID also uniquely identifies a credit
window for a specific DLEP session.
Reserved:
For the Credit Window Initialization Data Item Item, this reserved
field is currently unused. It MUST be set to all zeros for this
version of the Data Item and it is currently ignored on reception.
This allows for future extensions of the Data Item if needed.
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:
An 8-bit unsigned integer indicating the scale used in the Credit
Window Max Size field. The valid values are: are as follows:
+=======+=========================+
| Value | Scale
------------ |
+=======+=========================+
| 0 B - | B: Bytes (Octets) |
+-------+-------------------------+
| 1 KB - | KB: Kilobytes (B/1024) |
+-------+-------------------------+
| 2 MB - | MB: Megabytes (KB/1024) |
+-------+-------------------------+
| 3 GB - | GB: Gigabytes (MB/1024) |
+-------+-------------------------+
Table 1: Valid Scale Field Values
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
message or a previous message. If the FID cannot be found 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
resultant Credit Value in turn 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, noting that such updates can result in a credit window
size being reduced, 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 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 window has drained to be less than the new
Credit Window Max Size, regardless of when the corresponding Session
Update Response Message is received.
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 previously 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 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 a credit window control mechanism 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: is as follows:
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:
Data Item Type (TBA5)
31
Length:
2
As specified in [RFC8175], Length is the number of octets in the
Data Item. It MUST be equal to two (2). If it is some other
value, the Data Item is corrupt corrupt, so the message in which it
appears cannot be reliably parsed and is ignored.
Traffic Classification Identifier (TID):
A 16-bit unsigned integer identifying a traffic classification set
that has been identified in a Traffic Classification Data Item, Item;
see [I-D.ietf-manet-dlep-traffic-classification]. [RFC9892].
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 is 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, Control, 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, and therefore 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: is as follows:
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 |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
Data Item Type (TBA6)
32
Length:
12
As specified in [RFC8175], Length is the number of octets in the
Data Item. It MUST be equal to twelve (12). If it is some other
value, the Data Item is corrupt corrupt, so the message in which it
appears cannot be reliably parsed and is ignored.
Flow Identifier (FID):
A two-octet 2-octet flow identifier as defined by the Traffic Classification
Data Item. The FID also uniquely indicates a credit window.
Reserved:
For the Credit Window Grant Data Item Item, this reserved field is
currently unused. It MUST be set to all zeros for this version of
the Data Item and it is currently ignored on reception. This allows
for future extensions of the Data Item if needed.
Additional Credit: Credits:
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 destination-
specific message, credit windows are managed independently from of 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 resultant 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
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, Grant Data Item, 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: is as follows:
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 |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
Data Item Type (TBA7)
33
Length:
12
As specified in [RFC8175], Length is the number of octets in the
Data Item. It MUST be equal to twelve (12). If it is some other
value, the Data Item is corrupt corrupt, so the message in which it
appears cannot be reliably parsed and is ignored.
Flow Identifier (FID):
A two-octet 2-octet flow identifier as defined by the Traffic Classification
Data Item. The FID also uniquely identifies a credit window.
Reserved:
For the Credit Window Status Data Item Item, this reserved field is
currently unused. It MUST be set to all zeros for this version of
the Data Item and it is currently ignored on reception. This allows
for future extensions of the Data Item if needed.
Current Credit Window Size:
A 64-bit unsigned integer, 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].
[Credit-Window-Extension].
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 destination
indicated in the message carrying the Data Item.
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 difference in values is
greater than what 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 specified 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 determines 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: is as follows:
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) [1] | Flow Identifier (FID) [2] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... | Flow Identifier (FID) [n] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
Data Item Type (TBA8)
34
Length:
Variable
As specified in [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. If it is less than 2, the Data Item is corrupt corrupt, so
the message in which it appears cannot be reliably parsed and is
ignored.
Flow Identifier (FID):
A two-octet 2-octet 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. When this special value is included, all other FID values
included in the Data Item are redundant redundant, as the special value
indicates all FIDs.
A modem receiving this Data Item MUST provide a Credit Increment credit window
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 for
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 per-destination queues may not be
supported at all. When modem-provided credit window information provided by a modem
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 any mismatch of in 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.
The DLEP specification [RFC8175] defines the 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
for DLEP. These mechanisms expose vulnerabilities similar to
existing DLEP messages. An example of a threat to which flow control
might be susceptible is where a malicious actor masquerading as a
DLEP peer could inject a Credit Window Initialization Data Item, which Item that
resizes a credit window to a value that results in a denial of
service. Other possible threats are given discussed in the Security
Considerations section of [RFC8175] and are also applicable to, applicable, but not specific to,
specific, to flow control. The transport layer transport-layer security mechanisms
documented in [RFC8175], with some updated references to external
documents listed below, can be applied to this document.
Implementations following the "networked deployment" model described
in the "Implementation
Scenarios" Section 4 ("Implementation Scenarios") of [RFC8175] SHOULD refer
to [BCP195] for additional details. The Layer 2 security mechanisms
documented in [RFC8175] can also, with some updates, be applied to
the mechanism mechanisms defined in this document. Examples of technologies
that can be deployed to secure the Layer 2 link include
[IEEE-802.1AE] and [IEEE-8802-1X].
5. IANA Considerations
This document requests the assignment of several values by IANA. All
assignments are to registries defined by [RFC8175].
5.1. Message Type Values
This document requests 2
IANA has assigned two new assignments to values from the "Specification Required"
range [RFC8126] in the DLEP Message Registry
named "Message Type Values" in the range with the "Specification Required"
policy. The requested values are as follows: registry:
+===========+=========================+
| Type Code | Description |
+===========+=========================+
| TBA2 17 | Credit Control |
+-----------+-------------------------+
| TBA3 18 | Credit Control Response |
+-----------+-------------------------+
Table 1: Requested 2: Message Type Values
5.2. Data Item Values
This document requests
IANA has assigned the following new assignments to values from the "Specification
Required" range [RFC8126] in the DLEP Data
Item Registry named "Data Item Type Values" in the range with the
"Specification Required" policy. The requested values are as
follows:
registry:
+===========+==============================+
| Type Code | Description |
+===========+==============================+
| TBA4 30 | Credit Window Initialization |
+-----------+------------------------------+
| TBA5 31 | Credit Window Association |
+-----------+------------------------------+
| TBA6 32 | Credit Window Grant |
+-----------+------------------------------+
| TBA7 33 | Credit Window Status |
+-----------+------------------------------+
| TBA8 34 | Credit Window Request |
+-----------+------------------------------+
Table 2: Requested 3: Data Item Values
6. References
6.1. Normative References
[I-D.ietf-manet-dlep-traffic-classification]
Cheng, B., Wiggins, D., Berger, L., and D. Fedyk, "Dynamic
Link Exchange Protocol (DLEP) Traffic Classification Data
Item", Work in Progress, Internet-Draft, draft-ietf-manet-
dlep-traffic-classification, 19 November 2024,
<https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-
traffic-classification>.
[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>.
[RFC9892] Cheng, B., Wiggins, D., Berger, L., and D. Fedyk, Ed.,
"Dynamic Link Exchange Protocol (DLEP) Traffic
Classification Data Item", RFC 9892, DOI 10.17487/RFC9892,
November 2025, <https://www.rfc-editor.org/info/rfc9892>.
6.2. Informative References
[BCP195] Best Current Practice 195,
<https://www.rfc-editor.org/info/bcp195>.
At the time of writing, this BCP comprises the following:
Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS
1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021,
<https://www.rfc-editor.org/info/rfc8996>.
Sheffer, Y., Saint-Andre, P., and T. Fossati,
"Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November
2022, <https://www.rfc-editor.org/info/rfc9325>.
Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS
1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021,
<https://www.rfc-editor.org/info/rfc8996>.
[I-D.ietf-manet-credit-window]
[Credit-Window-Extension]
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., Berger, L., and D. E. Eastlake,
"DLEP DiffServ Aware Credit Window Extension", Work in
Progress, Internet-Draft, draft-ietf-manet-dlep-da-credit-
extension, 15 December 2024,
<https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-
da-credit-extension/>.
[I-D.ietf-manet-dlep-ether-credit-extension]
Wiggins, D., Berger, L., and D. E. Eastlake, "DLEP IEEE
802.1Q Aware Credit Window Extension", Work in Progress,
Internet-Draft, draft-ietf-manet-dlep-ether-credit-
extension, 15 December 2024,
<https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-
ether-credit-extension/>.
[IEEE-802.1AE]
IEEE, "IEEE Standard for Local and metropolitan area networks-
Media
networks-Media Access Control (MAC) Security Amendment 4:
MAC Privacy protection", DOI 10.1109/IEEESTD.2018.8585421,
December 2018,
<https://ieeexplore.ieee.org/document/8585421>.
[IEEE-8802-1X]
"8802-1X-2021 - IEEE/ISO/IEC
IEEE, "IEEE/ISO/IEC International Standard-
Telecommunications and exchange between information
technology systems--Requirements for local and
metropolitan area networks--Part 1X:Port-based network
access control", DOI 10.1109/IEEESTD.2021.9650828, IEEE
Std 8802-1X-2021, December 2021,
<https://ieeexplore.ieee.org/document/9650828>.
[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>.
[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 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
[RFC9894] Cheng, B., Wiggins, D., Berger, L., and definitive open source DLEP implementation have been
critical to the acceptance of DLEP. We morn his passing on D. Eastlake 3rd,
Ed., "Dynamic Link Exchange Protocol (DLEP) Diffserv Aware
Credit Window Extension", RFC 9894, DOI 10.17487/RFC9894,
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.
Many useful comments were received from contributors to the MANET
working group, notably Rick Taylor, Ronald in't Velt, David Black 2025, <https://www.rfc-editor.org/info/rfc9894>.
[RFC9895] Wiggins, D., Berger, L., and
Donald E. Eastlake. This document was derived from
[I-D.ietf-manet-dlep-da-credit-extension] as a result of discussions
at IETF 101. D. Eastlake 3rd, Ed.,
"Dynamic Link Exchange Protocol (DLEP) IEEE 802.1Q Aware
Credit Window Extension", RFC 9895, DOI 10.17487/RFC9895,
November 2025, <https://www.rfc-editor.org/info/rfc9895>.
Appendix B. A. 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 router and a Modem. modem. The Modem modem will initialize a
number of queues with Credit Window Initialization Data Items, Credit
Window Association Data Item(s) Item(s), and Traffic Classification Data
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 If a router requires more
credits for a particular window if the router requires more credits. window, it may request them. This document
defines window credit window flow information for flow Identifiers
(FIDs) FIDs that map to the
queues.
[I-D.ietf-manet-dlep-traffic-classification] [RFC9892] defines the traffic
classification data sub items Traffic Classification Sub-Data Items,
such as DiffServ code points DSCPs, that map to the FIDs.
Router Modem
|<----------------DLEP Messages---------------|
| Traffic Classification Data Item(s) |
| Credit 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 Classification / Credit Flow Exchange
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 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 mourn his passing on November
26, 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.
Many useful comments were received from contributors to the MANET
Working Group, notably Rick Taylor, Ronald in 't Velt, David Black,
and Donald E. Eastlake. This document was derived from [RFC9894] as
a result of discussions at IETF 101.
Authors' Addresses
Bow-Nan Cheng
MIT Lincoln Laboratory
Massachusetts Institute of Technology
244 Wood Street
Lexington
Lexington, MA 02421-6426
United States of America
Email: bcheng@ll.mit.edu
David Wiggins
Email: david@none.org
Stan Ratliff
Email: stan@none.org
Lou Berger
LabN Consulting, L.L.C.
Email: lberger@labn.net
Eric Kinzie (editor)
LabN Consulting, L.L.C.
Email: ekinzie@labn.net