idnits 2.17.1 draft-ietf-manet-dlep-pause-extension-01.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 (July 3, 2017) is 2489 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 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 Lincoln Laboratory 5 Expires: January 4, 2018 L. Berger, Ed. 6 LabN Consulting, L.L.C. 7 July 3, 2017 9 DLEP Control Plane Based Pause Extension 10 draft-ietf-manet-dlep-pause-extension-01 12 Abstract 14 This document defines an extension to the DLEP protocol that enables 15 a simple control plane based flow control mechanism. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on January 4, 2018. 34 Copyright Notice 36 Copyright (c) 2017 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Extension Usage and Identification . . . . . . . . . . . . . 3 54 3. Extension Data Items . . . . . . . . . . . . . . . . . . . . 3 55 3.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 3 56 3.1.1. Queue Parameter Sub Data Item . . . . . . . . . . . . 5 57 3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 6 58 3.3. Restart . . . . . . . . . . . . . . . . . . . . . . . . . 7 59 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 60 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 61 5.1. Extension Type Value . . . . . . . . . . . . . . . . . . 8 62 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 9 63 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 64 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 65 6.2. Informative References . . . . . . . . . . . . . . . . . 9 66 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 10 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 69 1. Introduction 71 The Dynamic Link Event Protocol (DLEP) is defined in 72 [I-D.ietf-manet-dlep]. It provides the exchange of link related 73 control information between DLEP peers. DLEP peers are comprised of 74 a modem and a router. DLEP defines a base set of mechanisms as well 75 as support for possible extensions. This document defines one such 76 extension. 78 The base DLEP specification does not include any flow control 79 capability. There are various flow control possible, e.g., see 80 [I-D.ietf-manet-credit-window]. The extension defined in this 81 document supports flow control based on explicit messages sent via 82 DLEP by a modem to indicate when a router should hold off sending 83 traffic, and when it should resume. The extension also optionally 84 supports DSCP (differentiated services codepoint) aware, see 85 [RFC2475], flow control. The extension defined in this document is 86 referred to as "Control Plane Pause". 88 This document defines a new DLEP Extension Type Value in Section 2 89 which is used to indicate the use of the extension, and three new 90 DLEP Data Items in Section 3. 92 1.1. Key Words 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 96 "OPTIONAL" in this document are to be interpreted as described in BCP 97 14, RFC 2119 [RFC2119]. 99 2. Extension Usage and Identification 101 The use of the Control Plane Pause Extension SHOULD be configurable. 102 To indicate that the Control Plane Pause Extension is to be used, an 103 implementation MUST include the Control Plane Pause Extension Type 104 Value in the Extensions Supported Data Item. The Extensions 105 Supported Data Item is sent and processed according to 106 [I-D.ietf-manet-dlep]. 108 The Control Plane Pause Extension Type Value is TBA1, see Section 5. 110 3. Extension Data Items 112 Three data items are defined by this extension. The Queue Parameters 113 Data Item is used by a modem to provide information on the DSCPs it 114 uses in forwarding. The Pause Data Item is used by a modem to 115 indicate when a router should cease sending packets and the Restart 116 Data Item is used by a modem to indicate when a router can resume 117 sending packets. 119 3.1. Queue Parameters 121 The Queue Parameters Data Item is used by a modem to indicate DSCP 122 values that may be independently paused. This data item MUST be 123 included in a Session Initialization Response Message that also 124 contains the Control Plane Pause Extension Type Value in the 125 Extensions Supported Data Item. Updates to these parameters MAY be 126 sent by a modem by including the data item in Session Update 127 Messages. 129 The Queue Parameters Data Item identifies DSCPs based on groups of 130 logical queues, each of which is referred to via a "Queue Index". 131 The number of logical queues, or queue indexes, is variable as is the 132 number of DSCPs associated with each queue. A queue size (in bytes) 133 is provided for informational purposes. Queue Indexes are numbered 134 sequentially from zero, where queue index zero is a special case 135 covering DSCPs which are not otherwise associated with Queue Index. 137 An implementation that does not support DSCPs would indicate 1 queue 138 with 0 DSCPs, and the number of bytes that may be in its associated 139 link transmit queue. Additional logical queues are represented in a 140 variable series of Queue Parameter sub-data items. 142 The format of the Queue Parameters Data Item is: 144 0 1 2 3 145 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 146 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 147 | Data Item Type | Length | 148 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 149 | Num Queues | Scale | Reserved | 150 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 151 | Reserved | Queue Size Q0 | 152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 153 | Queue Parameter Sub Data Item 1 | 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 : ... : 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | Queue Parameter Sub Data Item n | 158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 Data Item Type: TBA2 162 Length: Variable 164 Per [I-D.ietf-manet-dlep] Length is the number of octets in the 165 data item, excluding the Type and Length fields. 167 Num Queues: 169 An 8-bit unsigned integer indicating the number of queues 170 represented in the data item. This field MUST contain a value of 171 at least one (1), and is equal to one greater than the number of 172 included Queue Parameter Sub Data Item. 174 Scale: 176 An 4-bit unsigned integer indicating the scale used in the Queue 177 Size fields. The valid values are: 179 Value Scale 180 ------------ 181 0 B - Bytes (Octets) 182 1 KB - Kilobytes (B/1024) 183 2 MB - Megabytes (KB/1024) 184 3 GB - Gigabytes (MB/1024) 186 Reserved: 188 MUST be set to zero by the sender (a modem) and ignored by the 189 receiver (a router). 191 Queue Size Q0: 193 A 24-bit unsigned integer representing the size, in the octet 194 scale indicated by the Scale field, of queue index zero. 196 3.1.1. Queue Parameter Sub Data Item 198 Queue Parameter Sub Data Items are an ordered list composed of the 199 identical format sub data item. The first sub data item is assigned 200 a Queue Index value of 1, and subsequent data item are numbered 201 incrementally. The format of the Queue Parameter Sub Data Item is 202 patterned after the standard DLEP data item format, see 203 [I-D.ietf-manet-dlep] Section 11.3. Any errors or inconsistencies 204 encountered in parsing Sub Data Items are handled in the same fashion 205 as any other Data Item parsing error encountered in DLEP. 207 The format of the Queue Parameter Sub Data Item is: 209 0 1 2 3 210 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 211 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 212 | Must be one (1) | Length | 213 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 | Value... : 215 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 and Value has the format: 219 0 1 2 3 220 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 221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 222 | Num DSCPs Qn | Queue Size Qn | 223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 224 | DS Field Qn | DS Field Qn | ... : 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 226 : ... | DS Field Qn | 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 229 Length: Variable 231 Per [I-D.ietf-manet-dlep] Length is the number of octets in the 232 data item, excluding the Type and Length fields. 234 Num DSCPs Qn: 236 An 8-bit unsigned integer indicating the number of DSCPs 237 associated with the queue index associated with the sub data item. 238 This field MUST contain a value of at least one (1). 240 Queue Size Qn: 242 A 24-bit unsigned integer representing the size, in the octet 243 scale indicated by the Scale field, of the queue supporting 244 traffic with the DSCPs associated with the queue index. 246 DS Field Qn: 248 The data item contains a sequence of 8 bit DS Fields. The 249 position in the sequence identifies the associated queue index. 250 The number of DS Fields present should equal the sum of all Num 251 DSCPs field values. 253 The DS Field structure is the same as [RFC2474]. 255 0 1 2 3 4 5 6 7 256 +---+---+---+---+---+---+---+---+ 257 | DSCP | CU | 258 +---+---+---+---+---+---+---+---+ 260 DSCP: differentiated services codepoint 261 CU: currently unused, MUST be zero 263 3.2. Pause 265 The Pause Data Item is used by a modem to indicate to its peer that 266 traffic is to be suppressed. An example of when a modem might send 267 this data item is when an internal queue length exceeds a particular 268 threshold. 270 A modem may indicate that traffic is to be suppressed on a device 271 wide or destination specific basis. An example of when a modem might 272 use device wide indications is when output queues are shared across 273 all destinations, and destination specific might be used when per 274 destination queuing is used. To indicate that suppression applies to 275 all destinations, a modem MAY send the Pause Data Item in a Session 276 Update Message. To indicate that suppression applies to a particular 277 destination a modem MAY send the Pause Data Item in a Destination 278 Update Message. 280 Each Pause Data Item identifies the traffic to be suppressed by the 281 Queue Index defined by Section 3.1, which in turn indicates a set of 282 traffic identified by DSCPs. The special value of 255 is used to 283 indicate that all traffic is to be suppressed. 285 While there is no restriction on the number of Messages containing 286 Pause Data Item that may be sent by a modem, a modem SHOULD include 287 multiple queue indexes in the same message when possible. 289 A router which receives the Pause Data Item MUST cease sending the 290 identified traffic to the modem. This may of course translate into 291 the router's queues exceeding their own thresholds. 293 The format of the Pause Data Item is: 295 0 1 2 3 296 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 297 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 298 | Data Item Type | Length | 299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 300 | Queue Index | ... : 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 : ... | Queue Index | 303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 Data Item Type: TBA3 307 Length: Variable 309 Per [I-D.ietf-manet-dlep] Length is the number of octets in the 310 data item, excluding the Type and Length fields. It will equal 311 the number of Queue Index fields carried in the data item. 313 Queue Index: 315 One or more 8-bit fields used to indicate a queue index defined by 316 a Queue Parameters Data Item. The special value of 255 indicates 317 all traffic is to be suppressed to the modem, when the data item 318 is carried in a Session Update Message, or a destination, when the 319 data item is carried in Destination Update Message. 321 3.3. Restart 323 The Restart Data Item is used by a modem to indicate to its peer that 324 transmission of previously suppressed traffic may be resumed. An 325 example of when a modem might send this data item is when an internal 326 queue length drops below a particular threshold. 328 The sending of this data item parallels the Pause Data Item, see the 329 previous section, and follows the same rules. This includes that to 330 indicate that transmission can resume to all destinations, a modem 331 MAY send the Restart Data Item in a Session Update Message. It also 332 includes that to indicate that transmission can resume to a 333 particular destination a modem MAY send the Pause Restart Item in a 334 Destination Update Message. Finally, the same rules apply to queue 335 indexes. 337 A router which receives the Restart Data Item SHOULD resume 338 transmission of the identified traffic to the modem. 340 The format of the Restart Data Item matches the Pause Data Item and 341 is: 343 0 1 2 3 344 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 345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 346 | Data Item Type | Length | 347 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 348 | Queue Index | ... : 349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 350 : ... | Queue Index | 351 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 353 Data Item Type: TBA4 355 Length: See Section 3.2. 357 Queue Index: See Section 3.2. 359 4. Security Considerations 361 The extension introduces a new mechanism for flow control between a 362 router and modem using the DLEP protocol. The extension does not 363 inherently introduce any additional threats above those documented in 364 [I-D.ietf-manet-dlep]. The approach taken to Security in that 365 document applies equally when running the extension defined in this 366 document. 368 5. IANA Considerations 370 This document requests the assignment of 4 values by IANA. All 371 assignments are to registries defined by [I-D.ietf-manet-dlep]. 373 5.1. Extension Type Value 375 This document requests 1 new assignment to the DLEP Extensions 376 Registry named "Extension Tyoe Values" in the range with the 377 "Specification Required" policy. The requested value is as follows: 379 +------+---------------------+ 380 | Code | Description | 381 +------+---------------------+ 382 | TBA1 | Control Plane Pause | 383 +------+---------------------+ 385 Table 1: Requested Extension Type Value 387 5.2. Data Item Values 389 This document requests 3 new assignments to the DLEP Data Item 390 Registry named "Data Item Values" in the range with the 391 "Specification Required" policy. The requested values are as 392 follows: 394 +-----------+------------------+ 395 | Type Code | Description | 396 +-----------+------------------+ 397 | TBA2 | Queue Parameters | 398 | | | 399 | TBA3 | Pause | 400 | | | 401 | TBA4 | Restart | 402 +-----------+------------------+ 404 Table 2: Requested Data Item Values 406 6. References 408 6.1. Normative References 410 [I-D.ietf-manet-dlep] 411 Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 412 Berry, "Dynamic Link Exchange Protocol (DLEP)", draft- 413 ietf-manet-dlep-29 (work in progress), March 2017. 415 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 416 Requirement Levels", BCP 14, RFC 2119, 417 DOI 10.17487/RFC2119, March 1997, 418 . 420 6.2. Informative References 422 [I-D.ietf-manet-credit-window] 423 Ratliff, S., "Credit Windowing extension for DLEP", draft- 424 ietf-manet-credit-window-07 (work in progress), November 425 2016. 427 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 428 "Definition of the Differentiated Services Field (DS 429 Field) in the IPv4 and IPv6 Headers", RFC 2474, 430 DOI 10.17487/RFC2474, December 1998, 431 . 433 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 434 and W. Weiss, "An Architecture for Differentiated 435 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 436 . 438 Appendix A. Acknowledgments 440 The sub data item format was inspired by Rick Taylor's "Data Item 441 Containers". 443 Authors' Addresses 445 Bow-Nan Cheng 446 Lincoln Laboratory 447 Massachusetts Institute of Technology 448 244 Wood Street 449 Lexington, MA 02420-9108 451 Email: bcheng@ll.mit.edu 453 David Wiggins 454 Lincoln Laboratory 455 Massachusetts Institute of Technology 456 244 Wood Street 457 Lexington, MA 02420-9108 459 Email: David.Wiggins@ll.mit.edu 461 Lou Berger (editor) 462 LabN Consulting, L.L.C. 464 Email: lberger@labn.net