<?xml version='1.0'encoding='utf-8'?>encoding='UTF-8'?> <!DOCTYPE rfc [ <!ENTITYfilename "draft-ietf-manet-dlep-credit-flow-control-19"> <!ENTITYnbsp " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]><?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> <?rfc toc="yes" ?> <?rfc symrefs="yes" ?> <?rfc sortrefs="yes"?> <?rfc iprnotified="no" ?> <?rfc strict="yes" ?><rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902"docName="&filename;"docName="draft-ietf-manet-dlep-credit-flow-control-19" number="9893" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3"><!-- xml2rfc v2v3 conversion 3.19.4 --><front> <title abbrev="DLEP Credit-Based FlowControl"> DynamicControl">Dynamic Link Exchange Protocol (DLEP) Credit-Based Flow Control Messages and Data Items</title> <seriesInfoname="Internet-Draft" value="draft-ietf-manet-dlep-credit-flow-control-19"/>name="RFC" value="9893"/> <author initials="B." surname="Cheng" fullname="Bow-Nan Cheng"> <organization>MIT Lincoln Laboratory</organization> <address> <postal> <street>Massachusetts Institute of Technology</street> <street>244 Wood Street</street> <city>Lexington</city> <region>MA</region> <code>02421-6426</code> <country>United States of America</country> </postal> <email>bcheng@ll.mit.edu</email> </address> </author> <author initials="D." surname="Wiggins" fullname="David Wiggins"><address> <email>david@none.org</email> </address></author> <author fullname="Stan Ratliff" initials="S." surname="Ratliff"><address> <email>stan@none.org</email> </address></author> <author initials="L." surname="Berger" fullname="Lou Berger"> <organization>LabN Consulting, L.L.C.</organization> <address> <email>lberger@labn.net</email> </address> </author> <author role="editor" initials="E." surname="Kinzie" fullname="Eric Kinzie"> <organization>LabN Consulting, L.L.C.</organization> <address> <email>ekinzie@labn.net</email> </address> </author><date/><date month="November" year="2025"/> <area>RTG</area> <workgroup>manet</workgroup> <!-- [rfced] Please insert any keywords (beyond those that appear in the title) for use on <https://www.rfc-editor.org/search>. --> <abstract> <t> 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. These Data Items are extensible and reusable. <!-- [rfced] Abstract: As it appears that the two new message types (Credit Control and Credit Control Response) also figure prominently in this document (and appear to be mentioned in the document title), would you like to also mention them in the Abstract? Original: This document defines new Dynamic Link Exchange Protocol (DLEP) Data Items that are used to support credit-based flow control. Credit window control is used to regulate when data may be sent to an associated virtual or physical queue. The Data Items are extensible and reusable. Possibly: 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. These Data Items are extensible and reusable. This document also defines new messages that support credit window control. --> </t> </abstract> </front> <middle> <!-- [rfced] FYI: We have added expansions for abbreviations where they are first used, per Section 3.6 of RFC 7322 ("RFC Style Guide") (https://www.rfc-editor.org/info/rfc7322). Please review the following expansions to ensure correctness. DSCP: Differentiated Services Code Point (Figure 1) MAC: Media Access Control (Section 2) PCP: Priority Code Point (Figure 1) --> <section anchor="sec-1" numbered="true"> <name>Introduction</name> <t> The Dynamic Link Exchange Protocol (DLEP), defined in <xref target="RFC8175" format="default"/>, provides the exchange oflink relatedlink-related control information between DLEP peers. DLEP peers are comprised of a modem and a router. DLEP defines a base set of mechanisms as well as support for future extensions. DLEP defines DataItemsItems, which are sets of information that can be reused in DLEP messaging. The DLEP specification does not include any flow identification beyond DLEPendpointsendpoints, nor does it address flow control capability.There are variousVarious flow control techniques are theoretically possible with DLEP. For example, a credit-window scheme for destination-specific flow controlwhichthat provides aggregate flow control for bothmodemmodems and routers has been proposed in <xref target="I-D.ietf-manet-credit-window" format="default"/>, and acontrol plane pause basedmechanism referred to as the Control-Plane-Based Pause Extension is defined in <xref target="RFC8651" format="default"/>. The use of other flow control mechanisms simultaneously withCredit-Based Flow Controlcredit-based flow control is not within the scope of this document. <!-- [rfced] Section 1: We updated "control plane pause based mechanism" per RFC 8651. Please let us know any objections. Original: 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]. Currently: For example, a credit-window scheme for destination-specific flow control that provides aggregate flow control for both modems and routers has been proposed in [Credit-Window-Extension], and a mechanism referred to as the Control-Plane-Based Pause Extension is defined in [RFC8651]. --> </t> <t>Credit-Based Flow Control,Credit-based flow control, as a result of its proactive nature, may offer some advantages over a pause mechanism. Packet loss resulting from insufficient buffer space is less likely, as a transmitter does not send packets until the receiver has indicated that there is sufficient buffer space available. </t> <t> <xref target="router-modem" format="default"/> illustrates a local node consisting of a router and a modemwith aimplementing DLEP. DLEP messages optionally contain a number of Data Items andSub-dataSub-Data Items. Trafficflow classificationClassification Data Items provided by themodem,modem are defined in <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/>. In this case, a flow is identified based on information found in a data planeheaderheader, and one or more matches are associated with a single flow. Refer toSection 2.3 of<xref target="RFC2475"format="default"/>section="2.3"/> for general background on traffic classification. </t> <figure anchor="router-modem"align="left" suppress-title="false"> <name slugifiedName="router_to_modem">Routeralign="left"> <name>Router and Modem DLEP Exchange</name> <artwork name="" type="" align="left" alt=""><![CDATA[ |--------------------Local Node--------------------| | | +-----------------------------+ +-------+ | Router | |Modem | | | |Device |{~~~~~~~~} Remote | | | | Link Nodes | Traffic Classification: | | | Protocol | Per TID: | | | (e.g., | DSCPs to FID / PCPs to FID | | | 802.11) | | Data Items | | | Per Modem: (list of TIDs) |<---------->| | | FID to Credit Window Queues |============| | | | | | +-----------------------------+ +-------+ | | |----DLEP--- | DSCP: Differentiated Services Code Point FID: Flow Identifier PCP: Priority Code Point TID: Traffic Classification Identifier ]]></artwork> </figure> <t> This document defines DLEP Data Itemswhichthat provide a flow control mechanism for traffic sent from a router to a modem. Flow control is provided using one or more logical "Credit Windows", each of which will typically be supported by an associated virtual or physical queue. Credit windows may be shared or dedicated on aper flowper-flow basis. The Data Items are structured to allow for the reuse of the definedcredit window basedcredit-window-based flow control with different traffic classification techniques. A router logically consumes credits for each credit window matching packet sent. </t> <t> Note that this document defines commonMessages,messages, DataItemsItems, and mechanisms that are reusable. They are expected to be required by DLEP extensions defined in otherdocumentsdocuments, such asfoundthe extension defined in <xreftarget="I-D.ietf-manet-dlep-da-credit-extension"target="RFC9894" format="default"/>. </t> <t> This document introduces support for credit window control by defining two new DLEP messagesin <xref(<xref target="sec-msgs"format="default"/>,format="default"/>) and five new DLEP Data Itemsin <xref(<xref target="sec-data-items"format="default"/>.format="default"/>). </t> <t> Various conditions described in this document cause a message to be logged. In all cases, the log message results from the contents of a received Data Item defined here. No messages are logged in response to activity in the data plane. </t> <section anchor="sec-1.1" numbered="true" toc="default"> <name>Key Words</name><t> The<t>The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xreftarget="RFC2119" format="default"/>target="RFC2119"/> <xreftarget="RFC8174" format="default"/>target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere. </t>here.</t> </section> </section> <section anchor="sec-cw-control" numbered="true" toc="default"> <name>Credit Window Control</name> <t> This section defines additions to DLEP used incredit basedcredit-based flow control. The use of credit window control impacts the data plane. </t> <t> The credit window control mechanisms defined in this document supportcredit basedcredit-based flow control of traffic sent from a router to a modem. The mapping of specific flows to a particular credit window is based on the Traffic Classification Data Item defined in <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/>. Both types of DLEPpeers,peers -- router andmodem,modem -- negotiate the use of an extension employing this mechanism during session initialization asrequired,required; for example,bysee <xreftarget="I-D.ietf-manet-dlep-da-credit-extension"target="RFC9894" format="default"/>. When using credit windows, data traffic is only allowed to be sent by the router to the modem when there are credits available. </t> <t> Credits are managed on aper'per logical "CreditWindow"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 planeidentifiers,identifiers -- for example,DSCPs,DSCPs -- at a granularity that is appropriate for a modem's implementation and its attached transmission technology. Asdefined belowspecified in <xref target="sec-di-cwi" format="default"/>, there is a directone-for-oneone-to-one mapping of credit windows to flows as identified by Flow Identifiers (FIDs) carried within the Traffic Classification Data Item. Modems pass to the router information on their credit windows and FIDs prior to a router being able to send data when an extension requiring the use of credit window control is used. Note thatTIDTraffic Classification Identifier (TID) values and FID values are significant only to the issuing modem. There is no relationship implied by the same TID or FID value being issued by more than one modem. In addition to the traffic classification information associated with a FID, modems provide an initial credit window size, as well as the maximum size of the logical queue associated with each credit window. The maximum size is included for informative and potential future uses. </t> <t> Modems provide an initial credit window size at the time of "Credit Window Initialization". Such initialization can take place during session initiation or any point thereafter. It can also take place when rate information changes. An increment to aCredit Windowcredit window size, specified in a Credit Grant Data Item, is provided in a Destination Up Message (<xref target="sec-di-cwa"/>) orthe new "Credit Control" Message.Credit Control Message (<xref target="sec-cc-msg"/>). A router provides its view of the Credit Window, which is known as "Status", in Destination Up Response Messages (<xref target="sec-di-grant"/>) andthe new "CreditCredit ControlResponse" Messages.Response Messages (<xref target="sec-ccr-msg"/>). Routers can also request credits using thenew "Credit Control" Message. </t>Credit Control Message.</t> <t> 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 includeper frame (packet) MACper-frame (per-packet) Media Access Control (MAC) headers, and this may not match the actual overhead of themodemmodems' attached transmission technology. In thatcasecase, a directmapping,mapping or an approximation will need to be made by the modem to provide appropriate credit values. </t> <t> 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 <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/>. Thisdata itemData Item supports traffic classification on aper destinationper-destination or morefine grainfine-grained level. Routers use the combination of theDLEP identifiedDLEP-identified destination and flow information associated with a credit window in order to match traffic they send to specific credit windows. In some cases, the Traffic Classification Data Item allows the modem to specify a wildcard to match any packets that do not match otherdata items,Data Items; forexampleexample, see <xreftarget ="I-D.ietf-manet-dlep-ether-credit-extension"/>.target="RFC9895"/>. In the absence of a wildcard, a packet may not match any of thedata itemsData Items and, in this case,MUST<bcp14>MUST</bcp14> be dropped by the router. </t> <t> When a destination becomes reachable, a modem "associates" (identifies) the appropriate traffic classification information via theTraffic Class Identifier (TID)TID to be used for traffic sent by the router to that destination. This is supported by the Credit Window Association DataItemItem, which is carried in Destination Up and Destination Updatemessages,Messages; see <xref target="sec-di-cwa" format="default"/>. The TID provides the information to support router traffic classification, based on the FIDs contained in theTID,TID; see <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/>. 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 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 specifics of its implementation and its attached transmission technology. <!-- [rfced] Section 2: We had trouble determining what is listed in this sentence. We updated as follows. If this is incorrect, please clarify the text. Original: 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. Currently: This means that the use 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 specifics of its implementation and its attached transmission technology. --> </t> <t>The defined creditCredit window control as defined in this document hassimilarobjectivesassimilar to the controlfoundtechnique described in <xref target="I-D.ietf-manet-credit-window" format="default"/>. One notable difference from that type of credit control is that in this document, credits are never provided by the router to the modem. </t> <section anchor="data-plane" numbered="true"> <name>Data Plane Considerations</name> <t> When credit windowing is used, a routerMUST NOT<bcp14>MUST NOT</bcp14> send data traffic to a modem for forwarding if there is no matching classifier. If a matching classifier is found, a routerMUST NOT<bcp14>MUST NOT</bcp14> send data traffic to a modem when there are no credits available in the associated Credit Window. <xref target="sec-cw-control" format="default"/> describes how classifiers are associated with destinations and how credit windows are associated with classifiers. Additionally, a routerMUST<bcp14>MUST</bcp14> ensure that sufficient credits are available in the associated Credit Window for the current data packet before sending that data packet to the modem. The count of octets in the packet includes MAC overhead.In the example of Ethernet,Taking Ethernet as an example, framing,headerheader, and trailer are all included in this count. This document defines credit windows inoctetsoctets, and the credit window is decremented by the number of sent octets. <!-- [rfced] Section 2.1: We had trouble following this sentence. Does "framing" mean "frame size" or something else? Original: In the example of Ethernet, framing, header and trailer are all included in this count. --> </t> <t> A routerMUST<bcp14>MUST</bcp14> identify the credit window associated with traffic to be sent to a modem based on the traffic classification information provided in the Data Items defined in this document. </t> </section> <section anchor="sec-msgs" numbered="true"> <name>Credit Window Messages</name> <t>TwoThis document defines two new messagesare defined inthat supportforcredit window control:theCredit Control Messages andtheCredit Control Response Messages. Sending and receiving both message types isREQUIRED<bcp14>REQUIRED</bcp14> to support the credit window control mechanisms defined in this document. </t> <section anchor="sec-cc-msg" numbered="true"> <name>Credit Control Message</name> <t> Credit Control Messages are sent by modems and routers. Each sender is only permitted to have one message outstanding at one time. That is, a sender (either modem or router)MUST NOT<bcp14>MUST NOT</bcp14> sendanya subsequent Credit Control Message until a Credit Control Response Messageishas been received from its peer. </t> <t> Credit Control Messages are sent by modems to provide credit window increases. Modems send credit increases whenthere istheir transmission or local queue availabilitythatexceeds the credit window value previously provided to the router. Modems will need to balance the load generated by sending and processing credit window increases against a router having data traffic available to send, but no credits available. <!-- [rfced] Section 2.2.1: We had trouble parsing these sentences. If the suggested text is not correct, please clarify "having data traffic available to send, but no credits available". Original: Modems will need to balance the load generated by sending and processing credit window increases against a router having data traffic available to send, but no credits available. ... Routers will need to balance the load generated by sending and processing credit window requests against having data traffic available to send, but no credits available. Suggested: Modems will need to balance the load generated by sending and processing credit window increases against a router that has data traffic available to send but no available credits. ... Routers will need to balance the load generated by sending and processing credit window requests against having data traffic available to send but no available credits. --> </t> <t> Credit Control MessagesMAY<bcp14>MAY</bcp14> be sent by routers to request credits and provide window status. Routers will need to balance the load generated by sending and processing credit window requests against having data traffic available to send, but no credits available. </t> <t> The Message Type value in the DLEP Message Header is set toTBA2.17. </t> <t> A Credit ControlmessageMessage sent by amodem, MUSTmodem <bcp14>MUST</bcp14> contain one or more Credit Window Grant Data Items as defined in <xref target="sec-di-grant" format="default"/>. A router receiving this messageMUST<bcp14>MUST</bcp14> respond with a Credit Control Response Message. </t> <t> A Credit ControlmessageMessage sent by arouter, MUSTrouter <bcp14>MUST</bcp14> contain one or more Credit Window Request Data Items as defined in <xref target="sec-di-request" format="default"/> andSHOULD<bcp14>SHOULD</bcp14> contain a Credit Window Status Data Item, defined in <xref target="sec-di-status" format="default"/>, corresponding to each credit window request. A modem receiving this messageMUST<bcp14>MUST</bcp14> respond with a Credit Control Response Message based on the received message and Data Item and the processing defined in <xref target="sec-ccr-msg" format="default"/>, which will typically result in credit window increments being provided. </t> <t> Specific processing associated with each Credit Data Item is provided in <xref target="sec-data-items" format="default"/>. </t> </section> <section anchor="sec-ccr-msg" numbered="true"> <name>Credit Control Response Message</name> <t> Credit Control Response Messages are sent by routers to report the current Credit Window for a destination. A Credit Control ResponsemessageMessage sent by arouter, MUSTrouter <bcp14>MUST</bcp14> contain one or more Credit Window Status Data Items as definedbelowin <xref target="sec-di-status" format="default"/>. Specific receive processing associated with the Credit Window Status Data Item is provided in <xref target="sec-di-status" format="default"/>. </t> <t> Credit Control Response Messages sent by modemsMUST<bcp14>MUST</bcp14> 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 modemMUST<bcp14>MUST</bcp14> be included. Each Credit Grant Data ItemMAY<bcp14>MAY</bcp14> provide zero or more additional credits based on the modem's transmission or local queue availability. Specific receive processing associated with each Grant Data Item is provided in <xref target="sec-di-grant" format="default"/>. </t> <t> The Message Type value in the DLEP Message Header is set toTBA3.18. </t> </section> </section> <section anchor="sec-data-items" numbered="true"> <name>Credit Window Control Data Items</name> <t> Five new Data Items are defined to support credit windowcontrol. Thecontrol:</t> <ul spacing="normal"> <li>The Credit Window Initialization Data Item (<xref target="sec-di-cwi"/>) is used by a modem to identify a credit window and set itssize. Thesize.</li> <li>The Credit Window Association Data Item (<xref target="sec-di-cwa"/>) is used by a modem to identify whichtraffic classification identifiersTIDs (flows) should be used when sending traffic to a particularDLEP identified destination. TheDLEP-identified destination.</li> <li>The Credit Window Grant Data Item (<xref target="sec-di-grant"/>) is used by a modem to provide additional credits to arouter. The Credit Window Request Data Item is used by a router to request additional credits. Therouter.</li> <li>The Credit Window Status Data Item (<xref target="sec-di-status"/>) is used to advertise the sender's view of the number of available credits for state synchronizationpurposes. </t>purposes.</li> <li>The Credit Window Request Data Item (<xref target="sec-di-request"/>) is used by a router to request additional credits.</li> </ul> <t> Any errors or inconsistencies encountered in parsing Data Items are handled in the same fashion as any otherdata itemData Item parsing error encountered inDLEP,DLEP; see <xref target="RFC8175" format="default"/>. In particular, the node parsing the Data Item <bcp14>MUST</bcp14> terminate the session with a Status Data Item indicating "Invalid Data". <!-- [rfced] Section 2.3: Does "a Status Data Item" refer specifically to the Status Data Item defined in RFC 8175 - in which case RFC 8175 should be cited here - or does it refer to the Credit Window Status Data Item as defined in this document? Original: In particular, the node parsing the Data Item MUST terminate the session with a Status Data Item indicating Invalid Data. Perhaps: In particular, the node parsing the Data Item MUST terminate the session with a Status Data Item [RFC8175] indicating "Invalid Data". Or possibly: In particular, the node parsing the Data Item MUST terminate the session with a Credit Window Status Data Item indicating "Invalid Data" as defined in [RFC8175]. --> </t> <section anchor="sec-di-cwi" numbered="true"> <name>Credit Window Initialization</name> <t>TheAs noted above, the Credit Window Initialization Data Item is used by a modem to identify a credit window and set its size. In order to avoid errors caused by the use of undefined FIDs or uninitialized credit windows, this Data ItemSHOULD<bcp14>SHOULD</bcp14> be included in any Session Initialization Response Message that indicates support for any such extension. Updates to previously identified credit windows or new credit windowsMAY<bcp14>MAY</bcp14> be sent by a modem by including the Data Item in Session Update Messages. More than onedata item MAYData Item <bcp14>MAY</bcp14> be included in a message to provide information on multiple credit windows. </t> <t> The Credit Window Initialization Data Item identifies a credit window using aFlow Identifier, orFID. It also provides the size of the identified credit window. To be used, a FID must be defined within a Traffic Classification DataItemItem, and the associated TID must be provided via a Credit Window Association Data Item. </t> <t> The format of the Credit Window Initialization Data Itemis:is as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length (16) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flow Identifier (FID) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Scale | Credit Window Max Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="true" spacing="normal"> <dt>Data Item Type:</dt><dd>Data Item Type (TBA4)</dd><dd>30</dd> <dt>Length:</dt> <dd> <t>16</t> <t> As specified in <xref target="RFC8175"/>, Length is the number of octets in the Data Item. ItMUST<bcp14>MUST</bcp14> be equal to sixteen (16). If it is some other value, the Data Item iscorruptcorrupt, so the message in which it appears cannot be reliably parsed and is ignored. </t> </dd> <dt>Flow Identifier (FID):</dt> <dd> Atwo-octet2-octet flow identifier as defined by the Traffic Classification Data Item <xreftarget="I-D.ietf-manet-dlep-traffic-classification" />.target="RFC9892"/>. The FID also uniquely identifies a credit window for a specific DLEP session. </dd> <dt>Reserved:</dt> <dd> For the Credit Window Initialization DataItemItem, this reserved field is currently unused. ItMUST<bcp14>MUST</bcp14> be set to all zeros for this version of the Data Item anditis currently ignored on reception. This allows for future extensions of the Data Item if needed. </dd> <dt>Credit Value:</dt> <dd> 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. </dd> <dt>Scale:</dt> <dd> <t> An 8-bit unsigned integer indicating the scale used in the Credit Window Max Size field. The valid valuesare:are as follows: </t><artwork name="" type="" align="left" alt=""><![CDATA[<table anchor="table_scale" align="left"> <name>Valid Scale Field Values</name> <thead><tr><th>Value</th><th align="center">Scale</th></tr></thead> <tbody> <tr><td>0</td><td>B: Bytes (Octets)</td></tr> <tr><td>1</td><td>KB: Kilobytes (B/1024)</td></tr> <tr><td>2</td><td>MB: Megabytes (KB/1024)</td></tr> <tr><td>3</td><td>GB: Gigabytes (MB/1024)</td></tr> </tbody> </table> <!-- [rfced] Section 2.3.1: As the dashes initially appeared to be minus signs, we changed them to colons. If this is incorrect, please consider whether these entries could be written in some other way. We also gave the table a title. Please let us know any objections. If you prefer a different title, please specify. Original (dashes are broken in order to avoid xml2rfc's "Double hyphen within comment" error): Value Scale------------- - - - - 0 B - Bytes (Octets) 1 KB - Kilobytes (B/1024) 2 MB - Megabytes (KB/1024) 3 GB - Gigabytes (MB/1024)]]></artwork>Currently: +=======+=========================+ | Value | Scale | +=======+=========================+ | 0 | B: Bytes (Octets) | +- - - -+- - - - - - - - - - - - -+ | 1 | KB: Kilobytes (B/1024) | +- - - -+- - - - - - - - - - - - -+ | 2 | MB: Megabytes (KB/1024) | +- - - -+- - - - - - - - - - - - -+ | 3 | GB: Gigabytes (MB/1024) | +- - - -+- - - - - - - - - - - - -+ Table 1: Valid Scale Field Values --> </dd> <dt>Credit Window Max Size:</dt> <dd> A 24-bit unsigned integer representing the maximum size, in the octet scale indicated by the Scale field, of the associated credit window. </dd> </dl> <t> A router that receives a Credit Window Initialization Data ItemMUST<bcp14>MUST</bcp14> ensure that the FID field value has been provided by the modem in a Traffic Classification Data Item carried in either the current message or a previous message. If the FID cannot befoundfound, the routerSHOULD<bcp14>SHOULD</bcp14> log this information. The method of logging is left to the router implementation. Note that no traffic will be associated with the credit window in this case. After FID validation, the routerMUST<bcp14>MUST</bcp14> locate the credit window that is associated with the FID indicated in each received Data Item. If no associated credit window is found, the routerMUST<bcp14>MUST</bcp14> initialize a new credit window using the values carried in the Data Item. When an associated credit window is found, the routerMUST<bcp14>MUST</bcp14> update the credit window and associated data plane state using the values carried in the Data Item. If the resultant Credit Value in turn results in the credit window exceeding the represented Credit Window Max Size, the Credit Window Max Size field value is used as the new credit window size. <!-- [rfced] Section 2.3.1: Does "Credit Value" specifically refer to the Credit Value field, or does it mean "credit value" as used generally elsewhere in this document (e.g., "appropriate credit values" as written in Section 2)? Original: 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. --> </t> <t> It is worthnoting,noting that such updates can result in a credit window size beingreduced,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 modemSHOULD<bcp14>SHOULD</bcp14> continue processing received packets that match the indicated FIDs, fit within the window for the unmodified Credit Window MaxSizeSize, and arrive before the modem receives the corresponding Session Update Response Message. The modemSHOULD NOT<bcp14>SHOULD NOT</bcp14> issue additional credits for any affected FID until that FID's associatedWindowwindow has drained to be less than the new Credit Window Max Size, regardless of when the corresponding Session Update Response Message is received. </t> </section> <section anchor="sec-di-cwa" numbered="true"> <name>Credit Window Association</name> <t> 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 haspreviouslybeen previously sent by the modem or is listed in a Traffic Classification Data Item carried in the same message as the Credit Window Association Data Item. TIDs in differentCreditcredit windows must not overlap. </t> <t> A single Credit Window Association Data ItemMUST<bcp14>MUST</bcp14> be included in every Destination Up and Destination Update Message sent by a modem whenthea credit window control mechanism defined in this document is used. Note that a TID will not be used unless it is listed in a Credit Window Association Data Item. </t> <t> The format of the Credit Window Association Data Itemis:is as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 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)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="true" spacing="normal"> <dt>Data Item Type:</dt><dd>Data Item Type (TBA5)</dd><dd>31</dd> <dt>Length:</dt> <dd> <t>2</t> <t> As specified in <xref target="RFC8175"/>, Length is the number of octets in the Data Item. ItMUST<bcp14>MUST</bcp14> be equal to two (2). If it is some other value, the Data Item iscorruptcorrupt, so the message in which it appears cannot be reliably parsed and is ignored. </t> </dd> <dt> Traffic Classification Identifier (TID):</dt> <dd> A 16-bit unsigned integer identifying a traffic classification set that has been identified in a Traffic Classification DataItem,Item; see <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/>. </dd> </dl> <t> A router that receives a Credit Window Association Data ItemMUST<bcp14>MUST</bcp14> locate the traffic classification information indicated by the received TID. If no corresponding information is found, the Credit Window Association Data ItemMUST<bcp14>MUST</bcp14> be treated as an error as described above. If the traffic classification information is located, the routerMUST<bcp14>MUST</bcp14> ensure that any data plane state that is associated with the TID and its corresponding FIDsareis updated as needed (per <xref target="data-plane" format="default"/>). If a router determines that a newly received Data Item results in credit windows with overlapping TIDs, the Data ItemMUST<bcp14>MUST</bcp14> be treated as an error as described above. <!-- [rfced] Section 2.3.2: Because this sentence as written indicated that the data plane state is updated as needed, we changed "are" to "is" accordingly (also per "In both cases, a router MUST also ensure that any data plane state, e.g., [I-D.ietf-manet-dlep-credit-flow-control], that is associated with the TID is updated as needed." in draft-ietf-manet-dlep-traffic-classification, where it cites this document). If this is incorrect, please clarify what is being updated as needed. Original: If the traffic classification information is located, the router MUST ensure that any data plane state that is associated with the TID and its corresponding FIDs are updated as needed (per Section 2.1). Currently: If the traffic classification information is located, the router MUST ensure that any data plane state that is associated with the TID and its corresponding FIDs is updated as needed (per Section 2.1). --> </t> </section> <section anchor="sec-di-grant" numbered="true"> <name>Credit Window Grant</name> <t> The Credit Window Grant Data Item is used by a modem to provide credits to a router. One or more Credit Window Grant Data ItemsMAY<bcp14>MAY</bcp14> be carried in the DLEP Destination Up, Destination Announce Response, Destination Update, CreditControl Messages,Control, and Credit Control Response Messages. Multiple Credit Window Grant Data Items may be present in a single message. Each item grants credits to a different credit windowand, therefor,and therefore references a different FID. In all message types, this Data Item provides an additional number of octets to be added to the indicated credit window. Credit windows are identified using FID values that have been previouslybeensent by the modem or are listed in a Credit Window Initialization Data Item carried in the same message as the Data Item. </t> <t> The format of the Credit Window Grant Data Itemis:is as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 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 | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="true" spacing="normal"> <dt>Data Item Type:</dt><dd>Data Item Type (TBA6)</dd><dd>32</dd> <dt>Length:</dt> <dd> <t>12</t> <t> As specified in <xref target="RFC8175"/>, Length is the number of octets in the Data Item. ItMUST<bcp14>MUST</bcp14> be equal to twelve (12). If it is some other value, the Data Item iscorruptcorrupt, so the message in which it appears cannot be reliably parsed and is ignored. </t> </dd> <dt>Flow Identifier (FID):</dt> <dd> Atwo-octet2-octet flow identifier as defined by the Traffic Classification Data Item. The FID also uniquely indicates a credit window. </dd> <dt>Reserved:</dt> <dd> For the Credit Window Grant DataItemItem, this reserved field is currently unused. ItMUST<bcp14>MUST</bcp14> be set to all zeros for this version of the Data Item anditis currently ignored on reception. This allows for future extensions of the Data Item if needed. </dd> <dt>AdditionalCredit:</dt>Credits:</dt> <dd> 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.</dd> </dl> <t> When receiving this Data Item, a routerMUST<bcp14>MUST</bcp14> identify the credit window indicated by the FID. If the FID is not known to the router, itSHOULD<bcp14>SHOULD</bcp14> log this information and discard the Data Item. The method of logging is left to the router implementation. It is important to note that while this Data Item can be received in adestination specificdestination-specific message, credit windows are managed independentlyfromof the destination identified in the message carrying this Data Item, and the indicated FIDMAY<bcp14>MAY</bcp14> even be disjoint from the identified destination. </t> <t> Once the credit window is identified, the credit window sizeMUST<bcp14>MUST</bcp14> 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. </t> <t> No response is sent by the router to a modem after processing a Credit Window Grant Data Item received in a Credit Control Response Message. When a Credit Window Grant Data Item is received in other message types, the receiving routerMUST<bcp14>MUST</bcp14> send a Credit Window Status Data Item or items reflecting theresultingresultant 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<bcp14>MUST</bcp14> be sent in the corresponding Destination Up Response Message. Otherwise, a Credit Control MessageMUST<bcp14>MUST</bcp14> be sent. <!-- [rfced] Section 2.3.3: Does "a Credit Window Status Data Item or items" mean "one or more Credit Window Status Data Items" here, or does "or items" refer to some other types of items other than Data Items? We ask because we see "Credit Window Status Data Item(s)" in the next sentence. Original (the next sentence is included for context): When a Credit Window Grant Data Item is received in other message types, the receiving router MUST send a Credit Window Status Data Item or items reflecting the resulting Credit Window value of the updated credit window. When the Credit Grant Data Item is received in a Destination Up Message, the Credit Window Status Data Item(s) MUST be sent in the corresponding Destination Up Response Message. Perhaps: When a Credit Window Grant Data Item is received in other message types, the receiving router MUST send one or more Credit Window Status Data Items reflecting the resultant Credit Window value of the updated credit window. --> </t> </section> <section anchor="sec-di-status" numbered="true"> <name>Credit Window Status</name> <t> 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 ItemsMAY<bcp14>MAY</bcp14> be carried in a Destination Up Response Message or a Credit Control Response Message. As discussed in <xref target="sec-di-grant" format="default"/>, 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 WindowGrant,Grant Data Item, credit windows are identified using FID values that have been previouslybeensent by the modem. </t> <t> The format of the Credit Window Status Data Itemis:is as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 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 | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="true" spacing="normal"> <dt>Data Item Type:</dt><dd>Data Item Type (TBA7)</dd><dd>33</dd> <dt>Length:</dt> <dd> <t>12</t> <t> As specified in <xref target="RFC8175"/>, Length is the number of octets in the Data Item. ItMUST<bcp14>MUST</bcp14> be equal to twelve (12). If it is some other value, the Data Item iscorruptcorrupt, so the message in which it appears cannot be reliably parsed and is ignored. </t> </dd> <dt>Flow Identifier (FID):</dt> <dd> Atwo-octet2-octet flow identifier as defined by the Traffic Classification Data Item. The FID also uniquely identifies a credit window. </dd> <dt>Reserved:</dt> <dd> For the Credit Window Status DataItemItem, this reserved field is currently unused. ItMUST<bcp14>MUST</bcp14> be set to all zeros for this version of the Data Item anditis currently ignored on reception. This allows for future extensions of the Data Item if needed. </dd> <dt>Current Credit Window Size:</dt> <dd> A 64-bit unsignedinteger,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 <xref target="I-D.ietf-manet-credit-window" format="default"/>. </dd> </dl> <t> When receiving this Data Item, a modemMUST<bcp14>MUST</bcp14> identify the credit window indicated by the FID. If the FID is not known to the modem, itSHOULD<bcp14>SHOULD</bcp14> log this information and discard the Data Item. The method of logging is left to the modem implementation. As with the Credit Window Grant Data Item, the FIDMAY<bcp14>MAY</bcp14> be unrelated to theDestinationdestination indicated in the message carrying the Data Item. </t> <t> Once the credit window is identified, the modemSHOULD<bcp14>SHOULD</bcp14> check the received Current Credit Window Size field value against the outstanding credit window's available credits at the time the most recent Credit Window Initialization or Grant Data Item associated with the indicated FID was sent. If the difference in values is greater than what can be accounted for based on observed data frames, then the modemSHOULD<bcp14>SHOULD</bcp14> send a Credit Window Initialization Data Item to reset the associated credit window size to the modem's current view of the available credits. Asdefinedspecified in <xref target="sec-di-cwi" format="default"/>, Credit Window Initialization Data Items are sent in Session Update Messages. When multiple Data Items need to be sent, theySHOULD<bcp14>SHOULD</bcp14> be combined into a single message when possible. Alternatively, and also in cases where there are small differences, the modemMAY<bcp14>MAY</bcp14> adjust the values sent in Credit Window Grant Data Items to account for the reported Credit Window. </t> </section> <section anchor="sec-di-request" numbered="true"> <name>Credit Window Request</name> <t> 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 ItemsMAY<bcp14>MAY</bcp14> be present in a message. </t> <t> Credit windows are identified using a FID as defined in <xref target="sec-di-cwi" format="default"/>. Multiple FIDsMAY<bcp14>MAY</bcp14> be present to allow for the case where the routeridentifiesdetermines 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. <!-- [rfced] Section 2.3.5: Should "credit request" be "credit window request" as used generally elsewhere in the text? We don't see "credit request" used anywhere else in this document or group of documents (Cluster 541 / https://www.rfc-editor.org/cluster_info.php?cid=C541). Original: A special FID value, as defined below, is used to indicate that a credit request is being made across all queues. --> </t> <t> The format of the Credit Window Request Data Itemis:is as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flow Identifier (FID) [1] | Flow Identifier (FID) [2] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Flow Identifier (FID) [n] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="true" spacing="normal"> <dt>Data Item Type:</dt><dd>Data Item Type (TBA8)</dd><dd>34</dd> <dt>Length:</dt> <dd> <t>Variable</t> <t> As specified in <xref target="RFC8175"/>, Length is the number of octets in the Data Item, excluding the Type and Length fields. It is equal to the number of FID fields carried in the Data Item times 2 andMUST<bcp14>MUST</bcp14> be at least 2. If it is less than 2, the Data Item iscorruptcorrupt, so the message in which it appears cannot be reliably parsed and is ignored. <!-- [rfced] Section 2.3.5: We do not see a Type field in RFC 8175, but we see a "Data Item Type" field. May we update as suggested (per Section 11.3 ("DLEP Generic Data Item") of RFC 8175), to distinguish this definition from the definitions of Length in Sections 11.1 ("DLEP Signal Header") and 11.2 ("DLEP Message Header") of RFC 8175, which do not mention excluding a "Type" field? Original: As specified in [RFC8175], Length is the number of octets in the Data Item, excluding the Type and Length fields. Suggested: As specified in [RFC8175], Length is the number of octets in the Data Item, excluding the Data Item Type and Length fields. --> </t> </dd> <dt>Flow Identifier (FID):</dt> <dd> Atwo-octet2-octet flow identifier as defined by the Traffic Classification Data Item. The FID also uniquely identifies a credit window. The special valueof0xFFFF indicates that the request applies to all FIDs. When this special value is included, all other FID values included in the Data Item areredundantredundant, as the special value indicates all FIDs. </dd> </dl> <t> A modem receiving this Data ItemMUST<bcp14>MUST</bcp14> provide aCredit Incrementcredit window increment for the indicated credit windows via Credit Window Grant Data Items carried in a new Credit Control Message. Multiple values and queue indexesSHOULD<bcp14>SHOULD</bcp14> be combined into a single Credit Control Message when possible. Unknown FID valuesSHOULD<bcp14>SHOULD</bcp14> be logged and then ignored by the modem. The method of logging is left to the modem implementation. <!-- [rfced] Section 2.3.5: We changed "Credit Increment" to "credit window increment" here, as we could not find the initial-capitalized form elsewhere in this document, in the group (cluster) of related documents, or in any published RFC to date. This update is also in line with this sentence from Section 2.2.1: A modem receiving this message MUST respond with a Credit Control Response Message based on the received message and Data Item and the processing defined in Section 2.2.2, which will typically result in credit window increments being provided. Please let us know any objections. Original: 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. Currently: A modem receiving this Data Item MUST provide a credit window increment for the indicated credit windows via Credit Window Grant Data Items carried in a new Credit Control Message. --> </t> </section> </section> <section anchor="sec-mgmnt" numbered="true"> <name>Management Considerations</name> <t> This section provides several network management guidelinestofor implementations supporting the credit window mechanisms defined in this document. </t> <t> ModemsMAY<bcp14>MAY</bcp14> support the configuration of the number of credit windows (queues) to advertise to a router. </t> <t> Routers may have limits on the number of queues that they can support. They may even have limits on supported credit window combinations. For example,per destinationper-destination queues may not be supported at all. Whenmodem-providedcredit window information provided by a modem exceeds the capabilities of a router, the routerSHOULD<bcp14>SHOULD</bcp14> use a subset of the provided credit windows. Alternatively, a routerMAY<bcp14>MAY</bcp14> reset the session and indicate that the extension is not supported. In either case, any mismatch in capabilities <bcp14>SHOULD</bcp14> be reported to the user via normal network management mechanisms, such as the user interface or error logging. <!-- [rfced] Section 2.4: We changed "the mismatch of capabilities" to "any mismatch in capabilities" per draft-ietf-manet-dlep-ether-credit-extension. Please let us know any objections. Original: In either case, the mismatch of capabilities SHOULD be reported to the user via normal network management mechanisms, such as the user interface or error logging. Currently: In either case, any mismatch in capabilities SHOULD be reported to the user via normal network management mechanisms, such as the user interface or error logging. --> </t> <t> In all cases, if credit windows are in use, traffic for which credits are not availableMUST NOT<bcp14>MUST NOT</bcp14> be sent to the modem by the router. </t> </section> </section> <section anchor="sec-compat" numbered="true"> <name>Compatibility</name> <t> The messages and Data Items defined in this document will only be used when extensions require their use. </t> <t> The DLEP specification <xref target="RFC8175" format="default"/> defines the handling of unexpected appearances of any Data Items, including those defined in this document. </t> </section> <section anchor="sec-sec" numbered="true"> <name>Security Considerations</name> <t> This document introduces credit window control and flow mechanismstofor DLEP. These mechanisms expose vulnerabilities similar to existing DLEP messages. An example of a threat to which flow control might be susceptible is where a malicious actor masquerading as a DLEP peer could inject a Credit Window Initialization DataItem, whichItem that resizes a credit window to a value that results in a denial of service. Other possible threats aregivendiscussed in the Security Considerations section of <xref target="RFC8175" format="default"/> and are alsoapplicable to,applicable, but notspecific to,specific, to flow control. Thetransport layertransport-layer security mechanisms documented in <xref target="RFC8175" format="default"/>, with some updated references to external documents listed below, can be applied to this document. Implementations following the "networked deployment" model described inthe "Implementation Scenarios"Section <xref target="RFC8175" section="4" sectionFormat="bare">"Implementation Scenarios"</xref> of <xreftarget="RFC8175" format="default"/> SHOULDtarget="RFC8175"/> <bcp14>SHOULD</bcp14> refer to <xref target="BCP195" format="default"/> for additional details. The Layer 2 security mechanisms documented in <xref target="RFC8175" format="default"/> can also, with some updates, be applied to themechanismmechanisms defined in this document. Examples of technologies that can be deployed to secure the Layer 2 link include <xref target="IEEE-802.1AE"/> and <xref target="IEEE-8802-1X"/>. <!-- [rfced] Section 4: We had trouble following "some updated references to external documents listed below" in this paragraph. It appears that "external documents" is intended to refer to [BCP195], [IEEE-802.1AE], and [IEEE-8802-1X]. However, we see that [RFC8175] cites [IEEE-802.1X] ("IEEE Standards for Local and metropolitan area networks-Port-Based Network Access Control"), but this document cites [IEEE-8802-1X] ("IEEE/ISO/IEC International Standard-Telecommunications and exchange between information technology systems-Requirements for local and metropolitan area networks-Part 1X:Port-based network access control"). May we update as suggested? If not, please clarify the text. Original: The transport layer security mechanisms documented in [RFC8175], with some updated references to external documents listed below, can be applied to this document. Suggested: The transport layer security mechanisms documented in [RFC8175], along with the latest versions of [BCP195], [IEEE-802.1AE], and [IEEE-8802-1X] at the time of this writing, can be applied to this document. --> </t> </section> <section anchor="sec-iana" numbered="true"> <name>IANA Considerations</name><t> This document requests the assignment of several values by IANA. All assignments are to registries defined by <xref target="RFC8175" format="default"/>. </t><section anchor="sec-iana-msg" numbered="true"> <name>Message Type Values</name> <t>This document requests 2IANA has assigned two newassignments tovalues from the "Specification Required" range <xref target="RFC8126"/> in the DLEPMessage Registry named"Message Type Values"in the range with the "Specification Required" policy. The requested values are as follows:registry: </t><t keepWithNext="true"/><table anchor="table_msg" align="center"><name>Requested Message<name>Message Type Values</name> <thead> <tr> <th align="left">Type Code</th> <th align="left">Description</th> </tr> </thead> <tbody> <tr> <tdalign="left">TBA2</td>align="left">17</td> <td align="left">Credit Control</td> </tr> <tr> <tdalign="left">TBA3</td>align="left">18</td> <td align="left">Credit Control Response</td> </tr> </tbody> </table><t keepWithPrevious="true"/></section> <section anchor="sec-iana-di" numbered="true" toc="default"> <name>Data Item Values</name> <t>This document requestsIANA has assigned the followingnew assignments tovalues from the "Specification Required" range <xref target="RFC8126"/> in the DLEPData Item Registry named"Data Item Type Values"in the range with the "Specification Required" policy. The requested values are as follows:registry: </t><t keepWithNext="true"/><table anchor="table_di" align="center"><name>Requested Data<name>Data Item Values</name> <thead> <tr> <th align="left">Type Code</th> <th align="left">Description</th> </tr> </thead> <tbody> <tr> <tdalign="left">TBA4</td>align="left">30</td> <td align="left">Credit Window Initialization</td> </tr> <tr> <tdalign="left">TBA5</td>align="left">31</td> <td align="left">Credit Window Association</td> </tr> <tr> <tdalign="left">TBA6</td>align="left">32</td> <td align="left">Credit Window Grant</td> </tr> <tr> <tdalign="left">TBA7</td>align="left">33</td> <td align="left">Credit Window Status</td> </tr> <tr> <tdalign="left">TBA8</td>align="left">34</td> <td align="left">Credit Window Request</td> </tr> </tbody> </table><t keepWithPrevious="true"/></section> </section> </middle> <back> <displayreference target="I-D.ietf-manet-credit-window" to="Credit-Window-Extension"/> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8175.xml"/> <!-- draft-ietf-manet-dlep-traffic-classification (RFC 9892) --> <referenceanchor="I-D.ietf-manet-dlep-traffic-classification" target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-traffic-classification">anchor="RFC9892" target="https://www.rfc-editor.org/info/rfc9892"> <front> <title>Dynamic Link Exchange Protocol (DLEP) Traffic Classification Data Item</title> <authorfullname="Bow-Nan Cheng"initials="B."surname="Cheng">surname="Cheng" fullname="Bow-Nan Cheng"> <organization>MIT Lincoln Laboratory</organization> </author> <authorfullname="David Wiggins"initials="D."surname="Wiggins"/>surname="Wiggins" fullname="David Wiggins"> </author> <authorfullname="Lou Berger"initials="L."surname="Berger">surname="Berger" fullname="Lou Berger"> <organization>LabN Consulting, L.L.C.</organization> </author> <author initials="D." surname="Fedyk" fullname="Don Fedyk"initials="D." surname="Fedyk">role="editor"> <organization>LabN Consulting, L.L.C.</organization> </author> <dateday="19" month="November" year="2024"/>month='November' year='2025'/> </front> <seriesInfoname="Internet-Draft" value="draft-ietf-manet-dlep-traffic-classification"/>name="RFC" value="9892"/> <seriesInfo name="DOI" value="10.17487/RFC9892"/> </reference> </references> <references> <name>Informative References</name> <!-- draft-ietf-manet-dlep-da-credit-extension-21 (RFC 9894) --> <referenceanchor="I-D.ietf-manet-dlep-da-credit-extension" target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-da-credit-extension/">anchor="RFC9894" target="https://www.rfc-editor.org/info/rfc9894"> <front><title>DLEP DiffServ<title>Dynamic Link Exchange Protocol (DLEP) Diffserv Aware Credit Window Extension</title> <authorfullname="Bow-Nan Cheng"initials="B."surname="Cheng">surname="Cheng" fullname="Bow-Nan Cheng"> <organization>MIT Lincoln Laboratory</organization> </author> <authorfullname="David Wiggins"initials="D."surname="Wiggins"/>surname="Wiggins" fullname="David Wiggins"> </author> <authorfullname="Lou Berger"initials="L."surname="Berger">surname="Berger" fullname="Lou Berger"> <organization>LabN Consulting, L.L.C.</organization> </author> <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake 3rd"initials="D. E." surname="Eastlake">role="editor"> <organization>Independent</organization> </author> <dateday="15" month="December" year="2024"/>month="November" year="2025" /> </front> <seriesInfoname="Internet-Draft" value="draft-ietf-manet-dlep-da-credit-extension"/>name="RFC" value="9894"/> <seriesInfo name="DOI" value="10.17487/RFC9894"/> </reference> <!-- draft-ietf-manet-dlep-ether-credit-extension-09 (RFC 9895) --> <referenceanchor="I-D.ietf-manet-dlep-ether-credit-extension" target="https://datatracker.ietf.org/doc/draft-ietf-manet-dlep-ether-credit-extension/">anchor="RFC9895" target="https://www.rfc-editor.org/info/rfc9895"> <front><title>DLEP<title>Dynamic Link Exchange Protocol (DLEP) IEEE 802.1Q Aware Credit Window Extension</title> <authorfullname="David Wiggins"initials="D."surname="Wiggins"/>surname="Wiggins" fullname="David Wiggins"> </author> <authorfullname="Lou Berger"initials="L."surname="Berger">surname="Berger" fullname="Lou Berger"> <organization>LabN Consulting, L.L.C.</organization> </author> <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake 3rd"initials="D. E." surname="Eastlake">role="editor"> <organization>Independent</organization> </author> <dateday="15" month="December" year="2024"/>month="November" year="2025" /> </front> <seriesInfoname="Internet-Draft" value="draft-ietf-manet-dlep-ether-credit-extension"/>name="RFC" value="9895"/> <seriesInfo name="DOI" value="10.17487/RFC9895"/> </reference> <!-- draft-ietf-manet-credit-window-07 (Expired) --> <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-manet-credit-window.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2475.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8651.xml"/><referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195"><xi:includehref="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml"/>href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> <xi:includehref="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8996.xml"/> </referencegroup>href="https://bib.ietf.org/public/rfc/bibxml9/reference.BCP.0195.xml"/> <reference anchor="IEEE-802.1AE" target="https://ieeexplore.ieee.org/document/8585421"> <front> <title>IEEE Standard for Local and metropolitan area networks-Media Access Control (MAC) Security Amendment 4: MAC Privacy protection</title><author/><author> <organization>IEEE</organization> </author> <date month="December" year="2018"/> </front> <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8585421"/> </reference> <!-- [rfced] [IEEE-802.1AE]: The title listed here does not match the title found at the provided URL. Is the intent here to specifically point to Amendment 4 (in which case the citation string should be changed to [IEEE-802.1AEdk-2023] and the URL should be changed to <https://ieeexplore.ieee.org/document/10225636>), or would you prefer to list [IEEE-802.1AE] per draft-ietf-manet-dlep-traffic-classification-17? Original: [IEEE-802.1AE] "IEEE Standard for Local and metropolitan area networks- Media Access Control (MAC) Security Amendment 4: MAC Privacy protection", <https://ieeexplore.ieee.org/document/8585421>. As listed in the edited copy of draft-ietf-manet-dlep-traffic-classification-17: [IEEE-802.1AE] IEEE, "IEEE Standard for Local and metropolitan area networks-Media Access Control (MAC) Security", DOI 10.1109/IEEESTD.2018.8585421, IEEE Std 802.1AE-2018, December 2018, <https://ieeexplore.ieee.org/document/8585421>. --> <!-- [LB]: If authors don't want to list the 802.1AE amendment after all, pull the 802.1AE listing from draft-ietf-manet-dlep-traffic-classification-17.xml--> <reference anchor="IEEE-8802-1X" target="https://ieeexplore.ieee.org/document/9650828"> <front><title>8802-1X-2021 - IEEE/ISO/IEC<title>IEEE/ISO/IEC International Standard-Telecommunications and exchange between information technology systems--Requirements for local and metropolitan area networks--Part 1X:Port-based network access control</title><author/><author> <organization>IEEE</organization> </author> <date month="December" year="2021"/> </front> <seriesInfo name="DOI" value="10.1109/IEEESTD.2021.9650828"/> <seriesInfo name="IEEE Std" value="8802-1X-2021"/> </reference> </references> </references> <sectionnumbered="true"> <name>Acknowledgments</name> <t> 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. </t> <t> 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. </t> <t> Many useful comments were received from contributors to the MANET working group, notably Rick Taylor, Ronald in't Velt, David Black and Donald E. Eastlake. This document was derived from <xref target="I-D.ietf-manet-dlep-da-credit-extension" format="default"/> as a result of discussions at IETF 101. </t> </section> <sectionanchor="Tree" numbered="true" toc="default"> <name>Example DLEP Credit Flow Control and Traffic Classification Data Item Exchange</name> <t>Below<xref target="dlep-exchange" format="default"/> illustrates a credit flow control and traffic classification exchange between aRouterrouter and aModem.modem. TheModemmodem will initialize a number of queues with Credit Window Initialization Data Items, Credit Window Association DataItem(s)Item(s), and Traffic Classification Data Item(s) included in DLEP messages as outlined in this document. If the Data Items are successfully validated, traffic is mapped to the corresponding credit window on the router and forwarded when there are sufficient credits. Routers can periodically report the status of the credit window. Modems will send periodic updates with more credits as packets are transmitted.Routers may requestIf a router requires more credits for a particularwindow if the router requires more credits.window, it may request them. This document defineswindowcredit window flow information forflow Identifiers (FIDs)FIDs that map to the queues. <xreftarget="I-D.ietf-manet-dlep-traffic-classification"target="RFC9892" format="default"/> defines the Traffic Classification Sub-Data Items, such as DSCPs, that map to the FIDs. <!-- [rfced] Appendix B: We changed "traffic classification data sub items" to "Traffic Classification Sub-Data Items" per draft-ietf-manet-dlep-traffic-classification and the rest of this group (Cluster 541 / https://www.rfc-editor.org/cluster_info.php?cid=C541) of documents. Please let us know any objections. Original: [I-D.ietf-manet-dlep-traffic-classification] defines the traffic classification data sub items such as DiffServ code points that map to the FIDs. Currently: [RFC9892] defines the Traffic Classification Sub-Data Items, such as DSCPs, that map to the FIDs. --> </t> <figure anchor="dlep-exchange"align="left" suppress-title="false"> <name slugifiedName="dlep_exchange">Examplealign="left"> <name>Example DLEP TrafficClassification/CreditClassification / Credit Flow Exchange</name> <artwork name="" type=""align="center"align="left" alt=""><![CDATA[ Router Modem |<----------------DLEP Messages---------------| | Traffic Classification Data Item(s) | | Credit Window Association Data Item(s) | | Credit Window Initialization Data Item(s) | | | |============================================>| | Traffic | | | |<----------------DLEP Messages---------------| | Credit Window Grant Data Item(s) | T |============================================>| i | Traffic | m | | e |----------------DLEP Messages--------------->| | Credit Window Status Data Item(s) | | | | V |============================================>| | Traffic | | | |----------------DLEP Messages--------------->| | Credit Window Request Data Item(s) | | | |<------------------------------------------- | | Credit Window Grant Data Item(s) | | | |============================================>| | Traffic | | | ]]></artwork> </figure> </section> <section numbered="false"> <name>Acknowledgments</name> <t> We mourn the loss of <contact fullname="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. </t> <t> We had the honor of working too briefly with <contact fullname="David Wiggins"/> on this and related DLEP work. His contribution to the IETF and publication of the first and definitive open-source DLEP implementation have been critical to the acceptance of DLEP. We mourn his passing on November 26, 2023. We wish to recognize his guidance, leadership, and professional excellence. We were fortunate to benefit from his leadership and friendship. He shall be missed. </t> <t> Many useful comments were received from contributors to the MANET Working Group, notably <contact fullname="Rick Taylor"/>, <contact fullname="Ronald in 't Velt"/>, <contact fullname="David Black"/>, and <contact fullname="Donald E. Eastlake"/>. This document was derived from <xref target="RFC9894" format="default"/> as a result of discussions at IETF 101. </t> </section> </back> <!-- [rfced] Please review the "Inclusive Language" portion of the online Style Guide at <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>, and let us know if any changes are needed. Updates of this nature typically result in more precise language, which is helpful for readers. Note that our script did not flag any words in particular, but this should still be reviewed as a best practice. --> <!-- [rfced] Please let us know if any changes are needed for the following: a) The following terms were used inconsistently in this document. We chose to use the latter forms. Please let us know any objections. Additional Credit (field name, i.e., "Additional Credit:") / Additional Credits ("Additional Credits field") credit based flow control / credit-based flow control (added hyphen) Credit-Based Flow Control (in text) / credit-based flow control Credit Control message (2 instances) / Credit Control Message Credit Control Response message (1 instance) / Credit Control Response Message Credit Window size (1 instance, i.e., "a Credit Window size") / credit window size (7 instances, e.g., "an initial credit window size") (used generally throughout Section 2) data item / Data Item (per the rest of this document and per this group (cluster) of documents) different Credit windows / different credit windows Messages / messages ("common Messages", "No messages") (We changed "common Messages" to "common messages".) Window Association Data Item (2 instances in Appendix B) / Credit Window Association Data Item (10 instances in text, the table entry in the IANA Considerations section, and <https://www.iana.org/assignments/dlep-parameters/>) b) The following terms appear to be used inconsistently in this document. Please let us know which form is preferred. Credit Window / credit window (used generally, e.g., "associated Credit Window", "associated credit window", 'logical "Credit Window(s)s"') (Note: We also see 'logical "Credit Windows"' in draft-ietf-manet-dlep-da-credit-extension. Otherwise, all of the documents in this group of documents use the lowercase form "credit window" when used generally.) c) Please let us know how/if the following should be made consistent: Credit Grant Data Item (3 instances in text) / Credit Window Grant Data Item (~13 instances in text) / Grant Data Item (2 instances in text) ("each Grant Data Item", "or Grant Data Item") Suggested, assuming that these different forms all refer to the same type of Data Item: Credit Window Grant Data Item, per <https://www.iana.org/assignments/dlep-parameters/>. Alternatively, please let us know if the IANA entry needs to be changed (e.g., from "Credit Window Grant" to "Credit Grant" or simply "Grant", noting that any such change would not match the format of the other entries on the page.) --> </rfc>