idnits 2.17.1 draft-ietf-manet-dlep-credit-flow-control-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 4, 2020) is 1231 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-16) exists of draft-ietf-manet-dlep-da-credit-extension-09 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group B. Cheng 3 Internet-Draft D. Wiggins 4 Intended status: Standards Track MIT Lincoln Laboratory 5 Expires: June 7, 2021 L. Berger 6 LabN Consulting, L.L.C. 7 S. Ratliff 8 December 4, 2020 10 DLEP Credit-Based Flow Control Messages and Data Items 11 draft-ietf-manet-dlep-credit-flow-control-07 13 Abstract 15 This document defines new Dynamic Link Exchange Protocol (DLEP) Data 16 Items that are used to support credit-based flow control. Credit 17 window control is used to regulate when data may be sent to an 18 associated virtual or physical queue. The Data Items are defined in 19 an extensible and reusable fashion. Their use will be mandated in 20 other documents defining specific DLEP extensions. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on June 7, 2021. 39 Copyright Notice 41 Copyright (c) 2020 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Credit Window Control . . . . . . . . . . . . . . . . . . . . 3 59 2.1. Data Plane Considerations . . . . . . . . . . . . . . . . 5 60 2.2. Credit Window Messages . . . . . . . . . . . . . . . . . 5 61 2.2.1. Credit Control Message . . . . . . . . . . . . . . . 5 62 2.2.2. Credit Control Response Message . . . . . . . . . . . 6 63 2.3. Credit Window Control Data Items . . . . . . . . . . . . 7 64 2.3.1. Credit Window Initialization . . . . . . . . . . . . 7 65 2.3.2. Credit Window Associate . . . . . . . . . . . . . . . 9 66 2.3.3. Credit Window Grant . . . . . . . . . . . . . . . . . 10 67 2.3.4. Credit Window Status . . . . . . . . . . . . . . . . 12 68 2.3.5. Credit Window Request . . . . . . . . . . . . . . . . 13 69 2.4. Management Considerations . . . . . . . . . . . . . . . . 14 70 3. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 14 71 4. Security Considerations . . . . . . . . . . . . . . . . . . . 15 72 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 73 5.1. Message Values . . . . . . . . . . . . . . . . . . . . . 15 74 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 15 75 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 76 6.1. Normative References . . . . . . . . . . . . . . . . . . 16 77 6.2. Informative References . . . . . . . . . . . . . . . . . 16 78 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 17 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 81 1. Introduction 83 The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. 84 It provides the exchange of link related control information between 85 DLEP peers. DLEP peers are comprised of a modem and a router. DLEP 86 defines a base set of mechanisms as well as support for possible 87 extensions. DLEP defines Data Items which are sets of information 88 that can be reused in DLEP messaging. The base DLEP specification 89 does not include any flow identification beyond DLEP endpoints or 90 flow control capability. There are various flow control techniques 91 theoretically possible with DLEP. For example, a credit-window 92 scheme for destination-specific flow control which provides aggregate 93 flow control for both modem and routers has been proposed in 94 [I-D.ietf-manet-credit-window], and a control plane pause based 95 mechanism is defined in [I-D.ietf-manet-dlep-pause-extension]. 97 This document defines DLEP Data Items and Messages which provide a 98 flow control mechanism for traffic sent from a router to a modem. 99 Flow control is provided using one or more logical "Credit Windows", 100 each of which will typically be supported by an associated virtual or 101 physical queue. Traffic sent by a router will use traffic flow 102 classification information provided by the modem as defined in 103 [I-D.ietf-manet-dlep-traffic-classification]. to identify which 104 traffic is associated with each credit window. In this case, a flow 105 is identified based on information found in a data plane header and 106 one or more matches are associated with a single flow. (For general 107 background on traffic classification see [RFC2475] Section 2.3.) 108 Credit windows may be shared or dedicated on a per flow basis. The 109 Data Items are structured to allow for reuse of the defined credit 110 window based flow control with different traffic classification 111 techniques. 113 Note that this document defines common Messages, Data Items and 114 mechanisms that are reusable. They are expected to be required by 115 DLEP extensions defined in other documents such as found in 116 [I-D.ietf-manet-dlep-da-credit-extension]. 118 This document supports credit window control by introducing two new 119 DLEP messages in Section 2.2, and five new DLEP Data Items in 120 Section 2.3. 122 1.1. Key Words 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 126 "OPTIONAL" in this document are to be interpreted as described in BCP 127 14 [RFC2119] [RFC8174] when, and only when, they appear in all 128 capitals, as shown here. 130 2. Credit Window Control 132 This section defines additions to DLEP used in credit based flow 133 control. Two new messages and five Data Items are defined to support 134 credit window control. The use of credit window control impacts the 135 data plane. 137 The credit window control mechanisms defined in this document support 138 credit based flow control of traffic sent from a router to a modem. 139 The mapping of specific flows of traffic to a particular credit 140 window is based on the Traffic Classification Data Item defined in 141 [I-D.ietf-manet-dlep-traffic-classification]. Both types of DLEP 142 endpoints, i.e., a router and a modem, negotiate the use of extension 143 during session initialization, e.g., see 144 [I-D.ietf-manet-dlep-da-credit-extension]. When using credit 145 windows, data traffic is only allowed to be sent by the router to the 146 modem when there are credits available. 148 Credits are managed on a per logical "Credit Windows" basis. Each 149 credit window can be thought of as corresponding to a queue within a 150 modem. Credit windows may be shared across, or dedicated to, 151 destinations and data plane identifiers, e.g., DSCPs, at a 152 granularity that is appropriate for a modem's implementation and its 153 attached transmission technology. As defined below, there is a 154 direct one-for-one mapping of credit windows to flows as identified 155 by FIDs carried within the Traffic Classification Data Item. Modems 156 pass to the router information on their credit windows and FIDs prior 157 to a router being able to send data when an extension requiring the 158 use of credit window control is used. In addition to the traffic 159 classification information associated with an FID, routers provide an 160 initial credit window size, as well as the maximum size of the 161 logical queue associated with each credit window. The maximum size 162 is included for informative and potential future uses. 164 Modems provide an initial credit window size at the time of "Credit 165 Window Initialization". Such initialization can take place during 166 session initiation or any point thereafter. It can also take place 167 when rate information changes. Additional "Credit Grants", i.e., 168 increments to Credit Window size, are provided using a Destination Up 169 or the new "Credit Control" Message. A router provides its view of 170 the Credit Window, which is known as "Status", in Destination Up 171 Response and the new "Credit Control Response" Messages. Routers can 172 also request credits using the new "Credit Control" Message. 174 When modems provide credits to a router, they will need to take into 175 account any overhead of their attached transmission technology and 176 map it into the credit semantics defined in this document. In 177 particular, the credit window is defined below to include per frame 178 (packet) MAC headers, and this may not match the actual overhead of 179 the modem attached transmission technology. In that case a direct 180 mapping, or an approximation will need to be made by the modem to 181 provide appropriate credit values. 183 Actual flows of traffic are mapped to credit windows based on flow 184 identification information provided by modems in the Traffic 185 Classification Data item defined in 186 [I-D.ietf-manet-dlep-traffic-classification]. This data item 187 supports traffic classification on a per destination or more fine 188 grain level. Routers use the combination of the DLEP identified 189 destination and flow information associated with a credit window in 190 order to match traffic they send to specific credit windows. 192 When a destination becomes reachable, a modem "Associates" 193 (identifies) the appropriate traffic classification information via 194 the TID to be used for traffic sent by the router to that 195 destination. As defined, each credit window has a corresponding FID. 196 This means that the use of FIDs, TIDs and the association of a TID to 197 a DLEP destination enables a modem to share or dedicate resources as 198 needed to match the specifics of its implementation and its attached 199 transmission technology. 201 The defined credit window control has similar objectives as the 202 control found in [I-D.ietf-manet-credit-window]. One notable 203 difference from that credit control is that in this document, credits 204 are never provided by the router to the modem. 206 2.1. Data Plane Considerations 208 When credit windowing is used, a router MUST NOT send data traffic to 209 a modem for forwarding when there are no credits available in the 210 associated Credit Window. This document defines credit windows in 211 octets. A credit window value MUST be larger than the number of 212 octets contained in a packet, including any MAC headers used between 213 the router and the modem, in order for the router to send the packet 214 to a modem for forwarding. The credit window is decremented by the 215 number of sent octets. 217 A router MUST identify the credit window associated with traffic sent 218 to a modem based on the traffic classification information provided 219 in the Data Items defined in this document. Note that routers will 220 typically view a DLEP destination as the next hop MAC address. 222 2.2. Credit Window Messages 224 Two new messages are defined in support for credit window control: 225 the Credit Control and the Credit Control Response Message. Sending 226 and receiving both message types is REQUIRED to support the credit 227 window control defined in this document. 229 2.2.1. Credit Control Message 231 Credit Control Messages are sent by modems and routers. Each sender 232 is only permitted to have one message outstanding at one time. That 233 is, a sender (i.e., modem or router) MUST NOT send a second or any 234 subsequent Credit Control Message until a Credit Control Response 235 Message is received from its peer (i.e., router or modem). 237 Credit Control Messages are sent by modems to provide credit window 238 increases. Modems send credit increases when there is transmission 239 or local queue availability that exceeds the credit window value 240 previous provided to the router. Modems will need to balance the 241 load generated by sending and processing frequent credit window 242 increases against a router having data traffic available to send, but 243 no credits available. 245 Credit Control Messages MAY be sent by routers to request credits and 246 provide window status. Routers will need to balance the load 247 generated by sending and processing frequent credit window requests 248 against a having data traffic available to send, but no credits 249 available. 251 The Message Type value in the DLEP Message Header is set to TBA2. 253 A message sent by a modem, MUST contain one or more Credit Window 254 Grant Data Items as defined below in Section 2.3.3. A router 255 receiving this message MUST respond with a Credit Control Response 256 Message. 258 A message sent by a router, MUST contain one or more Credit Window 259 Request Data Items defined below in Section 2.3.5 and SHOULD contain 260 a Credit Window Status Data Item, defined in Section 2.3.4, 261 corresponding to each credit window request. A modem receiving this 262 message MUST respond with a Credit Control Response Message based on 263 the received message and Data Item and the processing defined below, 264 which will typically result in credit window increments being 265 provided. 267 Specific processing associated with each Credit Data Item is provided 268 below. 270 2.2.2. Credit Control Response Message 272 Credit Control Response Messages are sent by routers to report the 273 current Credit Window for a destination. A message sent by a router, 274 MUST contain one or more Credit Window Status Data Items as defined 275 below in Section 2.3.4. Specific receive processing associated with 276 the Credit Window Status Data Item is provided below. 278 Credit Control Response Messages sent by modems MUST contain one or 279 more Credit Window Grant Data Items. A Data Item for every Credit 280 Window Request Data Item contained in the corresponding Credit 281 Control Response Message received by the modem MUST be included. 282 Each Credit Grant Data Item MAY provide zero or more additional 283 credits based on the modem's transmission or local queue 284 availability. Specific receive processing associated with each Grant 285 Data Item is provided below. 287 The Message Type value in the DLEP Message Header is set to TBA3. 289 2.3. Credit Window Control Data Items 291 Five new Data Items are defined to support credit window control. 292 The Credit Window Initialization Data Item is used by a modem to 293 identify a credit window and set its size. The Credit Window 294 Association Data Item is used by a modem to identify which traffic 295 classification identifiers (flows) should be used when sending 296 traffic to a particular DLEP identified destination. The Credit 297 Window Grant is used by a modem to provide additional credits to a 298 router. The Credit Request is used by a router to request additional 299 credits. The Credit Window Status is used to advertise the sender's 300 view of number of available credits for state synchronization 301 purposes. 303 Any errors or inconsistencies encountered in parsing Data Items are 304 handled in the same fashion as any other data item parsing error 305 encountered in DLEP, see [RFC8175]. In particular, the node parsing 306 the Data Item MUST terminate the session with a Status Data Item 307 indicating Invalid Data. 309 2.3.1. Credit Window Initialization 311 The Credit Window Initialization Data Item is used by a modem to 312 identify a credit window and set its size. This Data Item SHOULD be 313 included in any Session Initialization Response Message that also 314 indicates support for an extension that requires support for the 315 credit window control mechanisms defined in this document, e.g., see 316 [I-D.ietf-manet-dlep-da-credit-extension]. Updates to previously 317 identified credit windows or new credit windows MAY be sent by a 318 modem by including the Data Item in Session Update Messages. More 319 than one data item MAY be included in a message to provide 320 information on multiple credit windows. 322 The Credit Window Initialization Data Item identifies a credit window 323 using a Flow Identifier, or FID. It also provides the size of the 324 identified credit window. Finally, a queue size (in bytes) is 325 provided for informational purposes. Note that to be used, a FID 326 must be defined within a Traffic Classification Data Item and the 327 associated TID must be provided via a Credit Window Association Data 328 Item. 330 The format of the Credit Window Initialization Data Item is: 332 0 1 2 3 333 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 334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 335 | Data Item Type | Length (16) | 336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 337 | Flow Identifier (FID) | Reserved | 338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 339 | Credit Value : 340 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 341 : Credit Value | 342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 343 | Scale | Credit Window Size | 344 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 346 Data Item Type: TBA4 348 Length: 16 350 Per [RFC8175] Length is the number of octets in the Data Item. It 351 MUST be equal to sixteen (16). 353 Flow Identifier (FID): 355 A flow identifier as defined by the Traffic Classification Data 356 Item. The FID also uniquely identifies a credit window. 358 Reserved: 360 MUST be set to zero by the sender (a modem) and ignored by the 361 receiver (a router). 363 Credit Value: 365 A 64-bit unsigned integer representing the credits, in octets, to 366 be applied to the Credit Window. This value includes MAC headers 367 as seen on the link between the modem and router. 369 Scale: 371 An 8-bit unsigned integer indicating the scale used in the Credit 372 Window Size fields. The valid values are: 374 Value Scale 375 ------------ 376 0 B - Bytes (Octets) 377 1 KB - Kilobytes (B/1024) 378 2 MB - Megabytes (KB/1024) 379 3 GB - Gigabytes (MB/1024) 381 Credit Window Size: 383 A 24-bit unsigned integer representing the maximum size, in the 384 octet scale indicated by the Scale field, of the associated credit 385 window. 387 A router that receives a Credit Window Initialization Data Item MUST 388 ensure that the FID field value has been provided by the modem in a 389 Traffic Classification Data Item carried in either the current or 390 previous message. If the FID cannot be found the router SHOULD 391 report or log this information. Note that no traffic will be 392 associated with the credit window in this case. After FID 393 validation, the router MUST locate the credit window that is 394 associated with the FID indicated in each received Data Item. If no 395 associated credit window is found, the router MUST initialize a new 396 credit window using the values carried in the Data Item. When an 397 associated credit window is found, the router MUST update the credit 398 window and associated data plane state using the values carried in 399 the Data Item. It is worth noting, that such updates can result in a 400 credit window size being reduced, for example, due to a transmission 401 rate change on the modem. 403 2.3.2. Credit Window Associate 405 The Credit Window Associate Data Item is used by a modem to associate 406 traffic classification information with a destination. The traffic 407 classification information is identified using a TID value that has 408 previously been sent by the modem or is listed in a Traffic 409 Classification Data Item carried in the same message as the Data 410 Item. 412 A single Credit Window Associate Data Item MUST be included in all 413 Destination Up and Destination Update Messages sent by a modem when 414 the credit window control defined in this document is used. Note 415 that a TID will not be used unless it is listed in a Credit Window 416 Associate Data Item. 418 The format of the Credit Window Associate Data Item is: 420 0 1 2 3 421 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 422 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 423 | Data Item Type | Length (2) | 424 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 425 |Traffic Class. Identifier (TID)| 426 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 428 Data Item Type: TBA5 429 Length: 2 431 Per [RFC8175] Length is the number of octets in the Data Item. It 432 MUST be equal to two (2). 434 Traffic Classification Identifier (TID): 436 A 16-bit unsigned integer identifying a traffic classification set 437 that has been identified in a Traffic Classification Data Item, 438 see [I-D.ietf-manet-dlep-traffic-classification]. 440 A router that receives the Credit Window Associate Data Item MUST 441 locate the traffic classification information indicated by the 442 received TID. If no corresponding information can be located, the 443 Data Item MUST be treated as an error as described above. Once the 444 traffic classification information is located, it MUST be associated 445 with the destination and the router MUST ensure that any data plane 446 state, see Section 2.1, that is associated with the TID and its 447 corresponding FIDs is updated as needed. 449 2.3.3. Credit Window Grant 451 The Credit Window Grant Data Item is used by a modem to provide 452 credits to a router. One or more Credit Window Grant Data Items MAY 453 be carried in the DLEP Destination Up, Destination Announce Response, 454 Destination Update, Credit Control Messages, and Credit Control 455 Response Messages. Multiple Credit Window Grant Data Items in a 456 single message are used to indicate different credit values for 457 different credit windows. In all message types, this Data Item 458 provides an additional number of octets to be added to the indicated 459 credit window. Credit windows are identified using FID values that 460 have been previously been sent by the modem or are listed in a Credit 461 Window Initialization Data Item carried in the same messages as the 462 Data Item. 464 The format of the Credit Window Grant Data Item is: 466 0 1 2 3 467 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 468 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 469 | Data Item Type | Length (12) | 470 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 471 | Flow Identifier (FID) | Reserved | 472 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 473 | Additional Credits : 474 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 475 : Additional Credits | 476 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 478 Data Item Type: TBA6 480 Length: 12 482 Per [RFC8175], Length is the number of octets in the Data Item. 483 It MUST be equal to twelve (12). 485 Flow Identifier (FID): 487 A flow identifier as defined by the Traffic Classification Data 488 Item. The FID also uniquely identifies a credit window. 490 Additional Credit: 492 A 64-bit unsigned integer representing the credits, in octets, to 493 be added to the Credit Window. This value includes MAC headers as 494 seen on the link between the modem and router. A value of zero 495 indicates that no additional credits are being provided. 497 When receiving this Data Item, a router MUST identify the credit 498 window indicated by the FID. If the FID is not known to the router, 499 it SHOULD report or log this information and discard the Data Item. 500 It is important to note that while this Data Item can be received in 501 a destination specific message, credit windows are managed 502 independently from the destination identified in the message carrying 503 this Data Item, and the indicated FID MAY even be disjoint from the 504 identified destination. 506 Once the credit window is identified, the credit window size MUST be 507 increased by the value contained in the Additional Credits field. If 508 the increase results in a window overflow, i.e., the size of the 509 credit window after the increase is smaller than the original credit 510 window size, the Credit Window must be set to its maximum 511 (0xFFFFFFFFFFFFFFFF). 513 No response is sent by the router to a modem after processing a 514 Credit Window Grant Data Item received in a Credit Control Response 515 Message. In other cases, the receiving router MUST send a Credit 516 Window Status Data Item or items reflecting the resulting Credit 517 Window value of the updated credit window. When the Credit Grant 518 Data Item is received in a Destination Up Message, the Credit Window 519 Status Data Item(s) MUST be sent in the corresponding Destination Up 520 Response Message. Otherwise, a Credit Control Message MUST be sent. 522 2.3.4. Credit Window Status 524 The Credit Window Status Data Item is used by a router to report the 525 current credit window size to its peer modem. One or more Credit 526 Window Status Data Items MAY be carried in a Destination Up Response 527 Message or a Credit Control Response Message. As discussed above, 528 the Destination Up Response Message is used when the Data Item is 529 sent in response to a Destination Up Message, and the Credit Control 530 Response Message is sent in response to a Credit Control Message. 531 Multiple Credit Window Status Data Items in a single message are used 532 to indicate different sizes of different credit windows. Similar to 533 the Credit Window Grant, credit windows are identified using FID 534 values that have been previously been sent by the modem. 536 The format of the Credit Window Status Data Item is: 538 0 1 2 3 539 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 540 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 541 | Data Item Type | Length (12) | 542 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 543 | Flow Identifier (FID) | Reserved | 544 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 545 | Credit Window Size : 546 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 547 : Credit Window Size | 548 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 550 Data Item Type: TBA7 552 Length: 12 554 Per [RFC8175] Length is the number of octets in the Data Item. It 555 MUST be equal to twelve (12). 557 Flow Identifier (FID): 559 A flow identifier as defined by the Traffic Classification Data 560 Item. The FID also uniquely identifies a credit window. 562 Credit Window Size: 564 A 64-bit unsigned integer, indicating the current number of 565 credits, in octets, available for the router to send to the modem. 566 This is referred to as the Modem Receive Window in 567 [I-D.ietf-manet-credit-window]. 569 When receiving this Data Item, a modem MUST identify the credit 570 window indicated by the FID. If the FID is not known to the modem, 571 it SHOULD report or log this information and discard the Data Item. 572 As with the Credit Window Grant Data Item, the FID MAY be unrelated 573 to the Destination indicated in the message carrying the Data Item. 575 Once the credit window is identified, the modem SHOULD check the 576 received Credit Window Size field value against the outstanding 577 credit window's available credits at the time the most Credit Window 578 Initialization or Grant Data Item associated with the indicated FID 579 was sent. If the values significantly differ, i.e., greater than can 580 be accounted for based on observed data frames, then the modem SHOULD 581 send a Credit Window Initialization Data Item to reset the associated 582 credit window size to the modem's current view of the available 583 credits. As defined above, Credit Window Initialization Data Items 584 are sent in Session Update Messages. When multiple Data Items need 585 to be sent, they SHOULD be combined into a single message when 586 possible. Alternatively, and also in cases where there are small 587 differences, the modem MAY adjust the values sent in Credit Window 588 Grant Data Items to account for the reported Credit Window. 590 2.3.5. Credit Window Request 592 The Credit Window Request Data Item is used by a router to request 593 additional credits for particular credit windows. Credit Window 594 Request Data Items are carried in Credit Control Messages, and one or 595 more Credit Window Request Data Items MAY be present in a message. 597 Credit windows identified using a FID as defined above in 598 Section 2.3.1. Multiple FIDs MAY be present to allow for the case 599 where the router identifies that credits are needed in multiple 600 credit windows. A special FID value, as defined below, is used to 601 indicate that a credit request is being made across all queues. 603 The format of the Credit Window Request Data Item is: 605 0 1 2 3 606 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 607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 608 | Data Item Type | Length | 609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 610 | Flow Identifier (FID) | ... : 611 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 612 : ... | Flow Identifier (FID) | 613 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 615 Data Item Type: TBA8 616 Length: Variable 618 Per [RFC8175] Length is the number of octets in the Data Item, 619 excluding the Type and Length fields. It will equal the number of 620 FID fields carried in the Data Item times 2 and MUST be at least 621 2. 623 Flow Identifier (FID): 625 A flow identifier as defined by the Traffic Classification Data 626 Item. The FID also uniquely identifies a credit window. The 627 special value of 0xFFFF indicates that the request applies to all 628 FIDs. 630 A modem receiving this Data Item MUST provide a Credit Increment for 631 the indicated credit windows via Credit Window Grant Data Items 632 carried in a new Credit Control Message. Multiple values and queue 633 indexes SHOULD be combined into a single Credit Control Message when 634 possible. Unknown FID values SHOULD be reported or logged and then 635 ignored by the modem. 637 2.4. Management Considerations 639 This section provides several network management guidelines to 640 implementations supporting the credit window mechanisms defined in 641 this document. 643 Modems MAY support the configuration of the number of credit windows 644 (queues) to advertise to a router. 646 Routers may have limits on the number of queues that they can support 647 and, perhaps, even limits in supported credit window combinations, 648 e.g., if per destination queues can even be supported at all. When 649 modem-provided credit window information exceeds the capabilities of 650 a router, the router MAY use a subset of the provided credit windows. 651 Alternatively, a router MAY reset the session and indicate that the 652 extension is not supported. In either case, the mismatch of 653 capabilities SHOULD be reported to the user via normal network 654 management mechanisms, e.g., user interface or error logging. 656 3. Compatibility 658 The data items defined in this document will only be used when 659 extensions require their use. 661 4. Security Considerations 663 This document introduces credit window control and flow mechanisms to 664 DLEP. These mechanisms do not inherently introduce any additional 665 vulnerabilities above those documented in [RFC8175]. The approach 666 taken to Security in that document applies equally to the mechanism 667 defined in this document. 669 5. IANA Considerations 671 This document requests the assignment of several values by IANA. All 672 assignments are to registries defined by [RFC8175]. 674 5.1. Message Values 676 This document requests 2 new assignments to the DLEP Message Registry 677 named "Message Values" in the range with the "Specification Required" 678 policy. The requested values are as follows: 680 +-----------+-------------------------+ 681 | Type Code | Description | 682 +-----------+-------------------------+ 683 | TBA2 | Credit Control | 684 | | | 685 | TBA3 | Credit Control Response | 686 +-----------+-------------------------+ 688 Table 1: Requested Message Values 690 5.2. Data Item Values 692 This document requests the following new assignments to the DLEP Data 693 Item Registry named "Data Item Type Values" in the range with the 694 "Specification Required" policy. The requested values are as 695 follows: 697 +-----------+------------------------------+ 698 | Type Code | Description | 699 +-----------+------------------------------+ 700 | TBA4 | Credit Window Initialization | 701 | | | 702 | TBA5 | Credit Window Association | 703 | | | 704 | TBA6 | Credit Window Grant | 705 | | | 706 | TBA7 | Credit Window Status | 707 | | | 708 | TBA8 | Credit Window Request | 709 +-----------+------------------------------+ 711 Table 2: Requested Data Item Values 713 6. References 715 6.1. Normative References 717 [I-D.ietf-manet-dlep-traffic-classification] 718 Cheng, B., Wiggins, D., and L. Berger, "DLEP Traffic 719 Classification Data Item", August 2018. 721 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 722 Requirement Levels", BCP 14, RFC 2119, 723 DOI 10.17487/RFC2119, March 1997, 724 . 726 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 727 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 728 May 2017, . 730 [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 731 Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, 732 DOI 10.17487/RFC8175, June 2017, 733 . 735 6.2. Informative References 737 [I-D.ietf-manet-credit-window] 738 Ratliff, S., "Credit Windowing extension for DLEP", draft- 739 ietf-manet-credit-window-07 (work in progress), November 740 2016. 742 [I-D.ietf-manet-dlep-da-credit-extension] 743 Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ 744 Aware Credit Window Extension", draft-ietf-manet-dlep-da- 745 credit-extension-09 (work in progress), June 2020. 747 [I-D.ietf-manet-dlep-pause-extension] 748 Cheng, B., Wiggins, D., and L. Berger, "DLEP Control Plane 749 Based Pause Extension", draft-ietf-manet-dlep-pause- 750 extension-08 (work in progress), June 2019. 752 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 753 and W. Weiss, "An Architecture for Differentiated 754 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 755 . 757 Appendix A. Acknowledgments 759 We morn the loss of Stan Ratliff who passed away on October 22, 2019. 760 His guidance, leadership and personal contributions were critical in 761 the development of this work and DLEP as a whole. His leadership and 762 friendship shall be missed. 764 Many useful comments were received from contributors to the MANET 765 working group, notably Rick Taylor. This document was derived from 766 [I-D.ietf-manet-dlep-da-credit-extension] as a result of discussions 767 at IETF101. 769 Authors' Addresses 771 Bow-Nan Cheng 772 MIT Lincoln Laboratory 773 Massachusetts Institute of Technology 774 244 Wood Street 775 Lexington, MA 02421-6426 777 Email: bcheng@ll.mit.edu 779 David Wiggins 780 MIT Lincoln Laboratory 781 Massachusetts Institute of Technology 782 244 Wood Street 783 Lexington, MA 02421-6426 785 Email: David.Wiggins@ll.mit.edu 786 Lou Berger 787 LabN Consulting, L.L.C. 789 Email: lberger@labn.net 791 Stan Ratliff