--- 1/draft-ietf-manet-dlep-da-credit-extension-02.txt 2017-11-12 09:13:09.923913314 -0800 +++ 2/draft-ietf-manet-dlep-da-credit-extension-03.txt 2017-11-12 09:13:09.971914453 -0800 @@ -1,20 +1,20 @@ Network Working Group B. Cheng Internet-Draft D. Wiggins Intended status: Standards Track Lincoln Laboratory -Expires: May 3, 2018 L. Berger +Expires: May 15, 2018 L. Berger LabN Consulting, L.L.C. - October 30, 2017 + November 11, 2017 DLEP DiffServ Aware Credit Windowing Extension - draft-ietf-manet-dlep-da-credit-extension-02 + draft-ietf-manet-dlep-da-credit-extension-03 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 @@ -23,21 +23,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on May 3, 2018. + This Internet-Draft will expire on May 15, 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -50,47 +50,47 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 3. Extension Usage and Identification . . . . . . . . . . . . . 5 4. Data Plane Considerations . . . . . . . . . . . . . . . . . . 5 5. Extension Messages . . . . . . . . . . . . . . . . . . . . . 5 5.1. Credit Control Message . . . . . . . . . . . . . . . . . 5 5.2. Credit Control Response Message . . . . . . . . . . . . . 6 - 6. Extension Data Items . . . . . . . . . . . . . . . . . . . . 6 + 6. Extension Data Items . . . . . . . . . . . . . . . . . . . . 7 6.1. Credit Window Initialization . . . . . . . . . . . . . . 7 6.2. Credit Window Traffic Classification . . . . . . . . . . 9 6.2.1. Traffic Classification Sub Data Item . . . . . . . . 11 - 6.2.2. DiffServ Traffic Classification Sub Data Item . . . . 11 + 6.2.2. DiffServ Traffic Classification Sub Data Item . . . . 12 6.3. Credit Window Associate . . . . . . . . . . . . . . . . . 13 6.4. Credit Window Credit Grant . . . . . . . . . . . . . . . 14 - 6.5. Credit Window Status . . . . . . . . . . . . . . . . . . 15 + 6.5. Credit Window Status . . . . . . . . . . . . . . . . . . 16 6.6. Credit Window Request . . . . . . . . . . . . . . . . . . 17 7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 - 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 - 9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 18 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 + 9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 19 9.2. Message Values . . . . . . . . . . . . . . . . . . . . . 19 9.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 19 9.4. DLEP Sub Data Item Registry . . . . . . . . . . . . . . . 20 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 - 10.1. Normative References . . . . . . . . . . . . . . . . . . 20 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 + 10.1. Normative References . . . . . . . . . . . . . . . . . . 21 10.2. Informative References . . . . . . . . . . . . . . . . . 21 - Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 21 - Appendix B. Open and Resolved Issues . . . . . . . . . . . . . . 21 - B.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . . 21 + Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 22 + Appendix B. Open and Resolved Issues . . . . . . . . . . . . . . 22 + B.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . . 22 B.2. Supporting Router Limits . . . . . . . . . . . . . . . . 22 - B.3. Absolute vs Increment . . . . . . . . . . . . . . . . . . 22 + B.3. Absolute vs Increment . . . . . . . . . . . . . . . . . . 23 B.4. Bidirectional Flow - Control (closed) . . . . . . . . . . . . . . . . . . . . 22 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 + Control (closed) . . . . . . . . . . . . . . . . . . . . 23 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 1. Introduction The Dynamic Link Event Protocol (DLEP) is defined in [RFC8175]. It provides the exchange of link related control information between DLEP peers. DLEP peers are comprised of a modem and a router. DLEP defines a base set of mechanisms as well as support for possible extensions. This document defines one such extension. The base DLEP specification does not include any flow control @@ -137,22 +137,23 @@ 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 - [RFC8175]. When using this extension, data is allowed to be sent by - the router to the modem only when there are credits available. + [RFC8175]. When using this extension, data traffic is allowed to be + sent by the router to the modem only when there are credits + available. Credits are managed on a per 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 its credit windows and identify each via a "Credit Window Identifier", or "CID". In addition to the CID, credit window information includes an initial credit window size, 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. @@ -197,117 +198,129 @@ Item. The Extensions Supported Data Item is sent and processed according to [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. 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. + data traffic to a modem for forwarding when there are no credits + available in the associated Credit Window. This document defines + credit windows in octets. A credit window value MUST be larger than + the number of octets contained in a packet, including any MAC 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 Response 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 provide credit window - increases. For messages sent by modems, only one message can be - outstanding at one time. That is, a modem MUST NOT send a second (or - any subsequent) Credit Control Message until a Credit Control - Response Message is received from its peer router. + 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 (modem or router) MUST NOT send a second (or any + subsequent) Credit Control Message until a Credit Control Response + Message is received from its peer (router or modem). - 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. + Credit Control Messages are sent by modems to provide credit window + increases. Modems send credit increases when there is transmission + or local queue availability that exceeds the credit window value + previous provided to the router. Modems will need to balance the + load generated by sending and processing frequent credit window + increases against a router having data traffic available to send, but + no credits available. - [TBD: Should anything be said about sending, or limiting, multiple - credit requests?] + Credit Control Messages MAY be sent by routers to request credits and + provide window status. Routers will need to balance the load + generated by sending and processing frequent credit window requests + against a having data traffic available to send, but no credits + available. The Message Type value in the DLEP Message Header is set to TBA2. A message sent by a modem, MUST contain one or more Credit Window Grant Data Items as defined below in Section 6.4. A router receiving this message MUST respond with a Credit Control Response Message. - A message sent by a router, MUST contain the Credit Window Request - Data Item defined below in Section 6.6. A modem receiving this - message MUST process the received message and data item as defined - below, which will result in credit window increments being provided - via Credit Window Grant Data Items carried in one more more new - Credit Control Message. + A message sent by a router, MUST contain one or more Credit Window + Request Data Items defined below in Section 6.6 and SHOULD contain a + Credit Window Status Data Item, defined in Section 6.5, corresponding + to each credit window request. A modem receiving this message MUST + respond with a Credit Control Response Message based on the received + message and data item and the processing defined below, which will + typically result in credit window increments being provided. Specific processing associated with each Credit Data Item is provided below. 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. + current Credit Window for a destination. A message sent by a router, + MUST contain one or more Credit Window Status Data Items as defined + below in Section 6.5. Specific receive processing associated with + the Credit Window Window Status Data Item is provided below. - A message sent by a router, MUST contain one or more Credit Window - Status data items as defined below in Section 6.5. + Credit Control Response Messages sent by modems MUST contain one or + more Credit Window Credit Grant Data Items. A data item for every + Credit Window Request data item contained in the for Credit Control + Response Message sent by the router MUST be included. Each Grant + Data Item MAY provide zero or more additional credits based on a the + modem;s transmission or local queue availability. Specific receive + processing associated with each Grant Data Item is provided below. - Specific processing associated with the Credit Window Window Status - Data Item is provided below. + The Message Type value in the DLEP Message Header is set to TBA3. 6. Extension Data Items Six data items are defined by this extension. The Credit Window Initialization Data Item is used by a modem to identify a credit window and set its size. The Credit Window Traffic Classification Data Item is used by a modem to identify a set which identifies which DSCPs are mapped to a 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. The Credit Request is used by a router to request additional credits. The Credit Window Status is used to advertise the sender's view of number of available credits for state synchronization purposes. Any errors or inconsistencies encountered in parsing data items are - handled in the same fashion as any other Data Item parsing error + handled in the same fashion as any other data dtem 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 operations have similar objectives 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. Credit Window Initialization The Credit Window Initialization Data Item is used by a modem to - identify a credit window and set its size. This data item SHOULD be + identify a credit window and set its size. This Data Item SHOULD be included 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 identified credit windows or new credit windows MAY be sent by a modem by including the data item in Session Update Messages. More than one data item MAY be included in a message to provide information on multiple credit windows. The Credit Window Initialization Data Item identifies a credit window using a Credit Window Identifier, or CID. It also provides the size @@ -334,21 +347,21 @@ Data Item Type: TBA4 Length: 16 Per [RFC8175] Length is the number of octets in the data item, excluding the Type and Length fields. Credit Window Identifier (CID): A 16-bit unsigned integer identifying a credit window. The value - of 0xFFFFFFFF is reserved and MUST not be used in this Data Item. + of 0xFFFFFFFF is reserved and MUST not be used in this data item. There is no 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 the sender (a modem) and ignored by the receiver (a router). Credit Value: @@ -369,42 +382,42 @@ 3 GB - Gigabytes (MB/1024) Credit Window Size: A 24-bit unsigned integer representing the maximum size, in the octet scale indicated by the Scale field, of the associated credit window. A router that receives a Credit Window Initialization Data Item MUST locate the credit window that is associated with the CID indicated in - each received Data Item. If no associated credit window is found, + 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, + 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 + 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. @@ -458,36 +471,36 @@ 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 + 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 + 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 + 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... : @@ -557,49 +570,49 @@ +---+---+---+---+---+---+---+---+ | 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 + 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 + 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 + 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 + 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 a modem to associate traffic classification information with a destination. The traffic 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 the same message as the data item. A single Credit Window Associate Data Item MUST be included in all Destination Up and Destination Update Messages sent by a modem when the use of the extension defined in this document is agreed upon, see Section 3. - The format of the Credit Window Traffic Classification Data Item is: + The format of the Credit Window Associate Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length (2) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Traffic Class. Identifier (TID)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type: TBA6 @@ -612,39 +625,40 @@ 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 be treated as an error as described above. Once the + data item MUST be 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 The Credit Window Credit Grant data item is used by a modem to provide credits to a router. One or more Credit Window Grant Data Items MAY be carried in the DLEP Destination Up, Destination Announce - Response, Destination Update, and Credit Control Messages. Multiple - Credit Window Grant Data Items in a single message are used to - indicate different credit values for different credit windows. In - all message types, this data item provides an additional number of - octets to be added to the indicated credit window. Credit window are - identified via using 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 Data Item. + Response, Destination Update, Credit Control Messages, and Credit + Control Response Messages. Multiple Credit Window Grant Data Items + in a single message are used to indicate different credit values for + different credit windows. In all message types, this data item + provides an additional number of octets to be added to the indicated + credit window. Credit window are identified via using 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 data item. The format of the Credit Window Grant Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length (12) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit Window Identifier (CID)| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -664,61 +679,63 @@ 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 ignored. Additional Credit: A 64-bit unsigned integer representing the credits, in octets, to be added to the Credit Window. This value includes MAC headers as - seen on the link between the modem and router. + seen on the link between the modem and router. A value of zero + indicates that no additional credits are being provided. When receiving this data item, a router MUST identify the credit window indicated by the CID. If the CID is not known to the router, it SHOULD report or log this information and discard the Data Item. It is important to note that while this data item can be received in a destination specific message, credit windows are managed independently from the destination identified in the message carrying this Data Item, and the indicated CID MAY even be disjoint from the identified destination. Once the credit window is identified, the credit window size MUST be increased by the value contained in the Additional Credits field. If the increase results in a window overflow, i.e., the size of the credit window after the increase is smaller than the original credit window size, the Credit Window must be set to its maximum (0xFFFFFFFFFFFFFFFF). - Independent of the received message, the receiving router MUST send a - Credit Window 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 Window Status data item(s) MUST be sent in the - corresponding Destination Up Response Message. In all other cases, a - Credit Control Message MUST be sent. + No response is sent by the router to a modem after processing a + Credit Window Grant Data Item received in a Credit Control Response + Message. In other cases, the receiving router MUST send a Credit + Window Status data item or items reflecting the resulting Credit + Window value of the updated credit window. When the Credit Grant + data item is received in a Destination Up Message, the Credit Window + Status data item(s) MUST be sent in the corresponding Destination Up + Response Message. Otherwise, a Credit Control Message MUST be sent. 6.5. Credit Window Status The Credit Window Status data item is used by a router to report the current credit window size to its peer modem. One or more Credit Window Status data items MAY be carried in a Destination Up Response Message or a Credit Control Response Message. As discussed above, the Destination Up Response Message is used when the data item is sent in response to a Destination Up Message, and the Credit Control Response Message is sent in response to a Credit Control Message. - Multiple Credit Window Window Status data items in a single message - are used to indicated different sizes of different credit windows. - Similar to the Credit Window Grant, credit windows are identified - using CID values that have been previously been sent by the modem. + Multiple Credit Window Status data items in a single message are used + to indicated different sizes of different credit windows. Similar to + the Credit Window Grant, credit windows are identified using CID + values that have been previously been sent by the modem. - The format of the Credit Window Window Status Data Item is: + The format of the Credit 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 Identifier (CID)| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Credit Window Size : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -742,46 +759,45 @@ Credit Window Size: A 64-bit unsigned integer, indicating the current number of credits, in octets, available for the router to send to the modem. This is referred to as the Modem Receive Window in [I-D.ietf-manet-credit-window]. When receiving this data item, a modem MUST identify the credit window indicated by the CID. If the CID is not known to the modem, - it SHOULD report or log this information and discard the Data Item. + it SHOULD report or log this information and discard the data item. As with the Credit Window Grant Data Item, the CID MAY be unrelated - to the Destination indicated in the message carrying the Data Item. + to the 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 outstanding credit window's available credits at the time the most Credit Window Initialization or Grant data item associated with the indicated CID was sent. If the values significantly differ, i.e., greater than can be accounted for based on observed data frames, then the modem SHOULD send a Credit Window Initialization Data Item to reset the associated credit window size to the modem's current view of the available credits. As defined above, Credit Window Initialization Data Items are sent in Session Update Messages. When multiple data items need to be sent, they SHOULD be combined into a single message when possible. Alternatively, and also in cases where there are small differences, the modem MAY adjust the values sent in Credit Window Grant data items to account for the reported Credit Window. 6.6. Credit Window Request - The Credit Window Request Data Item 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 - only one Credit Window Request data item SHOULD be present in a - message. + The Credit Window Request Data Item is used by a router to request + additional credits for particular credit windows. Credit Window + Request Data Items are carried in Credit Control Messages, and one or + more Credit Window Request Data Items MAY be present in a message. Credit windows identified using a CID as defined above in Section 6.1. Multiple CIDs MAY be present to allow for the case where the router identifies that credits are needed in multiple credit windows. The special CID value of 0xFFFFFFFF is used to indicate that a credit request is being made across all queues. The format of the Credit Window Request Data Item is: 0 1 2 3