idnits 2.17.1 draft-ietf-manet-dlep-credit-flow-control-03.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 (August 2, 2018) is 2087 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-05 == Outdated reference: A later version (-08) exists of draft-ietf-manet-dlep-pause-extension-04 Summary: 0 errors (**), 0 flaws (~~), 3 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: February 3, 2019 L. Berger 6 LabN Consulting, L.L.C. 7 S. Ratliff 8 VT iDirect 9 August 2, 2018 11 DLEP Credit-Based Flow Control Messages and Data Items 12 draft-ietf-manet-dlep-credit-flow-control-03 14 Abstract 16 This document defines new DLEP protocol Data Items that are used to 17 support credit-based flow control. Credit window control is used to 18 regulate when data may be sent to an associated virtual or physical 19 queue. The Data Items are defined in an extensible and reusable 20 fashion. Their use will be mandated in other documents defining 21 specific DLEP extensions. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at https://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on February 3, 2019. 40 Copyright Notice 42 Copyright (c) 2018 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (https://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Credit Window Control . . . . . . . . . . . . . . . . . . . . 3 60 2.1. Data Plane Considerations . . . . . . . . . . . . . . . . 5 61 2.2. Credit Window Messages . . . . . . . . . . . . . . . . . 5 62 2.2.1. Credit Control Message . . . . . . . . . . . . . . . 5 63 2.2.2. Credit Control Response Message . . . . . . . . . . . 6 64 2.3. Credit Window Control Data Items . . . . . . . . . . . . 7 65 2.3.1. Credit Window Initialization . . . . . . . . . . . . 7 66 2.3.2. Credit Window Associate . . . . . . . . . . . . . . . 9 67 2.3.3. Credit Window Grant . . . . . . . . . . . . . . . . . 10 68 2.3.4. Credit Window Status . . . . . . . . . . . . . . . . 12 69 2.3.5. Credit Window Request . . . . . . . . . . . . . . . . 13 70 2.4. Management Considerations . . . . . . . . . . . . . . . . 14 71 3. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 14 72 4. Security Considerations . . . . . . . . . . . . . . . . . . . 15 73 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 74 5.1. Message Values . . . . . . . . . . . . . . . . . . . . . 15 75 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 15 76 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 77 6.1. Normative References . . . . . . . . . . . . . . . . . . 16 78 6.2. Informative References . . . . . . . . . . . . . . . . . 16 79 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 17 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 82 1. Introduction 84 The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. 85 It provides the exchange of link related control information between 86 DLEP peers. DLEP peers are comprised of a modem and a router. DLEP 87 defines a base set of mechanisms as well as support for possible 88 extensions. DLEP defines Data Items which are sets of information 89 that can be reused in DLEP messaging. The base DLEP specification 90 does not include any flow identification beyond DLEP endpoints or 91 flow control capability. There are various flow control techniques 92 theoretically possible with DLEP. For example, a credit-window 93 scheme for destination-specific flow control which provides aggregate 94 flow control for both modem and routers has been proposed in 95 [I-D.ietf-manet-credit-window], and a control plane pause based 96 mechanism is defined in [I-D.ietf-manet-dlep-pause-extension]. 98 This document defines DLEP Data Items and Messages which provide a 99 flow control mechanism for traffic sent from a router to a modem. 100 Flow control is provided using one or more logical "Credit Windows", 101 each of which will typically be supported by an associated virtual or 102 physical queue. Traffic sent by a router will use traffic flow 103 classification information provided by the modem as defined in 104 [I-D.ietf-manet-dlep-traffic-classification]. to identify which 105 traffic is associated with each credit window. In this case, a flow 106 is identified based on information found in a data plane header and 107 one or more matches are associated with a single flow. (For general 108 background on traffic classification see [RFC2475] Section 2.3.) 109 Credit windows may be shared or dedicated on a per flow basis. The 110 Data Items are structured to allow for reuse of the defined credit 111 window based flow control with different traffic classification 112 techniques. 114 Note that this document defines common Messages, Data Items and 115 mechanisms that are reusable. They are expected to be required by 116 DLEP extensions defined in other documents such as found in 117 [I-D.ietf-manet-dlep-da-credit-extension]. 119 This document supports credit window control by introducing two new 120 DLEP messages in Section 2.2, and five new DLEP Data Items in 121 Section 2.3. 123 1.1. Key Words 125 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 126 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 127 "OPTIONAL" in this document are to be interpreted as described in BCP 128 14 [RFC2119] [RFC8174] when, and only when, they appear in all 129 capitals, as shown here. 131 2. Credit Window Control 133 This section defines additions to DLEP used in credit based flow 134 control. Two new messages and five Data Items are defined to support 135 credit window control. The use of credit window control impacts the 136 data plane. 138 The credit window control mechanisms defined in this document support 139 credit based flow control of traffic sent from a router to a modem. 140 The mapping of specific flows of traffic to a particular credit 141 window is based on the Traffic Classification Data Item defined in 142 [I-D.ietf-manet-dlep-traffic-classification]. Both types of DLEP 143 endpoints, i.e., a router and a modem, negotiate the use of extension 144 during session initialization, e.g., see 145 [I-D.ietf-manet-dlep-da-credit-extension]. When using credit 146 windows, data traffic is only allowed to be sent by the router to the 147 modem when there are credits available. 149 Credits are managed on a per logical "Credit Windows" basis. Each 150 credit window can be thought of as corresponding to a queue within a 151 modem. Credit windows may be shared across, or dedicated to, 152 destinations and data plane identifiers, e.g., DSCPs, at a 153 granularity that is appropriate for a modem's implementation and its 154 attached transmission technology. As defined below, there is a 155 direct one-for-one mapping of credit windows to flows as identified 156 by FIDs carried within the Traffic Classification Data Item. Modems 157 pass to the router information on their credit windows and FIDs prior 158 to a router being able to send data when an extension requiring the 159 use of credit window control is used. In addition to the traffic 160 classification information associated with an FID, routers provide an 161 initial credit window size, as well as the maximum size of the 162 logical queue associated with each credit window. The maximum size 163 is included for informative and potential future uses. 165 Modems provide an initial credit window size at the time of "Credit 166 Window Initialization". Such initialization can take place during 167 session initiation or any point thereafter. It can also take place 168 when rate information changes. Additional "Credit Grants", i.e., 169 increments to Credit Window size, are provided using a Destination Up 170 or the new "Credit Control" Message. A router provides its view of 171 the Credit Window, which is known as "Status", in Destination Up 172 Response and the new "Credit Control Response" Messages. Routers can 173 also request credits using the new "Credit Control" Message. 175 When modems provide credits to a router, they will need to take into 176 account any overhead of their attached transmission technology and 177 map it into the credit semantics defined in this document. In 178 particular, the credit window is defined below to include per frame 179 (packet) MAC headers, and this may not match the actual overhead of 180 the modem attached transmission technology. In that case a direct 181 mapping, or an approximation will need to be made by the modem to 182 provide appropriate credit values. 184 Actual flows of traffic are mapped to credit windows based on flow 185 identification information provided by modems in the Traffic 186 Classification Data item defined in 187 [I-D.ietf-manet-dlep-traffic-classification]. This data item 188 supports traffic classification on a per destination or more fine 189 grain level. Routers use the combination of the DLEP identified 190 destination and flow information associated with a credit window in 191 order to match traffic they send to specific credit windows. 193 When a destination becomes reachable, a modem "Associates" 194 (identifies) the appropriate traffic classification information via 195 the TID to be used for traffic sent by the router to that 196 destination. As defined, each credit window has a corresponding FID. 197 This means that the use of FIDs, TIDs and the association of a TID to 198 a DLEP destination enables a modem to share or dedicate resources as 199 needed to match the specifics of its implementation and its attached 200 transmission technology. 202 The defined credit window control has similar objectives as the 203 control found in [I-D.ietf-manet-credit-window]. One notable 204 difference from that credit control is that in this document, credits 205 are never provided by the router to the modem. 207 2.1. Data Plane Considerations 209 When credit windowing is used, a router MUST NOT send data traffic to 210 a modem for forwarding when there are no credits available in the 211 associated Credit Window. This document defines credit windows in 212 octets. A credit window value MUST be larger than the number of 213 octets contained in a packet, including any MAC headers used between 214 the router and the modem, in order for the router to send the packet 215 to a modem for forwarding. The credit window is decremented by the 216 number of sent octets. 218 A router MUST identify the credit window associated with traffic sent 219 to a modem based on the traffic classification information provided 220 in the Data Items defined in this document. Note that routers will 221 typically view a DLEP destination as the next hop MAC address. 223 2.2. Credit Window Messages 225 Two new messages are defined in support for credit window control: 226 the Credit Control and the Credit Control Response Message. Sending 227 and receiving both message types is REQUIRED to support the credit 228 window control defined in this document. 230 2.2.1. Credit Control Message 232 Credit Control Messages are sent by modems and routers. Each sender 233 is only permitted to have one message outstanding at one time. That 234 is, a sender (i.e., modem or router) MUST NOT send a second or any 235 subsequent Credit Control Message until a Credit Control Response 236 Message is received from its peer (i.e., router or modem). 238 Credit Control Messages are sent by modems to provide credit window 239 increases. Modems send credit increases when there is transmission 240 or local queue availability that exceeds the credit window value 241 previous provided to the router. Modems will need to balance the 242 load generated by sending and processing frequent credit window 243 increases against a router having data traffic available to send, but 244 no credits available. 246 Credit Control Messages MAY be sent by routers to request credits and 247 provide window status. Routers will need to balance the load 248 generated by sending and processing frequent credit window requests 249 against a having data traffic available to send, but no credits 250 available. 252 The Message Type value in the DLEP Message Header is set to TBA2. 254 A message sent by a modem, MUST contain one or more Credit Window 255 Grant Data Items as defined below in Section 2.3.3. A router 256 receiving this message MUST respond with a Credit Control Response 257 Message. 259 A message sent by a router, MUST contain one or more Credit Window 260 Request Data Items defined below in Section 2.3.5 and SHOULD contain 261 a Credit Window Status Data Item, defined in Section 2.3.4, 262 corresponding to each credit window request. A modem receiving this 263 message MUST respond with a Credit Control Response Message based on 264 the received message and Data Item and the processing defined below, 265 which will typically result in credit window increments being 266 provided. 268 Specific processing associated with each Credit Data Item is provided 269 below. 271 2.2.2. Credit Control Response Message 273 Credit Control Response Messages are sent by routers to report the 274 current Credit Window for a destination. A message sent by a router, 275 MUST contain one or more Credit Window Status Data Items as defined 276 below in Section 2.3.4. Specific receive processing associated with 277 the Credit Window Status Data Item is provided below. 279 Credit Control Response Messages sent by modems MUST contain one or 280 more Credit Window Grant Data Items. A Data Item for every Credit 281 Window Request Data Item contained in the corresponding Credit 282 Control Response Message received by the modem MUST be included. 283 Each Credit Grant Data Item MAY provide zero or more additional 284 credits based on the modem's transmission or local queue 285 availability. Specific receive processing associated with each Grant 286 Data Item is provided below. 288 The Message Type value in the DLEP Message Header is set to TBA3. 290 2.3. Credit Window Control Data Items 292 Five new Data Items are defined to support credit window control. 293 The Credit Window Initialization Data Item is used by a modem to 294 identify a credit window and set its size. The Credit Window 295 Association Data Item is used by a modem to identify which traffic 296 classification identifiers (flows) should be used when sending 297 traffic to a particular DLEP identified destination. The Credit 298 Window Grant is used by a modem to provide additional credits to a 299 router. The Credit Request is used by a router to request additional 300 credits. The Credit Window Status is used to advertise the sender's 301 view of number of available credits for state synchronization 302 purposes. 304 Any errors or inconsistencies encountered in parsing Data Items are 305 handled in the same fashion as any other data item parsing error 306 encountered in DLEP, see [RFC8175]. In particular, the node parsing 307 the Data Item MUST terminate the session with a Status Data Item 308 indicating Invalid Data. 310 2.3.1. Credit Window Initialization 312 The Credit Window Initialization Data Item is used by a modem to 313 identify a credit window and set its size. This Data Item SHOULD be 314 included in any Session Initialization Response Message that also 315 indicates support for an extension that requires support for the 316 credit window control mechanisms defined in this document, e.g., see 317 [I-D.ietf-manet-dlep-da-credit-extension]. Updates to previously 318 identified credit windows or new credit windows MAY be sent by a 319 modem by including the Data Item in Session Update Messages. More 320 than one data item MAY be included in a message to provide 321 information on multiple credit windows. 323 The Credit Window Initialization Data Item identifies a credit window 324 using a Flow Identifier, or FID. It also provides the size of the 325 identified credit window. Finally, a queue size (in bytes) is 326 provided for informational purposes. Note that to be used, a FID 327 must be defined within a Traffic Classification Data Item and the 328 associated TID must be provided via a Credit Window Association Data 329 Item. 331 The format of the Credit Window Initialization Data Item is: 333 0 1 2 3 334 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 335 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 336 | Data Item Type | Length (16) | 337 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 338 | Flow Identifier (FID) | Reserved | 339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 340 | Credit Value : 341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 342 : Credit Value | 343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 344 | Scale | Credit Window Size | 345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 347 Data Item Type: TBA4 349 Length: 16 351 Per [RFC8175] Length is the number of octets in the Data Item. It 352 MUST be equal to sixteen (16). 354 Flow Identifier (FID): 356 A flow identifier as defined by the Traffic Classification Data 357 Item. The FID also uniquely identifies a credit window. 359 Reserved: 361 MUST be set to zero by the sender (a modem) and ignored by the 362 receiver (a router). 364 Credit Value: 366 A 64-bit unsigned integer representing the credits, in octets, to 367 be applied to the Credit Window. This value includes MAC headers 368 as seen on the link between the modem and router. 370 Scale: 372 An 8-bit unsigned integer indicating the scale used in the Credit 373 Window Size fields. The valid values are: 375 Value Scale 376 ------------ 377 0 B - Bytes (Octets) 378 1 KB - Kilobytes (B/1024) 379 2 MB - Megabytes (KB/1024) 380 3 GB - Gigabytes (MB/1024) 382 Credit Window Size: 384 A 24-bit unsigned integer representing the maximum size, in the 385 octet scale indicated by the Scale field, of the associated credit 386 window. 388 A router that receives a Credit Window Initialization Data Item MUST 389 ensure that the FID field value has been provided by the modem in a 390 Traffic Classification Data Item carried in either the current or 391 previous message. If the FID cannot be found the router SHOULD 392 report or log this information. Note that no traffic will be 393 associated with the credit window in this case. After FID 394 validation, the router MUST locate the credit window that is 395 associated with the FID indicated in each received Data Item. If no 396 associated credit window is found, the router MUST initialize a new 397 credit window using the values carried in the Data Item. When an 398 associated credit window is found, the router MUST update the credit 399 window and associated data plane state using the values carried in 400 the Data Item. It is worth noting, that such updates can result in a 401 credit window size being reduced, for example, due to a transmission 402 rate change on the modem. 404 2.3.2. Credit Window Associate 406 The Credit Window Associate Data Item is used by a modem to associate 407 traffic classification information with a destination. The traffic 408 classification information is identified using a TID value that has 409 previously been sent by the modem or is listed in a Traffic 410 Classification Data Item carried in the same message as the Data 411 Item. 413 A single Credit Window Associate Data Item MUST be included in all 414 Destination Up and Destination Update Messages sent by a modem when 415 the credit window control defined in this document is used. Note 416 that a TID will not be used unless it is listed in a Credit Window 417 Associate Data Item. 419 The format of the Credit Window Associate Data Item is: 421 0 1 2 3 422 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 423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 424 | Data Item Type | Length (2) | 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 426 |Traffic Class. Identifier (TID)| 427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 Data Item Type: TBA5 430 Length: 2 432 Per [RFC8175] Length is the number of octets in the Data Item. It 433 MUST be equal to two (2). 435 Traffic Classification Identifier (TID): 437 A 16-bit unsigned integer identifying a traffic classification set 438 that has been identified in a Traffic Classification Data Item, 439 see [I-D.ietf-manet-dlep-traffic-classification]. 441 A router that receives the Credit Window Associate Data Item MUST 442 locate the traffic classification information indicated by the 443 received TID. If no corresponding information can be located, the 444 Data Item MUST be treated as an error as described above. Once the 445 traffic classification information is located, it MUST be associated 446 with the destination and the router MUST ensure that any data plane 447 state, see Section 2.1, that is associated with the TID and its 448 corresponding FIDs is updated as needed. 450 2.3.3. Credit Window Grant 452 The Credit Window Grant Data Item is used by a modem to provide 453 credits to a router. One or more Credit Window Grant Data Items MAY 454 be carried in the DLEP Destination Up, Destination Announce Response, 455 Destination Update, Credit Control Messages, and Credit Control 456 Response Messages. Multiple Credit Window Grant Data Items in a 457 single message are used to indicate different credit values for 458 different credit windows. In all message types, this Data Item 459 provides an additional number of octets to be added to the indicated 460 credit window. Credit windows are identified using FID values that 461 have been previously been sent by the modem or are listed in a Credit 462 Window Initialization Data Item carried in the same messages as the 463 Data Item. 465 The format of the Credit Window Grant Data Item is: 467 0 1 2 3 468 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 469 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 470 | Data Item Type | Length (12) | 471 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 472 | Flow Identifier (FID) | Reserved | 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 474 | Additional Credits : 475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 476 : Additional Credits | 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 479 Data Item Type: TBA6 481 Length: 12 483 Per [RFC8175], Length is the number of octets in the Data Item. 484 It MUST be equal to twelve (12). 486 Flow Identifier (FID): 488 A flow identifier as defined by the Traffic Classification Data 489 Item. The FID also uniquely identifies a credit window. 491 Additional Credit: 493 A 64-bit unsigned integer representing the credits, in octets, to 494 be added to the Credit Window. This value includes MAC headers as 495 seen on the link between the modem and router. A value of zero 496 indicates that no additional credits are being provided. 498 When receiving this Data Item, a router MUST identify the credit 499 window indicated by the FID. If the FID is not known to the router, 500 it SHOULD report or log this information and discard the Data Item. 501 It is important to note that while this Data Item can be received in 502 a destination specific message, credit windows are managed 503 independently from the destination identified in the message carrying 504 this Data Item, and the indicated FID MAY even be disjoint from the 505 identified destination. 507 Once the credit window is identified, the credit window size MUST be 508 increased by the value contained in the Additional Credits field. If 509 the increase results in a window overflow, i.e., the size of the 510 credit window after the increase is smaller than the original credit 511 window size, the Credit Window must be set to its maximum 512 (0xFFFFFFFFFFFFFFFF). 514 No response is sent by the router to a modem after processing a 515 Credit Window Grant Data Item received in a Credit Control Response 516 Message. In other cases, the receiving router MUST send a Credit 517 Window Status Data Item or items reflecting the resulting Credit 518 Window value of the updated credit window. When the Credit Grant 519 Data Item is received in a Destination Up Message, the Credit Window 520 Status Data Item(s) MUST be sent in the corresponding Destination Up 521 Response Message. Otherwise, a Credit Control Message MUST be sent. 523 2.3.4. Credit Window Status 525 The Credit Window Status Data Item is used by a router to report the 526 current credit window size to its peer modem. One or more Credit 527 Window Status Data Items MAY be carried in a Destination Up Response 528 Message or a Credit Control Response Message. As discussed above, 529 the Destination Up Response Message is used when the Data Item is 530 sent in response to a Destination Up Message, and the Credit Control 531 Response Message is sent in response to a Credit Control Message. 532 Multiple Credit Window Status Data Items in a single message are used 533 to indicate different sizes of different credit windows. Similar to 534 the Credit Window Grant, credit windows are identified using FID 535 values that have been previously been sent by the modem. 537 The format of the Credit Window Status Data Item is: 539 0 1 2 3 540 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 541 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 542 | Data Item Type | Length (12) | 543 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 544 | Flow Identifier (FID) | Reserved | 545 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 546 | Credit Window Size : 547 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 548 : Credit Window Size | 549 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 551 Data Item Type: TBA7 553 Length: 12 555 Per [RFC8175] Length is the number of octets in the Data Item. It 556 MUST be equal to twelve (12). 558 Flow Identifier (FID): 560 A flow identifier as defined by the Traffic Classification Data 561 Item. The FID also uniquely identifies a credit window. 563 Credit Window Size: 565 A 64-bit unsigned integer, indicating the current number of 566 credits, in octets, available for the router to send to the modem. 567 This is referred to as the Modem Receive Window in 568 [I-D.ietf-manet-credit-window]. 570 When receiving this Data Item, a modem MUST identify the credit 571 window indicated by the FID. If the FID is not known to the modem, 572 it SHOULD report or log this information and discard the Data Item. 573 As with the Credit Window Grant Data Item, the FID MAY be unrelated 574 to the Destination indicated in the message carrying the Data Item. 576 Once the credit window is identified, the modem SHOULD check the 577 received Credit Window Size field value against the outstanding 578 credit window's available credits at the time the most Credit Window 579 Initialization or Grant Data Item associated with the indicated FID 580 was sent. If the values significantly differ, i.e., greater than can 581 be accounted for based on observed data frames, then the modem SHOULD 582 send a Credit Window Initialization Data Item to reset the associated 583 credit window size to the modem's current view of the available 584 credits. As defined above, Credit Window Initialization Data Items 585 are sent in Session Update Messages. When multiple Data Items need 586 to be sent, they SHOULD be combined into a single message when 587 possible. Alternatively, and also in cases where there are small 588 differences, the modem MAY adjust the values sent in Credit Window 589 Grant Data Items to account for the reported Credit Window. 591 2.3.5. Credit Window Request 593 The Credit Window Request Data Item is used by a router to request 594 additional credits for particular credit windows. Credit Window 595 Request Data Items are carried in Credit Control Messages, and one or 596 more Credit Window Request Data Items MAY be present in a message. 598 Credit windows identified using a FID as defined above in 599 Section 2.3.1. Multiple FIDs MAY be present to allow for the case 600 where the router identifies that credits are needed in multiple 601 credit windows. A special FID value, as defined below, is used to 602 indicate that a credit request is being made across all queues. 604 The format of the Credit Window Request Data Item is: 606 0 1 2 3 607 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 608 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 609 | Data Item Type | Length | 610 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 611 | Flow Identifier (FID) | ... : 612 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 613 : ... | Flow Identifier (FID) | 614 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 616 Data Item Type: TBA8 617 Length: Variable 619 Per [RFC8175] Length is the number of octets in the Data Item, 620 excluding the Type and Length fields. It will equal the number of 621 FID fields carried in the Data Item times 2 and MUST be at least 622 2. 624 Flow Identifier (FID): 626 A flow identifier as defined by the Traffic Classification Data 627 Item. The FID also uniquely identifies a credit window. The 628 special value of 0xFFFF indicates that the request applies to all 629 FIDs. 631 A modem receiving this Data Item MUST provide a Credit Increment for 632 the indicated credit windows via Credit Window Grant Data Items 633 carried in a new Credit Control Message. Multiple values and queue 634 indexes SHOULD be combined into a single Credit Control Message when 635 possible. Unknown FID values SHOULD be reported or logged and then 636 ignored by the modem. 638 2.4. Management Considerations 640 This section provides several network management guidelines to 641 implementations supporting the credit window mechanisms defined in 642 this document. 644 Modems MAY support the configuration of the number of credit windows 645 (queues) to advertise to a router. 647 Routers may have limits on the number of queues that they can support 648 and, perhaps, even limits in supported credit window combinations, 649 e.g., if per destination queues can even be supported at all. When 650 modem-provided credit window information exceeds the capabilities of 651 a router, the router MAY use a subset of the provided credit windows. 652 Alternatively, a router MAY reset the session and indicate that the 653 extension is not supported. In either case, the mismatch of 654 capabilities SHOULD be reported to the user via normal network 655 management mechanisms, e.g., user interface or error logging. 657 3. Compatibility 659 The data items defined in this document will only be used when 660 extensions require their use. 662 4. Security Considerations 664 This document introduces credit window control and flow mechanisms to 665 DLEP. These mechanisms do not inherently introduce any additional 666 threats above those documented in [RFC8175]. The approach taken to 667 Security in that document applies equally to the mechanism defined in 668 this document. 670 5. IANA Considerations 672 This document requests the assignment of several values by IANA. All 673 assignments are to registries defined by [RFC8175]. 675 5.1. Message Values 677 This document requests 2 new assignments to the DLEP Message Registry 678 named "Message Values" in the range with the "Specification Required" 679 policy. The requested values are as follows: 681 +-----------+-------------------------+ 682 | Type Code | Description | 683 +-----------+-------------------------+ 684 | TBA2 | Credit Control | 685 | | | 686 | TBA3 | Credit Control Response | 687 +-----------+-------------------------+ 689 Table 1: Requested Message Values 691 5.2. Data Item Values 693 This document requests the following new assignments to the DLEP Data 694 Item Registry named "Data Item Type Values" in the range with the 695 "Specification Required" policy. The requested values are as 696 follows: 698 +-----------+------------------------------+ 699 | Type Code | Description | 700 +-----------+------------------------------+ 701 | TBA4 | Credit Window Initialization | 702 | | | 703 | TBA5 | Credit Window Association | 704 | | | 705 | TBA6 | Credit Window Grant | 706 | | | 707 | TBA7 | Credit Window Status | 708 | | | 709 | TBA8 | Credit Window Request | 710 +-----------+------------------------------+ 712 Table 2: Requested Data Item Values 714 6. References 716 6.1. Normative References 718 [I-D.ietf-manet-dlep-traffic-classification] 719 Cheng, B., Wiggins, D., and L. Berger, "DLEP Traffic 720 Classification Data Item", August 2018. 722 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 723 Requirement Levels", BCP 14, RFC 2119, 724 DOI 10.17487/RFC2119, March 1997, 725 . 727 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 728 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 729 May 2017, . 731 [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 732 Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, 733 DOI 10.17487/RFC8175, June 2017, 734 . 736 6.2. Informative References 738 [I-D.ietf-manet-credit-window] 739 Ratliff, S., "Credit Windowing extension for DLEP", draft- 740 ietf-manet-credit-window-07 (work in progress), November 741 2016. 743 [I-D.ietf-manet-dlep-da-credit-extension] 744 Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ 745 Aware Credit Window Extension", draft-ietf-manet-dlep-da- 746 credit-extension-05 (work in progress), May 2018. 748 [I-D.ietf-manet-dlep-pause-extension] 749 Cheng, B., Wiggins, D., and L. Berger, "DLEP Control Plane 750 Based Pause Extension", draft-ietf-manet-dlep-pause- 751 extension-04 (work in progress), June 2018. 753 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 754 and W. Weiss, "An Architecture for Differentiated 755 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 756 . 758 Appendix A. Acknowledgments 760 Many useful comments were received from contributors to the MANET 761 working group, notably Rick Taylor. This document was derived from 762 [I-D.ietf-manet-dlep-da-credit-extension] as a result of discussions 763 at IETF101. 765 Authors' Addresses 767 Bow-Nan Cheng 768 MIT Lincoln Laboratory 769 Massachusetts Institute of Technology 770 244 Wood Street 771 Lexington, MA 02421-6426 773 Email: bcheng@ll.mit.edu 775 David Wiggins 776 MIT Lincoln Laboratory 777 Massachusetts Institute of Technology 778 244 Wood Street 779 Lexington, MA 02421-6426 781 Email: David.Wiggins@ll.mit.edu 783 Lou Berger 784 LabN Consulting, L.L.C. 786 Email: lberger@labn.net 787 Stan Ratliff 788 VT iDirect 789 13861 Sunrise Valley Drive, Suite 300 790 Herndon, VA 20171 791 USA 793 Email: sratliff@idirect.net