rfc9893v1.txt   rfc9893.txt 
Internet Engineering Task Force (IETF) B. Cheng Internet Engineering Task Force (IETF) B. Cheng
Request for Comments: 9893 MIT Lincoln Laboratory Request for Comments: 9893 MIT Lincoln Laboratory
Category: Standards Track D. Wiggins Category: Standards Track D. Wiggins
ISSN: 2070-1721 ISSN: 2070-1721
S. Ratliff S. Ratliff
L. Berger L. Berger
E. Kinzie, Ed. E. Kinzie, Ed.
LabN Consulting, L.L.C. LabN Consulting, L.L.C.
November 2025 December 2025
Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages
and Data Items and Data Items
Abstract Abstract
This document defines new Dynamic Link Exchange Protocol (DLEP) Data This document defines new Dynamic Link Exchange Protocol (DLEP) Data
Items that are used to support credit-based flow control. Credit Items that are used to support credit-based flow control. Credit
window control is used to regulate when data may be sent to an window flow control is used to regulate when data may be sent to an
associated virtual or physical queue. These Data Items are associated virtual or physical queue. These Data Items are
extensible and reusable. extensible and reusable.
This document also defines new messages that support credit window
flow control.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
skipping to change at line 57 skipping to change at line 60
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction 1. Introduction
1.1. Key Words 1.1. Key Words
2. Credit Window Control 2. Credit Window Flow Control
2.1. Data Plane Considerations 2.1. Data Plane Considerations
2.2. Credit Window Messages 2.2. Credit Window Messages
2.2.1. Credit Control Message 2.2.1. Credit Control Message
2.2.2. Credit Control Response Message 2.2.2. Credit Control Response Message
2.3. Credit Window Control Data Items 2.3. Data Items for the Control of Credit Windows
2.3.1. Credit Window Initialization 2.3.1. Credit Window Initialization
2.3.2. Credit Window Association 2.3.2. Credit Window Association
2.3.3. Credit Window Grant 2.3.3. Credit Window Grant
2.3.4. Credit Window Status 2.3.4. Credit Window Status
2.3.5. Credit Window Request 2.3.5. Credit Window Request
2.4. Management Considerations 2.4. Management Considerations
3. Compatibility 3. Compatibility
4. Security Considerations 4. Security Considerations
5. IANA Considerations 5. IANA Considerations
5.1. Message Type Values 5.1. Message Type Values
skipping to change at line 92 skipping to change at line 95
1. Introduction 1. Introduction
The Dynamic Link Exchange Protocol (DLEP), defined in [RFC8175], The Dynamic Link Exchange Protocol (DLEP), defined in [RFC8175],
provides the exchange of link-related control information between provides the exchange of link-related control information between
DLEP peers. DLEP peers are comprised of a modem and a router. DLEP 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 defines a base set of mechanisms as well as support for future
extensions. DLEP defines Data Items, which are sets of information extensions. DLEP defines Data Items, which are sets of information
that can be reused in DLEP messaging. The DLEP specification does that can be reused in DLEP messaging. The DLEP specification does
not include any flow identification beyond DLEP endpoints, nor does not include any flow identification beyond DLEP endpoints, nor does
it address flow control capability. Various flow control techniques it address flow control capability. Various flow control techniques
are theoretically possible with DLEP. For example, a credit-window are theoretically possible with DLEP. For example, a credit window
scheme for destination-specific flow control that provides aggregate scheme for destination-specific flow control that provides aggregate
flow control for both modems and routers has been proposed in flow control for both modems and routers has been proposed in
[Credit-Window-Extension], and a mechanism referred to as the [Credit-Window-Extension], and a mechanism referred to as the
Control-Plane-Based Pause Extension is defined in [RFC8651]. The use Control-Plane-Based Pause Extension is defined in [RFC8651]. The use
of other flow control mechanisms simultaneously with credit-based of other flow control mechanisms simultaneously with credit-based
flow control is not within the scope of this document. flow control is not within the scope of this document.
Credit-based flow control, as a result of its proactive nature, may Credit-based flow control, as a result of its proactive nature, may
offer some advantages over a pause mechanism. Packet loss resulting offer some advantages over a pause mechanism. Packet loss resulting
from insufficient buffer space is less likely, as a transmitter does from insufficient buffer space is less likely, as a transmitter does
skipping to change at line 141 skipping to change at line 144
DSCP: Differentiated Services Code Point DSCP: Differentiated Services Code Point
FID: Flow Identifier FID: Flow Identifier
PCP: Priority Code Point PCP: Priority Code Point
TID: Traffic Classification Identifier TID: Traffic Classification Identifier
Figure 1: Router and Modem DLEP Exchange Figure 1: Router and Modem DLEP Exchange
This document defines DLEP Data Items that provide a flow control This document defines DLEP Data Items that provide a flow control
mechanism for traffic sent from a router to a modem. Flow control is mechanism for traffic sent from a router to a modem. Flow control is
provided using one or more logical "Credit Windows", each of which provided using one or more logical "credit windows", each of which
will typically be supported by an associated virtual or physical will typically be supported by an associated virtual or physical
queue. Credit windows may be shared or dedicated on a per-flow queue. Credit windows may be shared or dedicated on a per-flow
basis. The Data Items are structured to allow for the reuse of the basis. The Data Items are structured to allow for the reuse of the
defined credit-window-based flow control with different traffic defined credit-window-based flow control with different traffic
classification techniques. A router logically consumes credits for classification techniques. A router logically consumes credits for
each credit window matching packet sent. each credit window matching packet sent.
Note that this document defines common messages, Data Items, and Note that this document defines common messages, Data Items, and
mechanisms that are reusable. They are expected to be required by mechanisms that are reusable. They are expected to be required by
DLEP extensions defined in other documents, such as the extension DLEP extensions defined in other documents, such as the extension
defined in [RFC9894]. defined in [RFC9894].
This document introduces support for credit window control by This document introduces support for credit window flow control by
defining two new DLEP messages (Section 2.2) and five new DLEP Data defining two new DLEP messages (Section 2.2) and five new DLEP Data
Items (Section 2.3). Items (Section 2.3).
Various conditions described in this document cause a message to be Various conditions described in this document cause a message to be
logged. In all cases, the log message results from the contents of a logged. In all cases, the log message results from the contents of a
received Data Item defined here. No messages are logged in response received Data Item defined here. No messages are logged in response
to activity in the data plane. to activity in the data plane.
1.1. Key Words 1.1. Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Credit Window Control 2. Credit Window Flow Control
This section defines additions to DLEP used in credit-based flow This section defines additions to DLEP used in credit-based flow
control. The use of credit window control impacts the data plane. control. The additions provide the DLEP mechanisms to control
credits. Routers then use this information to regulate when data is
sent to a modem.
The credit window control mechanisms defined in this document support The credit window flow control mechanisms defined in this document
credit-based flow control of traffic sent from a router to a modem. support credit-based flow control of traffic sent from a router to a
The mapping of specific flows to a particular credit window is based modem. The mapping of specific flows to a particular credit window
on the Traffic Classification Data Item defined in [RFC9892]. Both is based on the Traffic Classification Data Item defined in
types of DLEP peers -- router and modem -- negotiate the use of an [RFC9892]. Both types of DLEP peers -- router and modem -- negotiate
extension employing this mechanism during session initialization as the use of an extension employing this mechanism during session
required; for example, see [RFC9894]. When using credit windows, initialization as required; for example, see [RFC9894]. When using
data traffic is only allowed to be sent by the router to the modem credit windows, data traffic is only allowed to be sent by the router
when there are credits available. to the modem when there are credits available.
Credits are managed on a 'per logical "Credit Window"' basis. Each Credits are managed on a 'per logical "credit window"' basis. Each
credit window can be thought of as corresponding to a queue within a credit window can be thought of as corresponding to a queue within a
modem. Credit windows may be shared across, or dedicated to, modem. Credit windows may be shared across, or dedicated to,
destinations and data plane identifiers -- for example, DSCPs -- at a destinations and data plane identifiers -- for example, DSCPs -- at a
granularity that is appropriate for a modem's implementation and its granularity that is appropriate for a modem's implementation and its
attached transmission technology. As specified in Section 2.3.1, attached transmission technology. As specified in Section 2.3.1,
there is a direct one-to-one mapping of credit windows to flows as there is a direct one-to-one mapping of credit windows to flows as
identified by Flow Identifiers (FIDs) carried within the Traffic identified by Flow Identifiers (FIDs) carried within the Traffic
Classification Data Item. Modems pass to the router information on Classification Data Item. Modems pass to the router information on
their credit windows and FIDs prior to a router being able to send 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 data when an extension requiring the use of credit window flow
used. Note that Traffic Classification Identifier (TID) values and control is used. Note that Traffic Classification Identifier (TID)
FID values are significant only to the issuing modem. There is no values and FID values are significant only to the issuing modem.
relationship implied by the same TID or FID value being issued by There is no relationship implied by the same TID or FID value being
more than one modem. In addition to the traffic classification issued by more than one modem. In addition to the traffic
information associated with a FID, modems provide an initial credit classification information associated with a FID, modems provide an
window size, as well as the maximum size of the logical queue initial credit window size, as well as the maximum size of the
associated with each credit window. The maximum size is included for logical queue associated with each credit window. The maximum size
informative and potential future uses. is included for informative and potential future uses.
Modems provide an initial credit window size at the time of "Credit Modems provide an initial credit window size at the time of credit
Window Initialization". Such initialization can take place during window initialization. Such initialization can take place during
session initiation or any point thereafter. It can also take place session initiation or any point thereafter. It can also take place
when rate information changes. An increment to a credit window size, when rate information changes. An increment to a credit window size,
specified in a Credit Grant Data Item, is provided in a Destination specified in a Credit Window Grant Data Item, is provided in a
Up Message (Section 2.3.2) or Credit Control Message (Section 2.2.1). Destination Up Message (Section 2.3.2) or Credit Control Message
A router provides its view of the Credit Window, which is known as (Section 2.2.1). A router provides its view of the credit window,
"Status", in Destination Up Response Messages (Section 2.3.3) and which is known as "Status", in Destination Up Response Messages
Credit Control Response Messages (Section 2.2.2). Routers can also (Section 2.3.3) and Credit Control Response Messages (Section 2.2.2).
request credits using the Credit Control Message. Routers can also request credits using the Credit Control Message.
When modems provide credits to a router, they will need to take into When modems provide credits to a router, they will need to take into
account any overhead of their attached transmission technology and account any overhead of their attached transmission technology and
map it into the credit semantics defined in this document. In map it into the credit semantics defined in this document. In
particular, the credit window is defined below to include per-frame particular, the credit window is defined below to include per-frame
(per-packet) Media Access Control (MAC) headers, and this may not (per-packet) Media Access Control (MAC) headers, and this may not
match the actual overhead of the modems' attached transmission match the actual overhead of the modems' attached transmission
technology. In that case, a direct mapping or an approximation will technology. In that case, a direct mapping or an approximation will
need to be made by the modem to provide appropriate credit values. need to be made by the modem to provide appropriate credit values.
skipping to change at line 255 skipping to change at line 260
support router traffic classification, based on the FIDs contained in support router traffic classification, based on the FIDs contained in
the TID; see [RFC9892]. As defined, each credit window has a the TID; see [RFC9892]. As defined, each credit window has a
corresponding FID, so traffic is mapped to a credit window by corresponding FID, so traffic is mapped to a credit window by
locating a matching FID that is contained in the TID that is locating a matching FID that is contained in the TID that is
associated with the traffic's destination. This means that the use associated with the traffic's destination. This means that the use
of FIDs and TIDs, and the association of a TID to a DLEP destination, of FIDs and TIDs, and the association of a TID to a DLEP destination,
enable a modem to share or dedicate resources as needed to match the enable a modem to share or dedicate resources as needed to match the
specifics of its implementation and its attached transmission specifics of its implementation and its attached transmission
technology. technology.
Credit window control as defined in this document has objectives Credit window flow control as defined in this document has objectives
similar to the control technique described in similar to the control technique described in
[Credit-Window-Extension]. One notable difference from that type of [Credit-Window-Extension]. One notable difference from that type of
credit control is that in this document, credits are never provided credit control is that in this document, credits are never provided
by the router to the modem. by the router to the modem.
2.1. Data Plane Considerations 2.1. Data Plane Considerations
When credit windowing is used, a router MUST NOT send data traffic to 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 a modem for forwarding if there is no matching classifier. If a
matching classifier is found, a router MUST NOT send data traffic to matching classifier is found, a router MUST NOT send data traffic to
a modem when there are no credits available in the associated Credit a modem when there are no credits available in the associated credit
Window. Section 2 describes how classifiers are associated with window. Section 2 describes how classifiers are associated with
destinations and how credit windows are associated with classifiers. destinations and how credit windows are associated with classifiers.
Additionally, a router MUST ensure that sufficient credits are Additionally, a router MUST ensure that sufficient credits are
available in the associated Credit Window for the current data packet available in the associated credit window for the current data packet
before sending that data packet to the modem. The count of octets in before sending that data packet to the modem. The count of octets in
the packet includes MAC overhead. Taking Ethernet as an example, the packet includes MAC overhead. Taking Ethernet as an example,
framing, header, and trailer are all included in this count. This framing, header, and trailer are all included in this count. This
document defines credit windows in octets, and the credit window is document defines credit windows in octets, and the credit window is
decremented by the number of sent octets. decremented by the number of sent octets.
A router MUST identify the credit window associated with traffic to A router MUST identify the credit window associated with traffic to
be sent to a modem based on the traffic classification information be sent to a modem based on the traffic classification information
provided in the Data Items defined in this document. provided in the Data Items defined in this document.
2.2. Credit Window Messages 2.2. Credit Window Messages
This document defines two new messages that support credit window This document defines two new messages that support credit window
control: Credit Control Messages and Credit Control Response flow control: Credit Control Messages and Credit Control Response
Messages. Sending and receiving both message types is REQUIRED to Messages. Sending and receiving both message types is REQUIRED to
support the credit window control mechanisms defined in this support the credit window flow control mechanisms defined in this
document. document.
2.2.1. Credit Control Message 2.2.1. Credit Control Message
Credit Control Messages are sent by modems and routers. Each sender Credit Control Messages are sent by modems and routers. Each sender
is only permitted to have one message outstanding at one time. That is only permitted to have one message outstanding at one time. That
is, a sender (either modem or router) MUST NOT send a subsequent is, a sender (either modem or router) MUST NOT send a subsequent
Credit Control Message until a Credit Control Response Message has Credit Control Message until a Credit Control Response Message has
been received from its peer. been received from its peer.
Credit Control Messages are sent by modems to provide credit window Credit Control Messages are sent by modems to provide credit window
increases. Modems send credit increases when their transmission or increases. Modems send credit increases when their transmission or
local queue availability exceeds the credit window value previously local queue availability exceeds the credit window value previously
provided to the router. Modems will need to balance the load provided to the router. Modems will need to balance the load
generated by sending and processing credit window increases against a generated by sending and processing credit window increases against a
router having data traffic available to send, but no credits router having data traffic available to send but no available
available. credits.
Credit Control Messages MAY be sent by routers to request credits and Credit Control Messages MAY be sent by routers to request credits and
provide window status. Routers will need to balance the load provide window status. Routers will need to balance the load
generated by sending and processing credit window requests against generated by sending and processing credit window requests against
having data traffic available to send, but no credits available. having data traffic available to send but no available credits.
The Message Type value in the DLEP Message Header is set to 17. The Message Type value in the DLEP Message Header is set to 17.
A Credit Control Message sent by a modem MUST contain one or more A Credit Control Message sent by a modem MUST contain one or more
Credit Window Grant Data Items as defined in Section 2.3.3. A router Credit Window Grant Data Items as defined in Section 2.3.3. A router
receiving this message MUST respond with a Credit Control Response receiving this message MUST respond with a Credit Control Response
Message. Message.
A Credit Control Message sent by a router MUST contain one or more A Credit Control Message sent by a router MUST contain one or more
Credit Window Request Data Items as defined in Section 2.3.5 and Credit Window Request Data Items as defined in Section 2.3.5 and
skipping to change at line 332 skipping to change at line 337
Message based on the received message and Data Item and the Message based on the received message and Data Item and the
processing defined in Section 2.2.2, which will typically result in processing defined in Section 2.2.2, which will typically result in
credit window increments being provided. credit window increments being provided.
Specific processing associated with each Credit Data Item is provided Specific processing associated with each Credit Data Item is provided
in Section 2.3. in Section 2.3.
2.2.2. Credit Control Response Message 2.2.2. Credit Control Response Message
Credit Control Response Messages are sent by routers to report the Credit Control Response Messages are sent by routers to report the
current Credit Window for a destination. A Credit Control Response current credit window for a destination. A Credit Control Response
Message sent by a router MUST contain one or more Credit Window Message sent by a router MUST contain one or more Credit Window
Status Data Items as defined in Section 2.3.4. Specific receive Status Data Items as defined in Section 2.3.4. Specific receive
processing associated with the Credit Window Status Data Item is processing associated with the Credit Window Status Data Item is
provided in Section 2.3.4. provided in Section 2.3.4.
Credit Control Response Messages sent by modems MUST contain one or Credit Control Response Messages sent by modems MUST contain one or
more Credit Window Grant Data Items. A Data Item for every Credit more Credit Window Grant Data Items. A Data Item for every Credit
Window Request Data Item contained in the corresponding Credit Window Request Data Item contained in the corresponding Credit
Control Message received by the modem MUST be included. Each Credit Control Message received by the modem MUST be included. Each Credit
Grant Data Item MAY provide zero or more additional credits based on Window Grant Data Item MAY provide zero or more additional credits
the modem's transmission or local queue availability. Specific based on the modem's transmission or local queue availability.
receive processing associated with each Grant Data Item is provided Specific receive processing associated with each Credit Window Grant
in Section 2.3.3. Data Item is provided in Section 2.3.3.
The Message Type value in the DLEP Message Header is set to 18. The Message Type value in the DLEP Message Header is set to 18.
2.3. Credit Window Control Data Items 2.3. Data Items for the Control of Credit Windows
Five new Data Items are defined to support credit window control: Five new Data Items are defined to support the control of credit
windows:
* The Credit Window Initialization Data Item (Section 2.3.1) is used * The Credit Window Initialization Data Item (Section 2.3.1) is used
by a modem to identify a credit window and set its size. 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 * The Credit Window Association Data Item (Section 2.3.2) is used by
a modem to identify which TIDs (flows) should be used when sending a modem to identify which TIDs (flows) should be used when sending
traffic to a particular DLEP-identified destination. traffic to a particular DLEP-identified destination.
* The Credit Window Grant Data Item (Section 2.3.3) is used by a * The Credit Window Grant Data Item (Section 2.3.3) is used by a
modem to provide additional credits to a router. modem to provide additional credits to a router.
skipping to change at line 374 skipping to change at line 380
advertise the sender's view of the number of available credits for advertise the sender's view of the number of available credits for
state synchronization purposes. state synchronization purposes.
* The Credit Window Request Data Item (Section 2.3.5) is used by a * The Credit Window Request Data Item (Section 2.3.5) is used by a
router to request additional credits. router to request additional credits.
Any errors or inconsistencies encountered in parsing Data Items are Any errors or inconsistencies encountered in parsing Data Items are
handled in the same fashion as any other Data Item parsing error handled in the same fashion as any other Data Item parsing error
encountered in DLEP; see [RFC8175]. In particular, the node parsing encountered in DLEP; see [RFC8175]. In particular, the node parsing
the Data Item MUST terminate the session with a Status Data Item the Data Item MUST terminate the session with a Status Data Item
indicating "Invalid Data". [RFC8175] indicating "Invalid Data".
2.3.1. Credit Window Initialization 2.3.1. Credit Window Initialization
As noted above, the Credit Window Initialization Data Item is used by 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 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 avoid errors caused by the use of undefined FIDs or uninitialized
credit windows, this Data Item SHOULD be included in any Session credit windows, this Data Item SHOULD be included in any Session
Initialization Response Message that indicates support for any such Initialization Response Message that indicates support for any such
extension. Updates to previously identified credit windows or new extension. Updates to previously identified credit windows or new
credit windows MAY be sent by a modem by including the Data Item in credit windows MAY be sent by a modem by including the Data Item in
skipping to change at line 434 skipping to change at line 440
window for a specific DLEP session. window for a specific DLEP session.
Reserved: Reserved:
For the Credit Window Initialization Data Item, this reserved For the Credit Window Initialization Data Item, this reserved
field is currently unused. It MUST be set to all zeros for this field is currently unused. It MUST be set to all zeros for this
version of the Data Item and is currently ignored on reception. version of the Data Item and is currently ignored on reception.
This allows for future extensions of the Data Item if needed. This allows for future extensions of the Data Item if needed.
Credit Value: Credit Value:
A 64-bit unsigned integer representing the credits, in octets, to A 64-bit unsigned integer representing the credits, in octets, to
be added to the Credit Window. This value includes MAC headers as be added to the credit window. This value includes MAC headers as
seen on the link between the modem and router. seen on the link between the modem and router.
Scale: Scale:
An 8-bit unsigned integer indicating the scale used in the Credit An 8-bit unsigned integer indicating the scale used in the Credit
Window Max Size field. The valid values are as follows: Window Max Size field. The valid values are as follows:
+=======+=========================+ +=======+=========================+
| Value | Scale | | Value | Scale |
+=======+=========================+ +=======+=========================+
| 0 | B: Bytes (Octets) | | 0 | B: Bytes (Octets) |
skipping to change at line 473 skipping to change at line 479
message or a previous message. If the FID cannot be found, the message or a previous message. If the FID cannot be found, the
router SHOULD log this information. The method of logging is left to router SHOULD log this information. The method of logging is left to
the router implementation. Note that no traffic will be associated the router implementation. Note that no traffic will be associated
with the credit window in this case. After FID validation, the with the credit window in this case. After FID validation, the
router MUST locate the credit window that is associated with the FID router MUST locate the credit window that is associated with the FID
indicated in each received Data Item. If no associated credit window indicated in each received Data Item. If no associated credit window
is found, the router MUST initialize a new credit window using the is found, the router MUST initialize a new credit window using the
values carried in the Data Item. When an associated credit window is values carried in the Data Item. When an associated credit window is
found, the router MUST update the credit window and associated data found, the router MUST update the credit window and associated data
plane state using the values carried in the Data Item. If the plane state using the values carried in the Data Item. If the
resultant Credit Value in turn results in the credit window exceeding resultant credit value results in the credit window exceeding the
the represented Credit Window Max Size, the Credit Window Max Size represented Credit Window Max Size, the Credit Window Max Size field
field value is used as the new credit window size. value is used as the new credit window size.
It is worth noting that such updates can result in a credit window It is worth noting that such updates can result in a credit window
size being reduced -- for example, due to a transmission rate change size being reduced -- for example, due to a transmission rate change
on the modem. After sending the Session Update Message with one or on the modem. After sending the Session Update Message with one or
more Credit Window Initialization Data Items that decrease the Credit more Credit Window Initialization Data Items that decrease the Credit
Window Max Size, the modem SHOULD continue processing received Window Max Size, the modem SHOULD continue processing received
packets that match the indicated FIDs, fit within the window for the packets that match the indicated FIDs, fit within the window for the
unmodified Credit Window Max Size, and arrive before the modem unmodified Credit Window Max Size, and arrive before the modem
receives the corresponding Session Update Response Message. The receives the corresponding Session Update Response Message. The
modem SHOULD NOT issue additional credits for any affected FID until modem SHOULD NOT issue additional credits for any affected FID until
skipping to change at line 502 skipping to change at line 508
The Credit Window Association Data Item is used by a modem to The Credit Window Association Data Item is used by a modem to
associate traffic classification information with a destination. The associate traffic classification information with a destination. The
traffic classification information is identified using a TID value traffic classification information is identified using a TID value
that has been previously sent by the modem or is listed in a Traffic that has been previously sent by the modem or is listed in a Traffic
Classification Data Item carried in the same message as the Credit Classification Data Item carried in the same message as the Credit
Window Association Data Item. TIDs in different credit windows must Window Association Data Item. TIDs in different credit windows must
not overlap. not overlap.
A single Credit Window Association Data Item MUST be included in A single Credit Window Association Data Item MUST be included in
every Destination Up and Destination Update Message sent by a modem every Destination Up and Destination Update Message sent by a modem
when a credit window control mechanism defined in this document is when a credit window flow control mechanism defined in this document
used. Note that a TID will not be used unless it is listed in a is used. Note that a TID will not be used unless it is listed in a
Credit Window Association Data Item. Credit Window Association Data Item.
The format of the Credit Window Association Data Item is as follows: The format of the Credit Window Association Data Item is as follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 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) | | Data Item Type | Length (2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Traffic Class. Identifier (TID)| |Traffic Class. Identifier (TID)|
skipping to change at line 594 skipping to change at line 600
Data Item. The FID also uniquely indicates a credit window. Data Item. The FID also uniquely indicates a credit window.
Reserved: Reserved:
For the Credit Window Grant Data Item, this reserved field is For the Credit Window Grant Data Item, this reserved field is
currently unused. It MUST be set to all zeros for this version of currently unused. It MUST be set to all zeros for this version of
the Data Item and is currently ignored on reception. This allows the Data Item and is currently ignored on reception. This allows
for future extensions of the Data Item if needed. for future extensions of the Data Item if needed.
Additional Credits: Additional Credits:
A 64-bit unsigned integer representing the credits, in octets, to A 64-bit unsigned integer representing the credits, in octets, to
be added to the Credit Window. This value includes MAC headers as 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 seen on the link between the modem and router. A value of zero
indicates that no additional credits are being provided. indicates that no additional credits are being provided.
When receiving this Data Item, a router MUST identify the credit 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, 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 it SHOULD log this information and discard the Data Item. The method
of logging is left to the router implementation. It is important to of logging is left to the router implementation. It is important to
note that while this Data Item can be received in a destination- note that while this Data Item can be received in a destination-
specific message, credit windows are managed independently of the specific message, credit windows are managed independently of the
destination identified in the message carrying this Data Item, and destination identified in the message carrying this Data Item, and
the indicated FID MAY even be disjoint from the identified the indicated FID MAY even be disjoint from the identified
destination. destination.
Once the credit window is identified, the credit window size MUST be Once the credit window is identified, the credit window size MUST be
increased by the value contained in the Additional Credits field. If increased by the value contained in the Additional Credits field. If
the increase results in a window overflow, the Credit Window must be 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 set to its maximum as defined by the Credit Window Max Size carried
in the Credit Window Initialization Data Item. in the Credit Window Initialization Data Item.
No response is sent by the router to a modem after processing a No response is sent by the router to a modem after processing a
Credit Window Grant Data Item received in a Credit Control Response Credit Window Grant Data Item received in a Credit Control Response
Message. When a Credit Window Grant Data Item is received in other Message. For each Credit Window Grant Data Item received in other
message types, the receiving router MUST send a Credit Window Status message types, the receiving router MUST send a Credit Window Status
Data Item or items reflecting the resultant Credit Window value of Data Item reflecting the resultant credit window value of the updated
the updated credit window. When the Credit Grant Data Item is credit windows. When the Credit Window Grant Data Item is received
received in a Destination Up Message, the Credit Window Status Data in a Destination Up Message, the Credit Window Status Data Item(s)
Item(s) MUST be sent in the corresponding Destination Up Response MUST be sent in the corresponding Destination Up Response Message.
Message. Otherwise, a Credit Control Message MUST be sent. Otherwise, a Credit Control Message MUST be sent.
2.3.4. Credit Window Status 2.3.4. Credit Window Status
The Credit Window Status Data Item is used by a router to report the 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 current credit window size to its peer modem. One or more Credit
Window Status Data Items MAY be carried in a Destination Up Response Window Status Data Items MAY be carried in a Destination Up Response
Message or a Credit Control Response Message. As discussed in Message or a Credit Control Response Message. As discussed in
Section 2.3.3, the Destination Up Response Message is used when the 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 Data Item is sent in response to a Destination Up Message, and the
Credit Control Response Message is sent in response to a Credit Credit Control Response Message is sent in response to a Credit
skipping to change at line 689 skipping to change at line 695
When receiving this Data Item, a modem MUST identify the credit 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, 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 it SHOULD log this information and discard the Data Item. The method
of logging is left to the modem implementation. As with the Credit of logging is left to the modem implementation. As with the Credit
Window Grant Data Item, the FID MAY be unrelated to the destination Window Grant Data Item, the FID MAY be unrelated to the destination
indicated in the message carrying the Data Item. indicated in the message carrying the Data Item.
Once the credit window is identified, the modem SHOULD check the Once the credit window is identified, the modem SHOULD check the
received Current Credit Window Size field value against the received Current Credit Window Size field value against the
outstanding credit window's available credits at the time the most outstanding credit window's available credits at the time the most
recent Credit Window Initialization or Grant Data Item associated recent Credit Window Initialization or Credit Window Grant Data Item
with the indicated FID was sent. If the difference in values is associated with the indicated FID was sent. If the difference in
greater than what can be accounted for based on observed data frames, values is greater than what can be accounted for based on observed
then the modem SHOULD send a Credit Window Initialization Data Item data frames, then the modem SHOULD send a Credit Window
to reset the associated credit window size to the modem's current Initialization Data Item to reset the associated credit window size
view of the available credits. As specified in Section 2.3.1, Credit to the modem's current view of the available credits. As specified
Window Initialization Data Items are sent in Session Update Messages. in Section 2.3.1, Credit Window Initialization Data Items are sent in
When multiple Data Items need to be sent, they SHOULD be combined Session Update Messages. When multiple Data Items need to be sent,
into a single message when possible. Alternatively, and also in they SHOULD be combined into a single message when possible.
cases where there are small differences, the modem MAY adjust the Alternatively, and also in cases where there are small differences,
values sent in Credit Window Grant Data Items to account for the the modem MAY adjust the values sent in Credit Window Grant Data
reported Credit Window. Items to account for the reported credit window.
2.3.5. Credit Window Request 2.3.5. Credit Window Request
The Credit Window Request Data Item is used by a router to request The Credit Window Request Data Item is used by a router to request
additional credits for particular credit windows. Credit Window additional credits for particular credit windows. Credit Window
Request Data Items are carried in Credit Control Messages, and one or Request Data Items are carried in Credit Control Messages, and one or
more Credit Window Request Data Items MAY be present in a message. more Credit Window Request Data Items MAY be present in a message.
Credit windows are identified using a FID as defined in Credit windows are identified using a FID as defined in
Section 2.3.1. Multiple FIDs MAY be present to allow for the case Section 2.3.1. Multiple FIDs MAY be present to allow for the case
where the router determines that credits are needed in multiple where the router determines that credits are needed in multiple
credit windows. A special FID value, as defined below, is used to credit windows. A special FID value, as defined below, is used to
indicate that a credit request is being made across all queues. indicate that a credit window request is being made across all
queues.
The format of the Credit Window Request Data Item is as follows: The format of the Credit Window Request Data Item is as follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 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 | | Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) [1] | Flow Identifier (FID) [2] | | Flow Identifier (FID) [1] | Flow Identifier (FID) [2] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... | Flow Identifier (FID) [n] | | ... | Flow Identifier (FID) [n] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: Data Item Type:
34 34
Length: Length:
Variable Variable
As specified in [RFC8175], Length is the number of octets in the As specified in [RFC8175], Length is the number of octets in the
Data Item, excluding the Type and Length fields. It is equal to Data Item, excluding the Data Item Type and Length fields. It is
the number of FID fields carried in the Data Item times 2 and MUST equal to the number of FID fields carried in the Data Item times 2
be at least 2. If it is less than 2, the Data Item is corrupt, so and MUST be at least 2. If it is less than 2, the Data Item is
the message in which it appears cannot be reliably parsed and is corrupt, so the message in which it appears cannot be reliably
ignored. parsed and is ignored.
Flow Identifier (FID): Flow Identifier (FID):
A 2-octet flow identifier as defined by the Traffic Classification A 2-octet flow identifier as defined by the Traffic Classification
Data Item. The FID also uniquely identifies a credit window. The Data Item. The FID also uniquely identifies a credit window. The
special value 0xFFFF indicates that the request applies to all special value 0xFFFF indicates that the request applies to all
FIDs. When this special value is included, all other FID values FIDs. When this special value is included, all other FID values
included in the Data Item are redundant, as the special value included in the Data Item are redundant, as the special value
indicates all FIDs. indicates all FIDs.
A modem receiving this Data Item MUST provide a credit window A modem receiving this Data Item MUST provide a credit window
increment for the indicated credit windows via Credit Window Grant increment for the indicated credit windows via Credit Window Grant
Data Items carried in a new Credit Control Message. Multiple values Data Items carried in a new Credit Control Message. Multiple values
and queue indexes SHOULD be combined into a single Credit Control and queue indexes SHOULD be combined into a single Credit Control
Message when possible. Unknown FID values SHOULD be logged and then Message when possible. Unknown FID values SHOULD be logged and then
ignored by the modem. The method of logging is left to the modem ignored by the modem. The method of logging is left to the modem
implementation. implementation.
2.4. Management Considerations 2.4. Management Considerations
This section provides several network management guidelines for This section provides several network management guidelines for
implementations supporting the credit window mechanisms defined in implementations supporting the credit window flow control mechanisms
this document. defined in this document.
Modems MAY support the configuration of the number of credit windows Modems MAY support the configuration of the number of credit windows
(queues) to advertise to a router. (queues) to advertise to a router.
Routers may have limits on the number of queues that they can Routers may have limits on the number of queues that they can
support. They may even have limits on supported credit window support. They may even have limits on supported credit window
combinations. For example, per-destination queues may not be combinations. For example, per-destination queues may not be
supported at all. When credit window information provided by a modem supported at all. When credit window information provided by a modem
exceeds the capabilities of a router, the router SHOULD use a subset exceeds the capabilities of a router, the router SHOULD use a subset
of the provided credit windows. Alternatively, a router MAY reset of the provided credit windows. Alternatively, a router MAY reset
skipping to change at line 790 skipping to change at line 797
The messages and Data Items defined in this document will only be The messages and Data Items defined in this document will only be
used when extensions require their use. used when extensions require their use.
The DLEP specification [RFC8175] defines the handling of unexpected The DLEP specification [RFC8175] defines the handling of unexpected
appearances of any Data Items, including those defined in this appearances of any Data Items, including those defined in this
document. document.
4. Security Considerations 4. Security Considerations
This document introduces credit window control and flow mechanisms This document introduces credit window flow control mechanisms for
for DLEP. These mechanisms expose vulnerabilities similar to DLEP. These mechanisms expose vulnerabilities similar to existing
existing DLEP messages. An example of a threat to which flow control DLEP messages. An example of a threat to which flow control might be
might be susceptible is where a malicious actor masquerading as a susceptible is where a malicious actor masquerading as a DLEP peer
DLEP peer could inject a Credit Window Initialization Data Item that could inject a Credit Window Initialization Data Item that resizes a
resizes a credit window to a value that results in a denial of credit window to a value that results in a denial of service. Other
service. Other possible threats are discussed in the Security possible threats are discussed in the Security Considerations section
Considerations section of [RFC8175] and are also applicable, but not of [RFC8175] and are also applicable, but not specific, to flow
specific, to flow control. The transport-layer security mechanisms control. The transport-layer security mechanisms documented in
documented in [RFC8175], with some updated references to external [RFC8175], along with the latest version of [BCP195] at the time of
documents listed below, can be applied to this document. this writing, can be applied to this document. Implementations
Implementations following the "networked deployment" model described following the "networked deployment" model described in Section 4
in Section 4 ("Implementation Scenarios") of [RFC8175] SHOULD refer ("Implementation Scenarios") of [RFC8175] SHOULD refer to [BCP195]
to [BCP195] for additional details. The Layer 2 security mechanisms for additional details. The Layer 2 security mechanisms documented
documented in [RFC8175] can also, with some updates, be applied to in [RFC8175] can also, with some updates, be applied to the
the mechanisms defined in this document. Examples of technologies mechanisms defined in this document. Examples of technologies that
that can be deployed to secure the Layer 2 link include can be deployed to secure the Layer 2 link include [IEEE-802.1AE] and
[IEEE-802.1AE] and [IEEE-8802-1X]. [IEEE-8802-1X].
5. IANA Considerations 5. IANA Considerations
5.1. Message Type Values 5.1. Message Type Values
IANA has assigned two new values from the "Specification Required" IANA has assigned two new values from the "Specification Required"
range [RFC8126] in the DLEP "Message Type Values" registry: range [RFC8126] in the DLEP "Message Type Values" registry:
+===========+=========================+ +===========+=========================+
| Type Code | Description | | Type Code | Description |
skipping to change at line 869 skipping to change at line 876
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B.
Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175,
DOI 10.17487/RFC8175, June 2017, DOI 10.17487/RFC8175, June 2017,
<https://www.rfc-editor.org/info/rfc8175>. <https://www.rfc-editor.org/info/rfc8175>.
[RFC9892] Cheng, B., Wiggins, D., Berger, L., and D. Fedyk, Ed., [RFC9892] Cheng, B., Wiggins, D., Berger, L., and D. Fedyk, Ed.,
"Dynamic Link Exchange Protocol (DLEP) Traffic "Dynamic Link Exchange Protocol (DLEP) Traffic
Classification Data Item", RFC 9892, DOI 10.17487/RFC9892, Classification Data Item", RFC 9892, DOI 10.17487/RFC9892,
November 2025, <https://www.rfc-editor.org/info/rfc9892>. December 2025, <https://www.rfc-editor.org/info/rfc9892>.
6.2. Informative References 6.2. Informative References
[BCP195] Best Current Practice 195, [BCP195] Best Current Practice 195,
<https://www.rfc-editor.org/info/bcp195>. <https://www.rfc-editor.org/info/bcp195>.
At the time of writing, this BCP comprises the following: At the time of writing, this BCP comprises the following:
Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS
1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021, 1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021,
<https://www.rfc-editor.org/info/rfc8996>. <https://www.rfc-editor.org/info/rfc8996>.
skipping to change at line 896 skipping to change at line 903
[Credit-Window-Extension] [Credit-Window-Extension]
Ratliff, S., "Credit Windowing extension for DLEP", Work Ratliff, S., "Credit Windowing extension for DLEP", Work
in Progress, Internet-Draft, draft-ietf-manet-credit- in Progress, Internet-Draft, draft-ietf-manet-credit-
window-07, 13 November 2016, window-07, 13 November 2016,
<https://datatracker.ietf.org/doc/html/draft-ietf-manet- <https://datatracker.ietf.org/doc/html/draft-ietf-manet-
credit-window-07>. credit-window-07>.
[IEEE-802.1AE] [IEEE-802.1AE]
IEEE, "IEEE Standard for Local and metropolitan area IEEE, "IEEE Standard for Local and metropolitan area
networks-Media Access Control (MAC) Security Amendment 4: networks-Media Access Control (MAC) Security",
MAC Privacy protection", DOI 10.1109/IEEESTD.2018.8585421, DOI 10.1109/IEEESTD.2018.8585421, IEEE Std 802.1AE-2018,
December 2018, December 2018,
<https://ieeexplore.ieee.org/document/8585421>. <https://ieeexplore.ieee.org/document/8585421>.
[IEEE-8802-1X] [IEEE-8802-1X]
IEEE, "IEEE/ISO/IEC International Standard- IEEE, "IEEE/ISO/IEC International Standard-
Telecommunications and exchange between information Telecommunications and exchange between information
technology systems--Requirements for local and technology systems--Requirements for local and
metropolitan area networks--Part 1X:Port-based network metropolitan area networks--Part 1X:Port-based network
access control", DOI 10.1109/IEEESTD.2021.9650828, IEEE access control", DOI 10.1109/IEEESTD.2021.9650828, IEEE
Std 8802-1X-2021, December 2021, Std 8802-1X-2021, December 2021,
skipping to change at line 928 skipping to change at line 935
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8651] Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link [RFC8651] Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link
Exchange Protocol (DLEP) Control-Plane-Based Pause Exchange Protocol (DLEP) Control-Plane-Based Pause
Extension", RFC 8651, DOI 10.17487/RFC8651, October 2019, Extension", RFC 8651, DOI 10.17487/RFC8651, October 2019,
<https://www.rfc-editor.org/info/rfc8651>. <https://www.rfc-editor.org/info/rfc8651>.
[RFC9894] Cheng, B., Wiggins, D., Berger, L., and D. Eastlake 3rd, [RFC9894] Cheng, B., Wiggins, D., Berger, L., and D. Eastlake 3rd,
Ed., "Dynamic Link Exchange Protocol (DLEP) Diffserv Aware Ed., "Dynamic Link Exchange Protocol (DLEP) Diffserv Aware
Credit Window Extension", RFC 9894, DOI 10.17487/RFC9894, Credit Window Extension", RFC 9894, DOI 10.17487/RFC9894,
November 2025, <https://www.rfc-editor.org/info/rfc9894>. December 2025, <https://www.rfc-editor.org/info/rfc9894>.
[RFC9895] Wiggins, D., Berger, L., and D. Eastlake 3rd, Ed., [RFC9895] Wiggins, D., Berger, L., and D. Eastlake 3rd, Ed.,
"Dynamic Link Exchange Protocol (DLEP) IEEE 802.1Q Aware "Dynamic Link Exchange Protocol (DLEP) IEEE 802.1Q Aware
Credit Window Extension", RFC 9895, DOI 10.17487/RFC9895, Credit Window Extension", RFC 9895, DOI 10.17487/RFC9895,
November 2025, <https://www.rfc-editor.org/info/rfc9895>. December 2025, <https://www.rfc-editor.org/info/rfc9895>.
Appendix A. Example DLEP Credit Flow Control and Traffic Classification Appendix A. Example DLEP Credit Flow Control and Traffic Classification
Data Item Exchange Data Item Exchange
Figure 2 illustrates a credit flow control and traffic classification Figure 2 illustrates a credit flow control and traffic classification
exchange between a router and a modem. The modem will initialize a exchange between a router and a modem. The modem will initialize a
number of queues with Credit Window Initialization Data Items, Credit number of queues with Credit Window Initialization Data Items, Credit
Window Association Data Item(s), and Traffic Classification Data Window Association Data Item(s), and Traffic Classification Data
Item(s) included in DLEP messages as outlined in this document. If Item(s) included in DLEP messages as outlined in this document. If
the Data Items are successfully validated, traffic is mapped to the the Data Items are successfully validated, traffic is mapped to the
 End of changes. 43 change blocks. 
110 lines changed or deleted 117 lines changed or added

This html diff was produced by rfcdiff 1.48.