Internet DRAFT - draft-ietf-manet-dlep-credit-flow-control
draft-ietf-manet-dlep-credit-flow-control
Network Working Group B. Cheng
Internet-Draft MIT Lincoln Laboratory
Intended status: Standards Track D. Wiggins
Expires: 4 September 2024
L. Berger
LabN Consulting, L.L.C.
S. Ratliff
3 March 2024
DLEP Credit-Based Flow Control Messages and Data Items
draft-ietf-manet-dlep-credit-flow-control-13
Abstract
This document defines new Dynamic Link Exchange Protocol (DLEP) Data
Items that are used to support credit-based flow control. Credit
window control is used to regulate when data may be sent to an
associated virtual or physical queue. The Data Items are defined in
an extensible and reusable fashion. Their use will be mandated in
other documents defining specific DLEP extensions.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 4 September 2024.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
Cheng, et al. Expires 4 September 2024 [Page 1]
Internet-Draft DLEP Credit-Based Flow Control March 2024
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 . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Credit Window Control . . . . . . . . . . . . . . . . . . . . 3
2.1. Data Plane Considerations . . . . . . . . . . . . . . . . 5
2.2. Credit Window Messages . . . . . . . . . . . . . . . . . 5
2.2.1. Credit Control Message . . . . . . . . . . . . . . . 6
2.2.2. Credit Control Response Message . . . . . . . . . . . 6
2.3. Credit Window Control Data Items . . . . . . . . . . . . 7
2.3.1. Credit Window Initialization . . . . . . . . . . . . 7
2.3.2. Credit Window Association . . . . . . . . . . . . . . 10
2.3.3. Credit Window Grant . . . . . . . . . . . . . . . . . 11
2.3.4. Credit Window Status . . . . . . . . . . . . . . . . 12
2.3.5. Credit Window Request . . . . . . . . . . . . . . . . 14
2.4. Management Considerations . . . . . . . . . . . . . . . . 15
3. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 15
4. Security Considerations . . . . . . . . . . . . . . . . . . . 16
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
5.1. Message Values . . . . . . . . . . . . . . . . . . . . . 16
5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 16
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1. Normative References . . . . . . . . . . . . . . . . . . 17
6.2. Informative References . . . . . . . . . . . . . . . . . 17
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction
The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175].
It provides the exchange of link related control information between
DLEP peers. DLEP peers are comprised of a modem and a router. DLEP
defines a base set of mechanisms as well as support for possible
extensions. DLEP defines Data Items which are sets of information
that can be reused in DLEP messaging. The base DLEP specification
does not include any flow identification beyond DLEP endpoints nor
flow control capability. There are various flow control techniques
theoretically possible with DLEP. For example, a credit-window
scheme for destination-specific flow control which provides aggregate
flow control for both modem and routers has been proposed in
[I-D.ietf-manet-credit-window], and a control plane pause based
mechanism is defined in [RFC8651].
Cheng, et al. Expires 4 September 2024 [Page 2]
Internet-Draft DLEP Credit-Based Flow Control March 2024
This document defines DLEP Data Items and Messages which provide a
flow control mechanism for traffic sent from a router to a modem.
Flow control is provided using one or more logical "Credit Windows",
each of which will typically be supported by an associated virtual or
physical queue. A router will use traffic flow classification
information provided by the modem, as defined in
[I-D.ietf-manet-dlep-traffic-classification], to identify which
traffic is associated with each credit window. In this case, a flow
is identified based on information found in a data plane header and
one or more matches are associated with a single flow. (For general
background on traffic classification see [RFC2475] Section 2.3.)
Credit windows may be shared or dedicated on a per flow basis. The
Data Items are structured to allow for reuse of the defined credit
window based flow control with different traffic classification
techniques. A router logically consumes credits for each credit
window matching packet sent.
Note that this document defines common Messages, Data Items and
mechanisms that are reusable. They are expected to be required by
DLEP extensions defined in other documents such as found in
[I-D.ietf-manet-dlep-da-credit-extension].
This document supports credit window control by introducing two new
DLEP messages in Section 2.2, and five new DLEP Data Items in
Section 2.3.
1.1. Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Credit Window Control
This section defines additions to DLEP used in credit based flow
control. Two new messages and five Data Items are defined to support
credit window control. The use of credit window control impacts the
data plane.
The credit window control mechanisms defined in this document support
credit based flow control of traffic sent from a router to a modem.
The mapping of specific flows of traffic to a particular credit
window is based on the Traffic Classification Data Item defined in
[I-D.ietf-manet-dlep-traffic-classification]. Both types of DLEP
endpoints, i.e., a router and a modem, negotiate the use of this
extension during session initialization, e.g., see
Cheng, et al. Expires 4 September 2024 [Page 3]
Internet-Draft DLEP Credit-Based Flow Control March 2024
[I-D.ietf-manet-dlep-da-credit-extension]. When using credit
windows, data traffic is only allowed to be sent by the router to the
modem when there are credits available except during transients when
the credit window has been reduced. Implementations should allow
exceeding the credit window during the short time that a router might
take to respect the new credit window.
Credits are managed on a per logical "Credit Window" basis. Each
credit window can be thought of as corresponding to a queue within a
modem. Credit windows may be shared across, or dedicated to,
destinations and data plane identifiers, e.g., DSCPs, at a
granularity that is appropriate for a modem's implementation and its
attached transmission technology. As defined below, there is a
direct one-for-one mapping of credit windows to flows as identified
by Flow Identifiers (FIDs) carried within the Traffic Classification
Data Item. Modems pass to the router information on their credit
windows and FIDs prior to a router being able to send data when an
extension requiring the use of credit window control is used. In
addition to the traffic classification information associated with an
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. Additional "Credit Grants", i.e.,
increments to Credit Window size, are provided using a Destination Up
or the new "Credit Control" Message. A router provides its view of
the Credit Window, which is known as "Status", in Destination Up
Response and the new "Credit Control Response" Messages. Routers can
also request credits using the new "Credit Control" Message.
When modems provide credits to a router, they will need to take into
account any overhead of their attached transmission technology and
map it into the credit semantics defined in this document. In
particular, the credit window is defined below to include per frame
(packet) MAC headers, and this may not match the actual overhead of
the modem attached transmission technology. In that case a direct
mapping, or an approximation will need to be made by the modem to
provide appropriate credit values.
Actual flows of traffic are mapped to credit windows based on flow
identification information provided by modems in the Traffic
Classification Data item defined in
[I-D.ietf-manet-dlep-traffic-classification]. This data item
supports traffic classification on a per destination or more fine
Cheng, et al. Expires 4 September 2024 [Page 4]
Internet-Draft DLEP Credit-Based Flow Control March 2024
grain level. Routers use the combination of the DLEP identified
destination and flow information associated with a credit window in
order to match traffic they send to specific credit windows.
When a destination becomes reachable, a modem "associates"
(identifies) the appropriate traffic classification information via
the Traffic Class Identifier (TID) to be used for traffic sent by the
router to that destination. This is supported by the Credit Window
Association Data Item which is carried in Destination Up and Update
messages, see Section 2.3.2. The TID provides the information to
support router traffic classification, based on the FIDs contained in
the TID, see [I-D.ietf-manet-dlep-traffic-classification]. As
defined, each credit window has a corresponding FID, so traffic is
mapped to a credit window by locating a matching FID that is
contained in the TID that is associated with the traffic's
destination. This means that the use of FIDs, TIDs and the
association of a TID to a DLEP destination enables a modem to share
or dedicate resources as needed to match the specifics of its
implementation and its attached transmission technology.
The defined credit window control has similar objectives as the
control found in [I-D.ietf-manet-credit-window]. One notable
difference from that credit control is that in this document, credits
are never provided by the router to the modem.
2.1. Data Plane Considerations
When credit windowing is used, a router MUST NOT send data traffic to
a modem for forwarding when there are no credits available in the
associated Credit Window. This document defines credit windows in
octets. A credit window value MUST be larger than the number of
octets contained in a packet, including any MAC overhead (e.g.,
framing, headers and trailers) used between the router and the modem,
in order for the router to send the packet to a modem for forwarding.
The credit window is decremented by the number of sent octets.
A router MUST identify the credit window associated with traffic sent
to a modem based on the traffic classification information provided
in the Data Items defined in this document.
2.2. Credit Window Messages
Two new messages are defined in support for credit window control:
the Credit Control and the Credit Control Response Message. Sending
and receiving both message types is REQUIRED to support the credit
window control defined in this document.
Cheng, et al. Expires 4 September 2024 [Page 5]
Internet-Draft DLEP Credit-Based Flow Control March 2024
2.2.1. Credit Control Message
Credit Control Messages are sent by modems and routers. Each sender
is only permitted to have one message outstanding at one time. That
is, a sender (i.e., modem or router) MUST NOT send a second or any
subsequent Credit Control Message until a Credit Control Response
Message is received from its peer (i.e., router or modem).
Credit Control Messages are sent by modems to provide credit window
increases. Modems send credit increases when there is transmission
or local queue availability that exceeds the credit window value
previously provided to the router. Modems will need to balance the
load generated by sending and processing frequent credit window
increases against a router having data traffic available to send, but
no credits available.
Credit Control Messages MAY be sent by routers to request credits and
provide window status. Routers will need to balance the load
generated by sending and processing frequent credit window requests
against having data traffic available to send, but no credits
available.
The Message Type value in the DLEP Message Header is set to TBA2.
A message sent by a modem, MUST contain one or more Credit Window
Grant Data Items as defined below in Section 2.3.3. A router
receiving this message MUST respond with a Credit Control Response
Message.
A message sent by a router, MUST contain one or more Credit Window
Request Data Items defined below in Section 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 below,
which will typically result in credit window increments being
provided.
Specific processing associated with each Credit Data Item is provided
below.
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 message sent by a router,
MUST contain one or more Credit Window Status Data Items as defined
below in Section 2.3.4. Specific receive processing associated with
the Credit Window Status Data Item is provided below.
Cheng, et al. Expires 4 September 2024 [Page 6]
Internet-Draft DLEP Credit-Based Flow Control March 2024
Credit Control Response Messages sent by modems MUST contain one or
more Credit Window Grant Data Items. A Data Item for every Credit
Window Request Data Item contained in the corresponding Credit
Control Message received by the modem MUST be included. Each Credit
Grant Data Item MAY provide zero or more additional credits based on
the modem's transmission or local queue availability. Specific
receive processing associated with each Grant Data Item is provided
below.
The Message Type value in the DLEP Message Header is set to TBA3.
2.3. Credit Window Control Data Items
Five new Data Items are defined to support credit window control.
The Credit Window Initialization Data Item is used by a modem to
identify a credit window and set its size. The Credit Window
Association Data Item is used by a modem to identify which traffic
classification identifiers (flows) should be used when sending
traffic to a particular DLEP identified destination. The Credit
Window Grant is used by a modem to provide additional credits to a
router. The Credit Window Request is used by a router to request
additional credits. The Credit Window Status is used to advertise
the sender's view of number of available credits for state
synchronization purposes.
Any errors or inconsistencies encountered in parsing Data Items are
handled in the same fashion as any other data item parsing error
encountered in DLEP, see [RFC8175]. In particular, the node parsing
the Data Item MUST terminate the session with a Status Data Item
indicating Invalid Data.
2.3.1. Credit Window Initialization
The Credit Window Initialization Data Item is used by a modem to
identify a credit window and set its size. In order to avoid errors
caused by use of undefined FIDs or uninitialized credit windows, this
Data Item SHOULD be included in any Session Initialization Response
Message that also indicates support for an extension that requires
support for the credit window control mechanisms defined in this
document, e.g., see [I-D.ietf-manet-dlep-da-credit-extension].
Updates to previously identified credit windows or new credit windows
MAY be sent by a modem by including the Data Item in Session Update
Messages. More than one data item MAY be included in a message to
provide information on multiple credit windows.
The Credit Window Initialization Data Item identifies a credit window
using a Flow Identifier, or FID. It also provides the size of the
identified credit window. Finally, a queue size (in bytes) is
Cheng, et al. Expires 4 September 2024 [Page 7]
Internet-Draft DLEP Credit-Based Flow Control March 2024
provided for informational purposes. Note that to be used, a FID
must be defined within a Traffic Classification Data Item and the
associated TID must be provided via a Credit Window Association Data
Item.
The format of the Credit Window Initialization Data Item is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Credit Value :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Credit Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Scale | Credit Window Max Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
TBA4
Length:
16
Per [RFC8175] Length is the number of octets in the Data Item. It
MUST be equal to sixteen (16).
Flow Identifier (FID):
A flow identifier as defined by the Traffic Classification Data
Item. The FID also uniquely identifies a credit window.
Reserved:
MUST be set to zero by the sender (a modem) and ignored by the
receiver (a router).
Credit Value:
A 64-bit unsigned integer representing the credits, in octets, to
be added to the Credit Window. This value includes MAC headers as
seen on the link between the modem and router.
Scale:
An 8-bit unsigned integer indicating the scale used in the Credit
Window Max Size field. The valid values are:
Cheng, et al. Expires 4 September 2024 [Page 8]
Internet-Draft DLEP Credit-Based Flow Control March 2024
Value Scale
------------
0 B - Bytes (Octets)
1 KB - Kilobytes (B/1024)
2 MB - Megabytes (KB/1024)
3 GB - Gigabytes (MB/1024)
Credit Window Max Size:
A 24-bit unsigned integer representing the maximum size, in the
octet scale indicated by the Scale field, of the associated credit
window.
A router that receives a Credit Window Initialization Data Item MUST
ensure that the FID field value has been provided by the modem in a
Traffic Classification Data Item carried in either the current or a
previous message. If the FID cannot be found the router SHOULD
report or log this information. Note that no traffic will be
associated with the credit window in this case. After FID
validation, the router MUST locate the credit window that is
associated with the FID indicated in each received Data Item. If no
associated credit window is found, the router MUST initialize a new
credit window using the values carried in the Data Item. When an
associated credit window is found, the router MUST update the credit
window and associated data plane state using the values carried in
the Data Item. If the resulting Credit Value results in the credit
window exceeding the represented Credit Window Max Size, the Credit
Window Max Size field value is used as the new credit window size.
It is worth noting, that such updates can result in a credit window
size being reduced, for example, due to a transmission rate change on
the modem. After sending the Session Update Message with one or more
Credit Window Initialization Data Items that decrease the Credit
Window Max Size, the modem SHOULD continue processing received
packets that match the indicated FIDs, fit within the window for the
unmodified Credit Window Max Size and arrive before the modem
receives the corresponding Session Update Response Message. The
modem SHOULD NOT issue additional credits for each affected FID until
the associated affected Window has drained to be less than the new
Credit Window Max Size, regardless of whether sufficient draining
occurs before or after the modem receives that corresponding Session
Update Response Message.
Cheng, et al. Expires 4 September 2024 [Page 9]
Internet-Draft DLEP Credit-Based Flow Control March 2024
2.3.2. Credit Window Association
The Credit Window Association Data Item is used by a modem to
associate traffic classification information with a destination. The
traffic classification information is identified using a TID value
that has previously been sent by the modem or is listed in a Traffic
Classification Data Item carried in the same message as the Data
Item. TIDs in different Credit windows must not overlap.
A single Credit Window Association Data Item MUST be included in all
Destination Up and Destination Update Messages sent by a modem when
the credit window control defined in this document is used. Note
that a TID will not be used unless it is listed in a Credit Window
Association Data Item.
The format of the Credit Window Association Data Item is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length (2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Traffic Class. Identifier (TID)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
TBA5
Length:
2
Per [RFC8175] Length is the number of octets in the Data Item. It
MUST be equal to two (2).
Traffic Classification Identifier (TID):
A 16-bit unsigned integer identifying a traffic classification set
that has been identified in a Traffic Classification Data Item,
see [I-D.ietf-manet-dlep-traffic-classification].
A router that receives the Credit Window Association Data Item MUST
locate the traffic classification information indicated by the
received TID. If no corresponding information can be located, the
Data Item MUST be treated as an error as described above. Once the
traffic classification information is located, the router MUST ensure
that any data plane state, see Section 2.1, that is associated with
the TID and its corresponding FIDs is updated as needed.
Cheng, et al. Expires 4 September 2024 [Page 10]
Internet-Draft DLEP Credit-Based Flow Control March 2024
2.3.3. Credit Window Grant
The Credit Window Grant Data Item is used by a modem to provide
credits to a router. One or more Credit Window Grant Data Items MAY
be carried in the DLEP Destination Up, Destination Announce Response,
Destination Update, Credit Control Messages, and Credit Control
Response Messages. Multiple Credit Window Grant Data Items in a
single message are used to indicate different credit values for
different credit windows. In all message types, this Data Item
provides an additional number of octets to be added to the indicated
credit window. Credit windows are identified using FID values that
have been previously been sent by the modem or are listed in a Credit
Window Initialization Data Item carried in the same message as the
Data Item.
The format of the Credit Window Grant Data Item is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length (12) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Credits :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Additional Credits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
TBA6
Length:
12
Per [RFC8175], Length is the number of octets in the Data Item.
It MUST be equal to twelve (12).
Flow Identifier (FID):
A flow identifier as defined by the Traffic Classification Data
Item. The FID also uniquely indicates a credit window.
Reserved:
MUST be set to zero by the sender and ignored by the receiver.
Cheng, et al. Expires 4 September 2024 [Page 11]
Internet-Draft DLEP Credit-Based Flow Control March 2024
Additional Credit:
A 64-bit unsigned integer representing the credits, in octets, to
be added to the Credit Window. This value includes MAC headers as
seen on the link between the modem and router. A value of zero
indicates that no additional credits are being provided.
When receiving this Data Item, a router MUST identify the credit
window indicated by the FID. If the FID is not known to the router,
it SHOULD report or log this information and discard the Data Item.
It is important to note that while this Data Item can be received in
a destination specific message, credit windows are managed
independently from the destination identified in the message carrying
this Data Item, and the indicated FID MAY even be disjoint from the
identified destination.
Once the credit window is identified, the credit window size MUST be
increased by the value contained in the Additional Credits field. If
the increase results in a window overflow, the Credit Window must be
set to its maximum as defined by the Credit Window Max Size carried
in the Credit Window Initialization Data Item.
No response is sent by the router to a modem after processing a
Credit Window Grant Data Item received in a Credit Control Response
Message. In other cases, the receiving router MUST send a Credit
Window Status Data Item or items reflecting the resulting Credit
Window value of the updated credit window. When 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 above,
the Destination Up Response Message is used when the Data Item is
sent in response to a Destination Up Message, and the Credit Control
Response Message is sent in response to a Credit Control Message.
Multiple Credit Window Status Data Items in a single message are used
to indicate different sizes of different credit windows. Similar to
the Credit Window Grant, credit windows are identified using FID
values that have been previously been sent by the modem.
The format of the Credit Window Status Data Item is:
Cheng, et al. Expires 4 September 2024 [Page 12]
Internet-Draft DLEP Credit-Based Flow Control March 2024
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length (12) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Current Credit Window Size :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Current Credit Window Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
TBA7
Length:
12
Per [RFC8175] Length is the number of octets in the Data Item. It
MUST be equal to twelve (12).
Flow Identifier (FID):
A flow identifier as defined by the Traffic Classification Data
Item. The FID also uniquely identifies a credit window.
Reserved:
MUST be set to zero by the sender and ignored by the receiver.
Current Credit Window Size:
A 64-bit unsigned integer, indicating the current number of
credits, in octets, available for the router to send to the modem.
This is referred to as the Modem Receive Window in
[I-D.ietf-manet-credit-window].
When receiving this Data Item, a modem MUST identify the credit
window indicated by the FID. If the FID is not known to the modem,
it SHOULD report or log this information and discard the Data Item.
As with the Credit Window Grant Data Item, the FID MAY be unrelated
to the 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 values significantly differ,
i.e., greater than can be accounted for based on observed data
frames, then the modem SHOULD send a Credit Window Initialization
Data Item to reset the associated credit window size to the modem's
Cheng, et al. Expires 4 September 2024 [Page 13]
Internet-Draft DLEP Credit-Based Flow Control March 2024
current view of the available credits. As defined above, 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 above in
Section 2.3.1. Multiple FIDs MAY be present to allow for the case
where the router identifies that credits are needed in multiple
credit windows. A special FID value, as defined below, is used to
indicate that a credit request is being made across all queues.
The format of the Credit Window Request Data Item is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | Flow Identifier (FID) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type:
TBA8
Length:
Variable
Per [RFC8175] Length is the number of octets in the Data Item,
excluding the Type and Length fields. It will equal the number of
FID fields carried in the Data Item times 2 and MUST be at least
2.
Flow Identifier (FID):
A flow identifier as defined by the Traffic Classification Data
Item. The FID also uniquely identifies a credit window. The
special value of 0xFFFF indicates that the request applies to all
Cheng, et al. Expires 4 September 2024 [Page 14]
Internet-Draft DLEP Credit-Based Flow Control March 2024
FIDs. Note that when the special value is included, all other FID
values included in the Data Item are redundant as the special
value indicates all FIDs.
A modem receiving this Data Item MUST provide a Credit Increment for
the indicated credit windows via Credit Window Grant Data Items
carried in a new Credit Control Message. Multiple values and queue
indexes SHOULD be combined into a single Credit Control Message when
possible. Unknown FID values SHOULD be reported or logged and then
ignored by the modem.
2.4. Management Considerations
This section provides several network management guidelines to
implementations supporting the credit window mechanisms defined in
this document.
Modems MAY support the configuration of the number of credit windows
(queues) to advertise to a router.
Routers may have limits on the number of queues that they can support
and, perhaps, even limits in supported credit window combinations,
e.g., if per destination queues can even be supported at all. When
modem-provided credit window information exceeds the capabilities of
a router, the router SHOULD use a subset of the provided credit
windows. Alternatively, a router MAY reset the session and indicate
that the extension is not supported. In either case, the mismatch of
capabilities SHOULD be reported to the user via normal network
management mechanisms, e.g., 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 handling of unexpected
appearances of any data items, including those defined in this
document.
Cheng, et al. Expires 4 September 2024 [Page 15]
Internet-Draft DLEP Credit-Based Flow Control March 2024
4. Security Considerations
This document introduces credit window control and flow mechanisms to
DLEP. These mechanisms expose vulnerabilities similar to existing
DLEP messages, e.g., an injected message resizes a credit window to a
value that results in a denial of service. The security mechanisms
documented in [RFC8175] can be applied equally to the mechanism
defined in this document.
5. IANA Considerations
This document requests the assignment of several values by IANA. All
assignments are to registries defined by [RFC8175].
5.1. Message Values
This document requests 2 new assignments to the DLEP Message Registry
named "Message Values" in the range with the "Specification Required"
policy. The requested values are as follows:
+===========+=========================+
| Type Code | Description |
+===========+=========================+
| TBA2 | Credit Control |
+-----------+-------------------------+
| TBA3 | Credit Control Response |
+-----------+-------------------------+
Table 1: Requested Message Values
5.2. Data Item Values
This document requests the following new assignments to the DLEP Data
Item Registry named "Data Item Type Values" in the range with the
"Specification Required" policy. The requested values are as
follows:
Cheng, et al. Expires 4 September 2024 [Page 16]
Internet-Draft DLEP Credit-Based Flow Control March 2024
+===========+==============================+
| Type Code | Description |
+===========+==============================+
| TBA4 | Credit Window Initialization |
+-----------+------------------------------+
| TBA5 | Credit Window Association |
+-----------+------------------------------+
| TBA6 | Credit Window Grant |
+-----------+------------------------------+
| TBA7 | Credit Window Status |
+-----------+------------------------------+
| TBA8 | Credit Window Request |
+-----------+------------------------------+
Table 2: Requested Data Item Values
6. References
6.1. Normative References
[I-D.ietf-manet-dlep-traffic-classification]
Cheng, B., Wiggins, D., and L. Berger, "DLEP Traffic
Classification Data Item", Work in Progress, Internet-
Draft, draft-ietf-manet-dlep-traffic-classification-09, 10
July 2023, <https://datatracker.ietf.org/doc/html/draft-
ietf-manet-dlep-traffic-classification-09>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B.
Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175,
DOI 10.17487/RFC8175, June 2017,
<https://www.rfc-editor.org/info/rfc8175>.
6.2. Informative References
Cheng, et al. Expires 4 September 2024 [Page 17]
Internet-Draft DLEP Credit-Based Flow Control March 2024
[I-D.ietf-manet-credit-window]
Ratliff, S., "Credit Windowing extension for DLEP", Work
in Progress, Internet-Draft, draft-ietf-manet-credit-
window-07, 13 November 2016,
<https://datatracker.ietf.org/doc/html/draft-ietf-manet-
credit-window-07>.
[I-D.ietf-manet-dlep-da-credit-extension]
Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ
Aware Credit Window Extension", Work in Progress,
Internet-Draft, draft-ietf-manet-dlep-da-credit-extension-
14, 10 July 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-manet-dlep-da-credit-extension-14>.
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
<https://www.rfc-editor.org/info/rfc2475>.
[RFC8651] Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link
Exchange Protocol (DLEP) Control-Plane-Based Pause
Extension", RFC 8651, DOI 10.17487/RFC8651, October 2019,
<https://www.rfc-editor.org/info/rfc8651>.
Appendix A. Acknowledgments
We mourn the loss of Stan Ratliff who passed away on October 22,
2019. His guidance, leadership and personal contributions were
critical in the development of this work and DLEP as a whole. His
leadership and friendship shall be missed.
We mourn the loss of David Wiggins who passed away on November 23,
2023. His guidance, leadership and personal contributions were
critical in the development of this work and DLEP as a whole. His
leadership and friendship shall be missed.
Many useful comments were received from contributors to the MANET
working group, notably Rick Taylor, Ronald in't Velt, David Black and
Eric Kinzie. This document was derived from
[I-D.ietf-manet-dlep-da-credit-extension] as a result of discussions
at IETF 101.
Cheng, et al. Expires 4 September 2024 [Page 18]
Internet-Draft DLEP Credit-Based Flow Control March 2024
We had the honor of working too briefly with David Wiggins on this
and related DLEP work. His contribution to the IETF and publication
of the first and definitive open source DLEP implementation have been
critical to the acceptance of DLEP. We morn his passing on November
23, 2023. We wish to recognize his guidance, leadership and
professional excellence. We were fortunate to benefit from his
leadership and friendship. He shall be missed.
Authors' Addresses
Bow-Nan Cheng
MIT Lincoln Laboratory
Massachusetts Institute of Technology
244 Wood Street
Lexington
Email: bcheng@ll.mit.edu
David Wiggins
Lou Berger
LabN Consulting, L.L.C.
Email: lberger@labn.net
Stan Ratliff
Cheng, et al. Expires 4 September 2024 [Page 19]