Network Working Group B. Cheng Internet-Draft D. Wiggins Intended status: Standards Track Lincoln Laboratory Expires:September 14, 2017May 3, 2018 L. Berger LabN Consulting, L.L.C.March 13,October 30, 2017 DLEP DiffServ Aware Credit Windowing Extensiondraft-ietf-manet-dlep-da-credit-extension-01draft-ietf-manet-dlep-da-credit-extension-02 Abstract This document defines an extension to the DLEP protocol that enables a DiffServ aware credit-windowing scheme for destination-specific and shared flow control. 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 athttp://datatracker.ietf.org/drafts/current/.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 onSeptember 14, 2017.May 3, 2018. Copyright Notice Copyright (c) 2017 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(http://trustee.ietf.org/license-info)(https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 3. Extension Usage and Identification . . . . . . . . . . . . .45 4. Data Plane Considerations . . . . . . . . . . . . . . . . . .45 5. Extension Messages . . . . . . . . . . . . . . . . . . . . .45 5.1. Credit Control Message . . . . . . . . . . . . . . . . .45 5.2. Credit Control Response Message . . . . . . . . . . . . .56 6. Extension Data Items . . . . . . . . . . . . . . . . . . . .56 6.1.Queue ParametersCredit Window Initialization . . . . . . . . . . . . . . 7 6.2. Credit Window Traffic Classification . . . . . . .6 6.2.. . . 9 6.2.1. Traffic Classification Sub Data Item . . . . . . . . 11 6.2.2. DiffServAware (DA)Traffic Classification Sub Data Item . . . . 11 6.3. Credit Window Associate . . . . . . . . . . . . . . . . . 13 6.4. Credit Window Credit Grant . . . . . . . . . . . .8 6.3. DiffServ Aware (DA). . . 14 6.5. Credit Window Status . . . . . . . .10 6.4. DiffServ Aware (DA). . . . . . . . . . 15 6.6. Credit Window Request . . . . . . . . . . .12. . . . . . . 17 7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . .1318 8. Security Considerations . . . . . . . . . . . . . . . . . . .1318 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . .1318 9.1. Extension Type Value . . . . . . . . . . . . . . . . . .1318 9.2. Message Values . . . . . . . . . . . . . . . . . . . . .1419 9.3. Data Item Values . . . . . . . . . . . . . . . . . . . .1419 9.4. DLEP Sub Data Item Registry . . . . . . . . . . . . . . . 20 10. References . . . . . . . . . . . . . . . . . . . . . . . . .1520 10.1. Normative References . . . . . . . . . . . . . . . . . .1520 10.2. Informative References . . . . . . . . . . . . . . . . .1521 Appendix A.Open and Resolved Issues . . . . .Acknowledgments . . . . . . . . .15 A.1. Merge with [I-D.ietf-manet-credit-window]. . . . . . . .15 A.2. Credit Windows Shared Across Destinations .. 21 Appendix B. Open and Resolved Issues . . . . . .16 A.3. Supporting Router Limits. . . . . . . . 21 B.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . .16 A.4. Absolute vs Increment21 B.2. Supporting Router Limits . . . . . . . . . . . . . . . . 22 B.3. Absolute vs Increment . .16 A.5. Alternate Format Encoding. . . . . . . . . . . . . . . .16 A.6.22 B.4. Bidirectional Flow Control (closed) . . . . . . . . . . . . . . . . . . . .1722 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .1722 1. Introduction The Dynamic Link Event Protocol (DLEP) is defined in[I-D.ietf-manet-dlep].[RFC8175]. It provides the exchange of link related control information between DLEP peers. DLEP peers are comprised of a modem and a router. DLEP defines a base set of mechanisms as well as support for possible extensions. This document defines one such extension. The base DLEP specification does not include any flow control capability. There are various flow control theoretically possible with DLEP. For example, a credit-windowing 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]. This document defines a DLEP extension which provides an alternate flow control mechanism forDiffServ [RFC2475]traffic sent from a router to a modem. Flow control isprovided for multiple DSCPs (differentiated services codepoint), which are grouped intoprovide using one or more logicalsets"Credit Windows", each oflogical queues. The extension defined in this document is referred to as "DiffServ Aware Credit Windowing" or, more simply, the "DA Credit" extension. This document defines a new DLEP Extension Type Value in Section 3whichis used to indicate thewill typically be supported by an associated virtual or physical queue. Traffic sent by a router will useoftraffic classification information provided by theextension.modem to identify which traffic is associated with each credit window. (For general background on traffic classification see [RFC2475] Section 2.3.) This document supports traffic classification based on DLEP destination and DiffServ [RFC2475] DSCPs (differentiated services codepoints). Credit windows may be shared or dedicated on a per {destination, DSCP} tuple basis. Said another way, the defined mechanism allows for credit windows to be shared across traffic sent to multiple DLEP destinations and DSCPs, or used exclusively for traffic sent to a particular destination and/or DSCP. The extension also supports the "wildcard" matching of any DSCP. The extension defined in this document is referred to as "DiffServ Aware Credit Windowing" or, more simply, the "DA Credit" extension. The extension is structured to allow for reuse of the defined credit window based flow control with traffic classification techniques other than DiffServ, e.g., IEEE 802.1 Q priority code points or even 5-tuple IP flows. This document defines a new DLEP Extension Type Value in Section 3 which is used to indicate the use of the extension. Two new messages are defined in Section 5, andfoursix new DLEP Data Items in Section 6. 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 BCP14, RFC 2119 [RFC2119].14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Extension Overview The DA Credit extension can be used to support credit based flow control of traffic sent from a router to a modem. The extension can be used to support DiffServ and non-DiffServ based flow control. Both types of DLEP endpoints, i.e., a router and a modem, negotiate the use of extension during session initialization, see Section 5.2[I-D.ietf-manet-dlep].[RFC8175]. When using this extension, data is allowed to be sent by the router to the modem only when there are credits available.When the extension is to be used,Credits are managed on amodem passesper logical "Credit Windows" basis. Each credit window can be thought of as corresponding to a queue within a modem. Modems pass to the router information on itsknown DSCPs, if any. DSCPs are grouped by logical queues,credit windows and identify eachof which are givenvia alogical queue index. The queue index zero (0) is special and is used for any DSCP value, including 0, which is not otherwise identified by"Credit Window Identifier", or "CID". In addition to themodem. The modem also provides aCID, credit window information includes an initial credit window size,in bytes,as well as the maximum size of the logical queue associated with each CID. The maximum size is included for informative and, potential, future uses.Currently, only DSCP to logical queue index value mapping is used in flow control operation. The DA Credit extension supports credit based flow controlAs mentioned above, traffic classification supported by this document is performed on a perMAC address destination, per queue index{destination, DSCP} tuple basis.Modems provideThis means that, routers need theinitial sizecombination of the DLEP identified destination and DSCP associated"Credit Window", i.e.,with a CID in order to match traffic it sends to specific credit windows. Modems provide theamountmapping of DSCPs to CIDs inoctets (bytes) that maysets, each of which is identified via a "Traffic Classification Identifier" or "TID". When a destination becomes reachable, a modem "Associates" (identifies) the TID to be used for traffic sent by the router tothe modem, whenthat destination. This use of CIDs, TIDs and association of aMACTID to a DLEP destinationbecomes reachable and, optionally, whenenables modem to share or dedicate resources as needed to match the specifics of its implementation and its attached transmission technology. Modems provide an initial credit window size at the time of "Credit Window Initialization". Such initialization can take place during session initiation or any point thereafter. It can also take place when rate information changes. Additional "CreditIncrements",Grants", i.e.,increases in aincrements to Credit Window size, are provided using a Destination Up or the new "Credit Control"messages.Message. A router provides its view of the Credit Window, which is known as"status","Status", in Destination Up Response and the new "Credit Control Response"messages.Messages. Routers can also request credits using the new "Credit Control"message. Credit information, both grants and status, is provided in new credit grant related data items. Each data item containsMessage. When modems provide credits to asingle credit value that appliesrouter, they will need toone or more queue indexes. Different (granttake into account any overhead of their attached transmission technology andstatus) values for different queue indexes can be providedmap it into the credit semantics defined ina single message by including multiple grant data items. The values indicate a number of octets (bytes), includingthis document. In particular, the credit window is defined below to include per frame (packet) MAC headersonand this may not match the actual overhead of therouter tomodemlink,attached transmission technology. In thatmaycase a direct mapping or an approximation will need to besent. Note that credit information relatedmade by the modem todifferent destination MAC addresses is always passed in different DLEP messages.provide appropriate credit values. 3. Extension Usage and Identification The use of the extension defined in this document SHOULD be configurable. To indicate that the DiffServ Aware Credit Windowing Extension is to be used, an implementation MUST include the DiffServ Aware Credit Windowing Type Value in the Extensions Supported Data Item. The Extensions Supported Data Item is sent and processed according to[I-D.ietf-manet-dlep].[RFC8175]. The DiffServ Aware Credit Windowing Extension Type Value is TBA1, see Section 9. 4. Data Plane Considerations When the use of the extension defined in this document is agreed upon per standard DLEP processing, see Section 3, a router MUST NOT send data to a modem for forwarding when there are no credits available in the associated Credit Window.5.This document defines credit windows in octets. A credit window value MUST be larger than the number of octets contained in a packet, including any MAC headers used between the router and the modem, in order for the router to send the packet to a modem for forwarding. The credit window is decremented by the number of sent octets. A router MUST identify the credit window associated with traffic sent to a modem based on the traffic classification information provided in the data items defined in this document. The definitions support identification based on DLEP destination and, at the modem's discretion, DSCPs. Note that routers will typically view a DLEP destination as the next hop. 5. Extension Messages Two new messages are defined by this extension: the Credit Control and the Credit Control Responsemessage.Message. Sending and receiving both message types MUST be supported by any implementation that advertises use of this extension per Section 3. 5.1. Credit Control Message Credit Control Messages are sent by modems to provideCredit Increments.credit window increases. For messages sent by modems, only one messageper MAC addresscan be outstanding at one time. That is, a modem MUST NOT send a second (or any subsequent)message containing the same MAC AddressCredit Control Message until a Credit Control ResponsemessageMessage is received from its peerrouter with that MAC address.router. Credit Control Messages MAY be sent by routers, e.g., to request credits or provide window status. No specific response message is required from a modem from a message transaction perspective. There is no restriction on when a router can send a Credit Control Message. [TBD: Should anything be said about sending, or limiting, multiple credit requests?] The Message Type value in the DLEP Message Header is set to TBA2.The message MUST contain a DLEP MAC Address Data Item.A message sent by a modem, MUST contain one or moreDiffServ AwareCredit Window Grantdata itemsData Items as defined below in Section6.2.6.4. A router receiving this message MUST respond with a Credit Control Response Message. A message sent by a router, MUST contain theDiffServ AwareCredit Window Requestdata itemData Item defined below in Section6.4.6.6. A modem receiving this message MUSTprovide a Credit Increment forprocess theindicated MAC addressreceived message andqueue indexesdata item as defined below, which will result in credit window increments being provided viaaCredit Window Grant Data Items carried in one more more new Credit Control Message. Specific processing associated with each Creditdata itemData Item is provided below. 5.2. Credit Control Response Message Credit Control Response Messages are sent by routers to report the current Credit Window for a destination. The Message Type value in the DLEP Message Header is set to TBA3.The message MUST contain a DLEP MAC Address Data Item.A message sent by a router, MUST contain one or moreDiffServ AwareCredit Window Status data items as defined below in Section6.3.6.5. Specific processing associated with theDACredit Window Window Statusdata itemData Item is provided below. 6. Extension Data ItemsFourSix data items are defined by this extension. TheQueue ParametersCredit Window Initialization Data Item is used by a modem toprovide information on the DSCPs it uses in forwarding.identify a credit window and set its size. TheDACreditGrantWindow Traffic Classification Data Item is used by a modem toprovide creditsidentify a set which identifies which DSCPs are mapped to arouter.credit window. The Credit Window Association Data Item is used by a modem to identify which traffic classification set 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. TheDACredit Request is used by a router to request additional credits. TheDACredit 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. The defined data items and operationsarehave similartoobjectives as those found in [I-D.ietf-manet-credit-window]. One notable difference from this extension is that in this document credits are never provided by the router to the modem. 6.1.Queue ParametersCredit Window Initialization TheQueue ParametersCredit Window Initialization Data Item is used by a modem toindicate DSCP values that may be independently controlled.identify a credit window and set its size. This data itemMUSTSHOULD be included inaany Session Initialization Response Message that also contains the DiffServ Aware Credit Windowing Extension Type Value in the Extensions Supported Data Item. Updates tothese parameterspreviously 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. TheQueue ParametersCredit Window Initialization Data Item identifiesDSCPs based on groups of logical queues. The number of logical queues is variable as isa credit window using a Credit Window Identifier, or CID. It also provides thenumbersize ofDSCPs associated with each queue. Athe identified credit window. Finally, a queue size (in bytes) is provided for informational purposes.An implementation that does not support DSCPs would indicate 1 queue with 0 DSCPs, and the number of bytesNote thatmayto be used, a CID must be listed inits associated link transmit queue.a Credit Window Traffic Classification Data Item. The format of theQueue ParametersCredit 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) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Num Queues | Scale |Credit Window Identifier (CID)| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Num DSCPs Q0(0)| Queue Size Q0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Num DSCPs Q1 | Queue Size Q1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Num DSCPs Q2 | Queue Size Q2|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Credit Value :...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : Credit Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Num DSCPs QnScale |QueueCredit Window SizeQn | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DS Field Q1 | DS Field Q1 | DS Field Q1 | DS Field Q2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... | DS Field Qn| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type: TBA4 Length:Variable16 Per[I-D.ietf-manet-dlep][RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields.Num Queues: An 8-bitCredit Window Identifier (CID): A 16-bit unsigned integerindicating the number of queues represented in the data item. This field MUST containidentifying a credit window. The value ofat least one (1). Note that0xFFFFFFFF is reserved and MUST not be used in thisnumberData Item. There isone larger thanno other restriction on values used by a modem, and there is no requirement for sequential or ordered values. Reserved: MUST be set to zero by thelargest queue index value includedsender (a modem) and ignored by the receiver (a router). Credit Value: A 64-bit unsigned integer representing the credits, in octets, to be applied to thedata item.Credit Window. This value includes MAC headers as seen on the link between the modem and router. Scale: An4-bit8-bit unsigned integer indicating the scale used in theQueueCredit Window Size fields. The valid values are: Value Scale ------------ 0 B - Bytes (Octets) 1 KB - Kilobytes (B/1024) 2 MB - Megabytes (KB/1024) 3 GB - Gigabytes (MB/1024)Reserved: MUST be set to zero by the sender (a modem) and ignored by the receiver (a router). Num DSCPs Qn: An 8-bit unsigned integer indicating the number of DSCPs associated with the indexed queue. Other than the special case covered in the next paragraph, this field MUST contain a value of at least one (1). Queue indexes start at zero (0) and the maximum queue index "Qn" is one less than the value carried in the Num Queues field. Queue indexes are implicit in the position in the data item. Queue index zero "Q0" is a special case. It is used for any traffic that does not carry a DSCP value represented in the data item. Therefore the value of the Queue index zero field, "Num DSCPs Q0", field MUST be zero (0). Queue Size Qn:Credit Window Size: A 24-bit unsigned integer representing the maximum size, in the octet scale indicated by the Scale field, of thequeue supporting traffic with the DSCPsassociatedwith the queue index. DS Field Qn: The data itemcredit window. A router that receives a Credit Window Initialization Data Item MUST locate the credit window that is associated with the CID indicated in each received Data Item. If no associated credit window is found, the router MUST initialize a new credit window using the values carried in the Data Item. When an associated credit window is found, the router MUST update the credit window using the values carried in the Data Item. It is worth noting, that such updates can result in a credit window size being reduced, for example, due to a transmission rate change on the modem. 6.2. Credit Window Traffic Classification The Credit Window Traffic Classification Data Item is used by a modem to provide information to enable router to identify the credit window associated with traffic the router sends. Each data item includes a set of credit windows and provides traffic classification for each window. The data item is defined to support classification based on DSCPs, but is designed to be extensible for future traffic classification types. The data item is not required to provide full traffic classification information. In the context of the definition included in this document, the DLEP destination address needed to complete the traffic classification information is provided by a modem when it identifies the traffic classification set in a Destination Up message using the Credit Window Associate Data Item defined below. The Credit Window Traffic Classification Data Item SHOULD be included by a modem in any Session Initialization Response Message that also contains the DiffServ Aware Credit Windowing Extension Type Value in the Extensions Supported Data Item. Updates to previously provided traffic classifications or new traffic classifications 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 traffic classifiers. The set of traffic classification information provided in the data item is identified using a Traffic Classification Identifier, or TID. Addition information, e.g., the list DSCPs associated with a credit window, is provided in a variable series of Queue Parameter sub-data items. Note that to be used, a TID must be listed in a Credit Window Associate Data Item. The format of the Credit Window Traffic Classification Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Traffic Class. Identifier (TID)| Num SDIs | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Traffic Classification Sub Data Item 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Traffic Classification Sub Data Item n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type: TBA5 Length: Variable Per [RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields. Traffic Classification Identifier (TID): A 16-bit unsigned integer identifying a traffic classification set. There is no restriction on values used by a modem, and there is no requirement for sequential or ordered values. Num SDIs: An 8-bit unsigned integer indicating the number of Traffic Classification Sub Data Items included in the data item. A value of zero (0) is allowed and indicates that no traffic should be matched against this TID. Reserved: MUST be set to zero by the sender (a modem) and ignored by the receiver (a router). Traffic Classification Sub Data Item: Zero or more Traffic Classification Sub Data Items of the format defined below MAY be included. The number MUST match the value carried in the Num SDIs field. A router receiving the Traffic Classification Data Item MUST locate the traffic classification information that is associated with the TID indicated in each received Data Item. If no associated traffic classification information is found, the router MUST initialize a new information set using the values carried in the Data Item. When associated traffic classification information is found, the router MUST update the information using the values carried in the Data Item. In both cases, a router MUST also ensure that any data plane state, see Section 4, that is associated with the TID is updated as needed. 6.2.1. Traffic Classification Sub Data Item All Traffic Classification Sub Data Items share a common format that is patterned after the standard DLEP data item format, see [RFC8175] Section 11.3. There is no requirement on, or meaning to Sub Data Item ordering. Any errors or inconsistencies encountered in parsing Sub Data Items are handled in the same fashion as any other Data Item parsing error encountered in DLEP. The format of the Traffic Classification Sub Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub Data Item Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sub Data Item Type: A 16-bit unsigned integer that indicates the type and corresponding format of the data item's Value field. Sub Data Item Types are managed according to the IANA registry described in Section 9.4. Length: Variable Copying [RFC8175], Length a 16-bit unsigned integer that is the number of octets in the sub data item, excluding the Type and Length fields. 6.2.2. DiffServ Traffic Classification Sub Data Item The DiffServ Traffic Classification Sub Data Item is used to identify the DSCPs associated with a specific credit window. Credit windows are identified using CID values that have been previously been sent by the modem or are listed in a Credit Window Initialization Data Item carried in the same messages as the sub data item. DSCPs are identified in a list of DiffServ fields. An implementation that does not support DSCPs, and wants to use credit window flow control for all traffic to a destination or destinations, would indicate with 0 DSCPs. The format of the DiffServ Traffic Classification Sub Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Must be two (2) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit Window Identifier (CID)| Num DSCPs | DS Field 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DS Field 2 | ... | DS Field n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Length: Variable Length is the number of octets in the sub data item. It is equal to seven (7) plus the value of the Num DSCPs field. Credit Window Identifier (CID): A 16-bit unsigned integer identifying a credit window that has been identified in a Credit Window Initialization Data Item, see Section 6.1. Unknown CID values SHOULD be reported and result in associated traffic being dropped. Num DSCPs: An 8-bit unsigned integer indicating the number of DSCPs carried in the sub data item. A zero (0) indicates a (wildcard) match against any DSCP value. DS Field: Each DS Field is an 8-bit whose definition is the same as [RFC2474]. 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | CU | +---+---+---+---+---+---+---+---+ DSCP: differentiated services codepoint CU: currently unused, MUST be zero A router receiving the DiffServ Traffic Classification Sub Data Item MUST validate the information on receipt prior to the information and data plan update described earlier in this section. The credit window associated with the CID indicated in each Data Item must be located. It is important to note that the CID value may be present in a Credit Window Initialization Data Item carried in the same message as the Sub Data Item. If the CID is not located, the it MUST be treated as an error as described above. In the case there are no unknown CIDs, the receiver MUST ensure that each DS Field value is listed only once across the whole Credit Window Traffic Classification Data Item. Note, this check is across the Data Item and not the individual Sub Data Item. If the same DS Field value is listed more than once within the same Credit Window Traffic Classification Data Item, the Data Item MUST be treated as an error as described above. 6.3. Credit Window Associate The Credit Window Associate Data Item is used by asequence of 8 bit DS Fields.modem to associate traffic classification information with a destination. Thepositiontraffic classification information is identified using a TID value that has been previously been sent by the modem or is listed in a Credit Window Traffic Classification Data Item carried in thesequence identifiessame message as theassociated queue index. The number of DS Fields present should equaldata item. A single Credit Window Associate Data Item MUST be included in all Destination Up and Destination Update Messages sent by a modem when thesumuse ofall Num DSCPs field values. The DS Field structurethe extension defined in this document is agreed upon, see Section 3. The format of thesame as [RFC2474].Credit Window Traffic Classification Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7+---+---+---+---+---+---+---+---+8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DSCPData Item Type |CULength (2) |+---+---+---+---+---+---+---+---+ DSCP: differentiated services codepoint CU: currently unused,+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Traffic Class. Identifier (TID)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type: TBA6 Length: 2 Per [RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields. Traffic Classification Identifier (TID): A 16-bit unsigned integer identifying a traffic classification set that has been identified in a Credit Window Traffic Classification Data Item, see Section 6.2. Unknown TID values SHOULD be reported and result in associated traffic being dropped. A router that receives the Credit Window Associate Data Item MUST locate the traffic classification information indicated by the received TID. If no corresponding information can be located, the Data Item MUST bezero 6.2. DiffServ Aware (DA)treated as an error as described above. Once the traffic classification information is located, it MUST be associated with the destination and the router MUST ensure that any data plane state, see Section 4, that is associated with the TID is updated as needed. 6.4. Credit Window Credit Grant TheDiffServ Aware, or DA,Credit Window Credit Grant data item is used by a modem to provide credits to a router. One or moreDACredit Window Grantdata itemsData Items MAY be carried in the DLEP Destination Up, Destination Announce Response, Destination Update, and Credit Controlmessages.Messages. MultipleDACredit Window Grantdata itemsData Items in a single message are used toindicatedindicate different credit values for differentlogical queues.credit windows. InDestination type messages, this data item provides the total number of octets available in the Credit Window to the destination indicated in theall messagefor the specified logical queues. In the Credit Control message,types, this data item provides an additional number of octets to be added to theCredit Window to the destinationindicatedin the message for the specified logical queues. Logical queuescredit window. Credit window are identified via usinga Queue Index as defined above in Section 6.1. Multiple Queue Indexes MAY be present to allow forusing CID values that have been previously been sent by thecase where same credit information applies to multiple queues. As mentioned above, multiple DAmodem or are listed in a CreditGrantWindow Initialization DataItems MAY be present to provide different queue-specific credit informationItem carried inone message. The special Queue Index value of 255 is used to indicate thatthecredit information applies to all queues.same messages as the Data Item. The format of theDACredit 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) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CreditValue | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit valueWindow Identifier (CID)| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Queue Index | ...Additional Credits : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ :... | Queue IndexAdditional Credits | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type:TBA5TBA7 Length:Variable12 Per[I-D.ietf-manet-dlep],[RFC8175], Length is the number of octets in the data item, excluding the Type and Length fields. It will equal 8 plus the number ofQueue IndexCID fields carried in the data item and MUST be at least 9. CreditValue:Window Identifier (CID): A 16-bit unsigned integer identifying a credit window that has been identified in a Credit Window Initialization Data Item, see Section 6.1. Unknown CID values SHOULD be reported and ignored. Additional Credit: A 64-bit unsigned integer representing the credits, in octets, to beappliedadded to the Credit Window. This valueincludes MAC headers as seen on the link between the modem and router. Queue Index: One or more 8-bit fields used to indicate a queue index defined by a Queue Parameters Data Item. The special value of 255 indicates thatincludes MAC headers as seen on theinformation inlink between thedata item applies to all queue indexes. Receive processing ofmodem and router. When receiving this dataitemitem, a router MUST identify the credit window indicated by the CID. If the CID isbased onnot known to themessage in whichrouter, it SHOULD report or log this information and discard the Data Item. It iscarried. Whenimportant to note that while this data itemiscan be received in aDestination typedestination specific message, credit windows are managed independently from theCredit Window of the indicateddestinationMAC addressidentified in the message carrying this Data Item, and the indicatedqueue indexes MUSTCID MAY even beset todisjoint from thevalue contained inidentified destination. Once theCredit Value field. When this data itemcredit window isreceived in a Credit Control message, the Credit Window ofidentified, theindicated destination MAC address and indicated queue indexescredit window size MUST be increased by the value contained in theCredit ValueAdditional Credits field. If the increase results in a window overflow, i.e., theCredit Window resultingsize of the credit window after the increase is smaller than the originalCredit Window,credit window size, the Credit Window must be set to its maximum (0xFFFFFFFFFFFFFFFF). Independent of the received message, the receiving router MUST send aDACredit Window Window Status data item or items reflecting the resulting Credit Window value ofeach modified queue index.the updated credit window. When the Credit Grant data item is received in a Destination Upmessage,Message, theDACredit Window Window Status data item(s) MUST be sent in the corresponding Destination Up Responsemessage.Message. In all other cases,thea Credit ControlmessageMessage MUST be sent.6.3. DiffServ Aware (DA)6.5. Credit Window Status TheDiffServ Aware, or DA,Credit Window Status data item is used by a router to report the currentCredit Windowcredit window size to its peer modem. One or moreDACredit Window Status data items MAY be carried in a Destination Up ResponsemessageMessage or a Credit Control Responsemessage.Message. As discussed above, the Destination Up ResponsemessageMessage is used when the data item is sent in response to a Destination Upmessage,Message, and the Credit Control ResponsemessageMessage is sent in response to a Credit Controlmessage.Message. MultipleDACredit Window Window Status data items in a single message are used to indicated differentcredit window values for different logical queues. Similar to the DA Credit Grant, logical queues are identified using a Queue Index as defined above in Section 6.1. Multiple Queue Indexes MAY be present to allow for the case where same credit information applies to multiple queues. Multiple DA Credit Window Status Data Items are used to providesizes of differentqueue-specificcreditwindow information in one message. The special Queue Index value of 255 is used to indicate thatwindows. Similar to the Credit Windowinformation applies to all queues.Grant, credit windows are identified using CID values that have been previously been sent by the modem. The format of theDACredit Window Window Status Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length (12) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit Window: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : Credit WindowIdentifier (CID)| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Queue Index | ...Credit Window Size : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ :... | Queue IndexCredit Window Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type:TBA6TBA8 Length:Variable12 Per[I-D.ietf-manet-dlep][RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields. It will equal 8 plus the number ofQueue IndexCID fields carried in the data item and MUST be at least 9. CreditWindow:Window Identifier (CID): A 16-bit unsigned integer identifying a credit window that has been identified in a Credit Window Initialization Data Item, see Section 6.1. 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].Queue Index: One or more 8-bit fields used to indicateWhen receiving this data item, aqueue index definedmodem MUST identify the credit window indicated bya Queue Parametersthe CID. If the CID is not known to the modem, it SHOULD report or log this information and discard the Data Item.The special value of 255 indicates thatAs with theinformation inCredit Window Grant Data Item, thedata item appliesCID MAY be unrelated toall queue indexes. The receivingthe Destination indicated in the message carrying the Data Item. Once the credit window is identified, the modem SHOULD check the received Credit Window Size field value against the outstandingcreditscredit window's available credits at the time thelastmost CreditIncrementWindow Initialization or Grant data item associated with the indicatedMAC address and Queue Indexes wereCID 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 aDestination Update message carrying a DACreditGrant data itemWindow Initialization Data Item to reset the associatedCredit Window(s)credit window size to the modem's current view of the available credits. As defined above, Credit Window Initialization Data Items are sent in Session Update Messages. When multiple dataitem indicated value. Multiple values and queue indexesitems need to be sent, they SHOULD be combined into a singleDestination Update Controlmessage when possible. Alternatively, and also in cases where there are small differences, the modem MAY adjust the values sent inDACredit Window Grant data items to account for the reported Credit Window.6.4. DiffServ Aware (DA)6.6. Credit Window Request TheDiffServ Aware, or DA,Credit Window Request Data Item data item is used by a router to request additional credits fora specific destination and Queue Index associated Credit window. DAparticular credit windows. Credit Window Requestdata itemsData Items are carried in Credit Controlmessages,Messages, and only oneDACredit Window Request data item SHOULD be present in a message.Logical queues areCredit windows identified using aQueue IndexCID as defined above in Section 6.1. MultipleQueue IndexesCIDs MAY be present to allow for thecase where the credit request applies tocase where the router identifies that credits are needed in multiplequeues.credit windows. The specialQueue IndexCID value of2550xFFFFFFFF is used to indicate that a credit request is being made across all queues. The format of theDACredit 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Queue Index |Credit Window Identifier (CID)| ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... |Queue Index |Credit Window Identifier (CID)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ [LB note: a list ofQueue IndexesCIDs is now supported as is special value 255.] Data Item Type:TBA7TBA9 Length: Variable Per[I-D.ietf-manet-dlep][RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields. It will equal the number ofQueue IndexCID fields carried in the data item and MUST be at least 1.Queue Index:Credit Window Identifier (CID): One or more8-bit16-bit fields used to indicate aqueue index defined bycredit window that has been identified in aQueue ParametersCredit Window Initialization DataItem.Item, see Section 6.1. The special value of2550xFFFFFFFF indicates that the request applies to allqueue indexes.CIDs. A modem receiving this data item MUST provide a Credit Increment for the indicatedMAC address and queue indexescredit windows viaa DACredit Window Grant Data Items carried in a new Credit Control Message. Multiple values and queue indexes SHOULD be combined into a single Credit ControlmessageMessage when possible. Unknown CID values SHOULD be reported or logged and then ignored by the modem. 7. Compatibility Sessions established with both peers identified as supporting the DiffServ Aware Credit Windowing Extension Type, see Section 3,SHOULDMUST NOT use the [I-D.ietf-manet-credit-window] defined Credit data items. If a node supporting the extension defined in this document, receives a [I-D.ietf-manet-credit-window] defined data item, the recipient MUSTtreatignore the receivedcredit information as applying to Queue Index zero (0).information. 8. Security Considerations The extension introduces a DiffServ awareness to the mechanisms defined in [I-D.ietf-manet-credit-window]. The extension does not inherently introduce any additional threats above those documented in[I-D.ietf-manet-dlep].[RFC8175]. The approach taken to Security in that document and [I-D.ietf-manet-credit-window] apply equally when running the extension defined in this document. 9. IANA Considerations This document requests the assignment of 5 values by IANA. All assignments are to registries defined by[I-D.ietf-manet-dlep].[RFC8175]. 9.1. Extension Type Value This document requests 1 new assignment to the DLEP Extensions Registry named "ExtensionTyoeType Values" in the range with the "Specification Required" policy. The requested value is as follows: +------+---------------------------------+ | Code | Description | +------+---------------------------------+ | TBA1 | DiffServ Aware Credit Windowing | +------+---------------------------------+ Table 1: Requested Extension Type Value 9.2. Message Values This document requests 2 new assignments to the DLEP Message Registry named "Message Values" in the range with the "Specification Required" policy. The requested values are as follows: +-----------+-------------------------+ | Type Code | Description | +-----------+-------------------------+ | TBA2 | Credit Control | | | | | TBA3 | Credit Control Response | +-----------+-------------------------+ Table 2: Requested Message Values 9.3. Data Item Values This document requests4the following new assignments to the DLEP Data Item Registry named "Data Item Values" in the range with the "Specification Required" policy. The requested values are as follows:+-----------+-------------------------++-----------+--------------------------------------+ | Type Code | Description |+-----------+-------------------------++-----------+--------------------------------------+ | TBA4 |Queue ParametersCredit Window Initialization | | | | | TBA5 |DACreditGrantWindow Traffic Classification | | | | | TBA6 |DACredit WindowStatusAssociation | | | | | TBA7 |DA Credit RequestCredit Window Grant | | | | | TBA8 | Credit Window Status | | | | | TBA9 | Credit Window Request | +-----------+--------------------------------------+ Table 3: Requested Data Item Values 9.4. DLEP Sub Data Item Registry Upon approval of this document, IANA is requested to create a new DLEP registry, named "Sub Data Item Type Values". The registry shall identify the type code value, the Data Item which may use the value, and a description of the value. While the same value may be reused in different data items, this is not recommended at this time. The following table provides initial registry values and the [RFC8126] defined policies that should apply to the registry: +-------------+-----------------------------+-----------------------+ | Type Code | Valid Data Items | Description | +-------------+-----------------------------+-----------------------+ | 0 | N/A | Reserved | | | | | | 1 | N/A | Reserved (for pause | | | | sub-DI) | | | | | | 2 | (TBD4) Credit Window | DiffServ Traffic | | | Traffic Classification | Classification | | | | | | 2-65407 | | Specification | | | | Required | | | | | | 65408-65534 | | Private Use | | | | | | 65535 | | Reserved |+-----------+-------------------------++-------------+-----------------------------+-----------------------+ Table3: Requested Data Item4: Initial Registry Values 10. References 10.1. Normative References[I-D.ietf-manet-dlep] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. Berry, "Dynamic Link Exchange Protocol (DLEP)", draft- ietf-manet-dlep-28 (work in progress), March 2017.[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,<http://www.rfc-editor.org/info/rfc2119>.<https://www.rfc-editor.org/info/rfc2119>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, DOI 10.17487/RFC8175, June 2017, <https://www.rfc-editor.org/info/rfc8175>. 10.2. Informative References [I-D.ietf-manet-credit-window] Ratliff, S., "Credit Windowing extension for DLEP", draft- ietf-manet-credit-window-07 (work in progress), November 2016. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, DOI 10.17487/RFC2474, December 1998,<http://www.rfc-editor.org/info/rfc2474>.<https://www.rfc-editor.org/info/rfc2474>. [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,<http://www.rfc-editor.org/info/rfc2475>.<https://www.rfc-editor.org/info/rfc2475>. [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>. Appendix A. Acknowledgments The sub data item format was inspired by Rick Taylor's "Data Item Containers". He also proposed the separation of credit windows from traffic classification at IETF98. Appendix B. Open and Resolved Issues This section captures issues that are open or have been addressed since the document has become a WG draft. This section will be removed before submission for publication.A.1.B.1. Merge with [I-D.ietf-manet-credit-window] There has been discussion within the WG that this document should be merged with [I-D.ietf-manet-credit-window]. The timing of this is TBD. The authors would like to reach closure on some of the remaining open issues before embarking on this merge, but are open to discussion with the WG and other authors.A.2. Credit Windows Shared Across Destinations The DA Credit Extension supports credit windows per mac destination. Some media technologies share queues across all, or even some set of, destinations and supporting an associated set of credit windows isn't currently supported. Supporting credit windows per modem, i.e., for a single transmit channel, is clearly required and needs to be supported. Credit windows for sets of mac addresses should also be considered and discussed within the working group, both from a requirements and support perspective. This issue was reported by Stan Ratliff <ratliffstan@gmail.com>. A.3.B.2. Supporting Router Limits Routers may have limits on the number of queues that they can support and, perhaps, if per destination queues can even be supported at all. There is no current way for a router to communicate these limits to a modem or for a router to indicate that the identified queue information cannot be supported. Support for these cases clearly needs to be addressed. This issue was reported by Stan Ratliff <ratliffstan@gmail.com>.A.4.B.3. Absolute vs Increment Stan Ratliff <ratliffstan@gmail.com> suggested an approach to simplify credit synchronization and re-synchronization by always passing the credit window size rather than credit window increments. This is an interesting idea that needs to be explored and perhaps experimented with.A.5. Alternate Format Encoding The format of the Queue Parameters Data Item is a bit cumbersome and there has been some discussion of a possible better way of encoding lists and optional information elements within Data Items. There has been some discussion of developing a generic mechanisms for use by DLEP and future DLEP Data Items. Such a definition is beyond the scope of this document, but if such becomes available there is every reason for this document to leverage this improved encoding. This issue will remain open until such a time as there is a such a definition within the WG or this document is otherwise ready for publication. This issue was independently raised by both David Wiggins (co-author) and Rick Taylor <rick@tropicalstormsoftware.com>. A.6.B.4. Bidirectional Flow Control (closed) One of the key differences between this draft and [I-D.ietf-manet-credit-window] is that this document only supports flow control in one direction, i.e., for traffic sent from a router to a modem, while the other credit-window draft supports it in both directions. This was a conscious choice, made out of the desire to keep the extension as simple as possible and to provide what is really expected to be used. Clearly the reason for being able to control traffic that is sent from the router to the modem/radio is pretty easily understood. Also, while bidirectional flow control existed in pre-dlep solutions, it wasn't really used. There is also no reason why router to modem flow control can't be defined at a later time - once there is an actual need. Based on a brief discussion on the WG list, and the absence of any advocates for bidirectional flow control, there is no current plan to add bidirectional flow control to this document. Authors' Addresses Bow-Nan Cheng Lincoln Laboratory Massachusetts Institute of Technology 244 Wood Street Lexington, MA02420-910802421-6426 Email: bcheng@ll.mit.edu David Wiggins Lincoln Laboratory Massachusetts Institute of Technology 244 Wood Street Lexington, MA02420-910802421-6426 Email: David.Wiggins@ll.mit.edu Lou Berger LabN Consulting, L.L.C. Email: lberger@labn.net