idnits 2.17.1 draft-ietf-manet-dlep-da-credit-extension-04.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 == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: A 16-bit unsigned integer identifying a credit window. The value of 0xFFFF is reserved and MUST not be used in this data item. There is no other restriction on values used by a modem, and there is no requirement for sequential or ordered values. -- The document date (March 1, 2018) is 2219 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 (-08) exists of draft-ietf-manet-dlep-pause-extension-02 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 Lincoln Laboratory 5 Expires: September 2, 2018 L. Berger 6 LabN Consulting, L.L.C. 7 March 1, 2018 9 DLEP DiffServ Aware Credit Window Extension 10 draft-ietf-manet-dlep-da-credit-extension-04 12 Abstract 14 This document defines an extension to the DLEP protocol that enables 15 a DiffServ aware credit-window scheme for destination-specific and 16 shared flow control. The extension is logically composed of two 17 mechanisms. The first provides credit window control, the second 18 identifies how flows are identified and mapped to a credit window. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on September 2, 2018. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 4 56 2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 4 57 3. Extension Usage and Identification . . . . . . . . . . . . . 5 58 4. Credit Window Control . . . . . . . . . . . . . . . . . . . . 5 59 4.1. Data Plane Considerations . . . . . . . . . . . . . . . . 5 60 4.2. Extension Messages . . . . . . . . . . . . . . . . . . . 6 61 4.2.1. Credit Control Message . . . . . . . . . . . . . . . 6 62 4.2.2. Credit Control Response Message . . . . . . . . . . . 7 63 4.3. Credit Window Control Data Items . . . . . . . . . . . . 7 64 4.3.1. Credit Window Initialization . . . . . . . . . . . . 8 65 4.3.2. Credit Window Associate . . . . . . . . . . . . . . . 10 66 4.3.3. Credit Window Grant . . . . . . . . . . . . . . . . . 11 67 4.3.4. Credit Window Status . . . . . . . . . . . . . . . . 12 68 4.3.5. Credit Window Request . . . . . . . . . . . . . . . . 14 69 5. Traffic Classification . . . . . . . . . . . . . . . . . . . 15 70 5.1. Traffic Classification Data Item . . . . . . . . . . . . 15 71 5.1.1. Traffic Classification Sub Data Item . . . . . . . . 17 72 5.2. DiffServ Credit Window Traffic Classification Sub Data 73 Item . . . . . . . . . . . . . . . . . . . . . . . . . . 17 74 6. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 19 75 7. Management Considerations . . . . . . . . . . . . . . . . . . 19 76 8. Security Considerations . . . . . . . . . . . . . . . . . . . 20 77 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 78 9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 20 79 9.2. Message Values . . . . . . . . . . . . . . . . . . . . . 20 80 9.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 21 81 9.4. DLEP Sub Data Item Registry . . . . . . . . . . . . . . . 21 82 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 83 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 84 10.2. Informative References . . . . . . . . . . . . . . . . . 22 85 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 23 86 Appendix B. Notional Support for Ethernet Priority Code Points . 23 87 B.1. Notional Ethernet Credit Window Traffic Classification 88 Sub Data Item . . . . . . . . . . . . . . . . . . . . . . 24 89 B.2. Other Considerations . . . . . . . . . . . . . . . . . . 25 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 92 1. Introduction 94 The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. 95 It provides the exchange of link related control information between 96 DLEP peers. DLEP peers are comprised of a modem and a router. DLEP 97 defines a base set of mechanisms as well as support for possible 98 extensions. This document defines one such extension. 100 The base DLEP specification does not include any flow control 101 capability. There are various flow control techniques theoretically 102 possible with DLEP. For example, a credit-window scheme for 103 destination-specific flow control which provides aggregate flow 104 control for both modem and routers has been proposed in 105 [I-D.ietf-manet-credit-window]. 107 This document defines a DLEP extension which provides a flow control 108 mechanism for traffic sent from a router to a modem. Flow control is 109 provided using one or more logical "Credit Windows", each of which 110 will typically be supported by an associated virtual or physical 111 queue. Traffic sent by a router will use traffic flow classification 112 information provided by the modem to identify which traffic is 113 associated with each credit window. (For general background on 114 traffic classification see [RFC2475] Section 2.3.) Credit windows 115 may be shared or dedicated on a per flow basis. The extension is 116 structured to allow for reuse of the defined credit window based flow 117 control with different traffic classification techniques. 119 This document defines traffic classification based on DLEP 120 destination and DiffServ [RFC2475] DSCPs (differentiated services 121 codepoints). The defined mechanism allows for credit windows to be 122 shared across traffic sent to multiple DLEP destinations and DSCPs, 123 or used exclusively for traffic sent to a particular destination and/ 124 or DSCP. The extension also supports the "wildcard" matching of any 125 DSCP. Traffic classification information is provided such that it 126 can be readily extended to support non-DSCP related traffic 127 classification techniques, or be used by non-credit window related 128 extensions, such as [I-D.ietf-manet-dlep-pause-extension]. 130 The extension defined in this document is referred to as "DiffServ 131 Aware Credit Window" or, more simply, the "DA Credit" extension. 132 Future extensions are expected to define traffic classification 133 techniques other than DiffServ, e.g., IEEE 802.1 Q priority code 134 points or even 5-tuple IP flows. 136 This document defines a new DLEP Extension Type Value in Section 3 137 which is used to indicate support for the extension. Two new 138 messages are defined in Section 4.2 and five new DLEP data items in 139 Section 4.3 are defined to support credit window control. A single 140 data item is defined in Section 5.1 to support traffic classification 141 in general, as well as identification of flows based on DSCPs. 143 1.1. Key Words 145 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 146 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 147 "OPTIONAL" in this document are to be interpreted as described in BCP 148 14 [RFC2119] [RFC8174] when, and only when, they appear in all 149 capitals, as shown here. 151 2. Extension Overview 153 The DA Credit extension can be used to support credit based flow 154 control of traffic sent from a router to a modem. The extension can 155 be used to support DiffServ and per DLEP destination based flow 156 control. Both types of DLEP endpoints, i.e., a router and a modem, 157 negotiate the use of extension during session initialization, see 158 Section 5.2 [RFC8175]. When using this extension, data traffic is 159 allowed to be sent by the router to the modem only when there are 160 credits available. 162 Credits are managed on a per logical "Credit Windows" basis. Each 163 credit window can be thought of as corresponding to a queue within a 164 modem. Modems pass to the router information on their credit windows 165 and identify each via a "Credit Window Identifier", or "CID". In 166 addition to the CID, credit window information includes an initial 167 credit window size, as well as the maximum size of the logical queue 168 associated with each CID. The maximum size is included for 169 informative and potential future uses. 171 Modems provide an initial credit window size at the time of "Credit 172 Window Initialization". Such initialization can take place during 173 session initiation or any point thereafter. It can also take place 174 when rate information changes. Additional "Credit Grants", i.e., 175 increments to Credit Window size, are provided using a Destination Up 176 or the new "Credit Control" Message. A router provides its view of 177 the Credit Window, which is known as "Status", in Destination Up 178 Response and the new "Credit Control Response" Messages. Routers can 179 also request credits using the new "Credit Control" Message. 181 When modems provide credits to a router, they will need to take into 182 account any overhead of their attached transmission technology and 183 map it into the credit semantics defined in this document. In 184 particular, the credit window is defined below to include per frame 185 (packet) MAC headers and this may not match the actual overhead of 186 the modem attached transmission technology. In that case a direct 187 mapping or an approximation will need to be made by the modem to 188 provide appropriate credit values. 190 As mentioned above, traffic classification supported by this document 191 is performed on a per {destination, DSCP} tuple basis. (Per 192 destination traffic classification is also supported.) This means 193 that, routers need the combination of the DLEP identified destination 194 and one or more DSCPs associated with a CID in order to match traffic 195 they send to specific credit windows. Modems provide the mapping of 196 DSCPs to CIDs in sets, each of which is identified via a "Traffic 197 Classification Identifier" or "TID". When a destination becomes 198 reachable, a modem "Associates" (identifies) the TID to be used for 199 traffic sent by the router to that destination. This use of CIDs, 200 TIDs and association of a TID to a DLEP destination enables a modem 201 to share or dedicate resources as needed to match the specifics of 202 its implementation and its attached transmission technology. 204 3. Extension Usage and Identification 206 The extension defined in this document is composed of the mechanisms 207 and processing defined in Section 4 and Section 5. To indicate that 208 the DiffServ Aware Credit Window Extension is to be used, an 209 implementation MUST include the DiffServ Aware Credit Window Type 210 Value in the Extensions Supported Data Item. The Extensions 211 Supported Data Item is sent and processed according to [RFC8175]. 213 The DiffServ Aware Credit Window Extension Type Value is TBA1, see 214 Section 9. 216 4. Credit Window Control 218 This section defines additions to DLEP for the control of credit 219 based flow control. As mentioned above, the definition is made in 220 the context of credit windows which can be thought of as representing 221 different logical queues. Two new messages and five data items are 222 defined to support credit window control. Credit window control also 223 impacts the data plane. 225 4.1. Data Plane Considerations 227 When the use of the extension defined in this document is agreed upon 228 per standard DLEP processing, see Section 3, a router MUST NOT send 229 data traffic to a modem for forwarding when there are no credits 230 available in the associated Credit Window. This document defines 231 credit windows in octets. A credit window value MUST be larger than 232 the number of octets contained in a packet, including any MAC headers 233 used between the router and the modem, in order for the router to 234 send the packet to a modem for forwarding. The credit window is 235 decremented by the number of sent octets. 237 A router MUST identify the credit window associated with traffic sent 238 to a modem based on the traffic classification information provided 239 in the data items defined in this document. Note that routers will 240 typically view a DLEP destination as the next hop MAC address. 242 4.2. Extension Messages 244 Two new messages are defined by this extension: the Credit Control 245 and the Credit Control Response Message. Sending and receiving both 246 message types MUST be supported by any implementation that advertises 247 use of this extension per Section 3. 249 4.2.1. Credit Control Message 251 Credit Control Messages are sent by modems and routers. Each sender 252 is only permitted to have one message outstanding at one time. That 253 is, a sender (modem or router) MUST NOT send a second (or any 254 subsequent) Credit Control Message until a Credit Control Response 255 Message is received from its peer (router or modem). 257 Credit Control Messages are sent by modems to provide credit window 258 increases. Modems send credit increases when there is transmission 259 or local queue availability that exceeds the credit window value 260 previous provided to the router. Modems will need to balance the 261 load generated by sending and processing frequent credit window 262 increases against a router having data traffic available to send, but 263 no credits available. 265 Credit Control Messages MAY be sent by routers to request credits and 266 provide window status. Routers will need to balance the load 267 generated by sending and processing frequent credit window requests 268 against a having data traffic available to send, but no credits 269 available. 271 The Message Type value in the DLEP Message Header is set to TBA2. 273 A message sent by a modem, MUST contain one or more Credit Window 274 Grant Data Items as defined below in Section 4.3.3. A router 275 receiving this message MUST respond with a Credit Control Response 276 Message. 278 A message sent by a router, MUST contain one or more Credit Window 279 Request Data Items defined below in Section 4.3.5 and SHOULD contain 280 a Credit Window Status Data Item, defined in Section 4.3.4, 281 corresponding to each credit window request. A modem receiving this 282 message MUST respond with a Credit Control Response Message based on 283 the received message and data item and the processing defined below, 284 which will typically result in credit window increments being 285 provided. 287 Specific processing associated with each Credit Data Item is provided 288 below. 290 4.2.2. Credit Control Response Message 292 Credit Control Response Messages are sent by routers to report the 293 current Credit Window for a destination. A message sent by a router, 294 MUST contain one or more Credit Window Status Data Items as defined 295 below in Section 4.3.4. Specific receive processing associated with 296 the Credit Window Status Data Item is provided below. 298 Credit Control Response Messages sent by modems MUST contain one or 299 more Credit Window Grant Data Items. A data item for every Credit 300 Window Request data item contained in the corresponding Credit 301 Control Response Message received by the modem MUST be included. 302 Each Credit Grant Data Item MAY provide zero or more additional 303 credits based on the modem's transmission or local queue 304 availability. Specific receive processing associated with each Grant 305 Data Item is provided below. 307 The Message Type value in the DLEP Message Header is set to TBA3. 309 4.3. Credit Window Control Data Items 311 Five new data items are defined to support credit window control. 312 The Credit Window Initialization Data Item is used by a modem to 313 identify a credit window and set its size. The Credit Window 314 Association Data Item is used by a modem to identify which traffic 315 classification identifiers (flows) should be used when sending 316 traffic to a particular DLEP identified destination. The Credit 317 Window Grant is used by a modem to provide additional credits to a 318 router. The Credit Request is used by a router to request additional 319 credits. The Credit Window Status is used to advertise the sender's 320 view of number of available credits for state synchronization 321 purposes. 323 Any errors or inconsistencies encountered in parsing data items are 324 handled in the same fashion as any other data dtem parsing error 325 encountered in DLEP, see [RFC8175]. In particular, the node parsing 326 the data item MUST terminate the session with a Status Data Item 327 indicating Invalid Data. 329 The defined data items and operations have similar objectives as 330 those found in [I-D.ietf-manet-credit-window]. One notable 331 difference from this extension is that in this document credits are 332 never provided by the router to the modem. 334 4.3.1. Credit Window Initialization 336 The Credit Window Initialization Data Item is used by a modem to 337 identify a credit window and set its size. This Data Item SHOULD be 338 included in any Session Initialization Response Message that also 339 contains the DiffServ Aware Credit Window Extension Type Value in the 340 Extensions Supported Data Item. Updates to previously identified 341 credit windows or new credit windows MAY be sent by a modem by 342 including the data item in Session Update Messages. More than one 343 data item MAY be included in a message to provide information on 344 multiple credit windows. 346 The Credit Window Initialization Data Item identifies a credit window 347 using a Credit Window Identifier, or CID. It also provides the size 348 of the identified credit window. Finally, a queue size (in bytes) is 349 provided for informational purposes. Note that to be used, a CID 350 must be associated with in a Traffic Classification Identifier via a 351 Credit Window Association Data Item. 353 The format of the Credit Window Initialization Data Item is: 355 0 1 2 3 356 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 357 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 358 | Data Item Type | Length (16) | 359 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 360 | Credit Window Identifier (CID)| Reserved | 361 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 362 | Credit Value : 363 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 364 : Credit Value | 365 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 366 | Scale | Credit Window Size | 367 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 369 Data Item Type: TBA4 371 Length: 16 373 Per [RFC8175] Length is the number of octets in the data item. It 374 MUST be equal to sixteen (16). 376 Credit Window Identifier (CID): 378 A 16-bit unsigned integer identifying a credit window. The value 379 of 0xFFFF is reserved and MUST not be used in this data item. 380 There is no other restriction on values used by a modem, and there 381 is no requirement for sequential or ordered values. 383 Reserved: 385 MUST be set to zero by the sender (a modem) and ignored by the 386 receiver (a router). 388 Credit Value: 390 A 64-bit unsigned integer representing the credits, in octets, to 391 be applied to the Credit Window. This value includes MAC headers 392 as seen on the link between the modem and router. 394 Scale: 396 An 8-bit unsigned integer indicating the scale used in the Credit 397 Window Size fields. The valid values are: 399 Value Scale 400 ------------ 401 0 B - Bytes (Octets) 402 1 KB - Kilobytes (B/1024) 403 2 MB - Megabytes (KB/1024) 404 3 GB - Gigabytes (MB/1024) 406 Credit Window Size: 408 A 24-bit unsigned integer representing the maximum size, in the 409 octet scale indicated by the Scale field, of the associated credit 410 window. 412 A router that receives a Credit Window Initialization Data Item MUST 413 locate the credit window that is associated with the CID indicated in 414 each received data item. If no associated credit window is found, 415 the router MUST initialize a new credit window using the values 416 carried in the data item. When an associated credit window is found, 417 the router MUST update the credit window using the values carried in 418 the Data Item. It is worth noting, that such updates can result in a 419 credit window size being reduced, for example, due to a transmission 420 rate change on the modem. 422 4.3.2. Credit Window Associate 424 The Credit Window Associate Data Item is used by a modem to associate 425 traffic classification information with a destination. The traffic 426 classification information is identified using a TID value that has 427 previously been sent by the modem or is listed in a Traffic 428 Classification Data Item carried in the same message as the data 429 item. 431 A single Credit Window Associate Data Item MUST be included in all 432 Destination Up and Destination Update Messages sent by a modem when 433 the use of the extension defined in this document is agreed upon, see 434 Section 3. Note that a TID will not be used unless it is listed in a 435 Credit Window Associate Data Item. 437 The format of the Credit Window Associate Data Item is: 439 0 1 2 3 440 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 441 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 442 | Data Item Type | Length (2) | 443 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 444 |Traffic Class. Identifier (TID)| 445 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 447 Data Item Type: TBA5 449 Length: 2 451 Per [RFC8175] Length is the number of octets in the data item. It 452 MUST be equal to two (2). 454 Traffic Classification Identifier (TID): 456 A 16-bit unsigned integer identifying a traffic classification set 457 that has been identified in a Credit Window Traffic Classification 458 Data Item, see Section 5.1. Unknown TID values SHOULD be reported 459 and result in associated traffic being dropped. 461 A router that receives the Credit Window Associate Data Item MUST 462 locate the traffic classification information indicated by the 463 received TID. If no corresponding information can be located, the 464 data item MUST be treated as an error as described above. Once the 465 traffic classification information is located, it MUST be associated 466 with the destination and the router MUST ensure that any data plane 467 state, see Section 4.1, that is associated with the TID is updated as 468 needed. 470 4.3.3. Credit Window Grant 472 The Credit Window Grant data item is used by a modem to provide 473 credits to a router. One or more Credit Window Grant Data Items MAY 474 be carried in the DLEP Destination Up, Destination Announce Response, 475 Destination Update, Credit Control Messages, and Credit Control 476 Response Messages. Multiple Credit Window Grant Data Items in a 477 single message are used to indicate different credit values for 478 different credit windows. In all message types, this data item 479 provides an additional number of octets to be added to the indicated 480 credit window. Credit window are identified via using CID values 481 that have been previously been sent by the modem or are listed in a 482 Credit Window Initialization Data Item carried in the same messages 483 as the data item. 485 The format of the Credit Window Grant Data Item is: 487 0 1 2 3 488 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 489 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 490 | Data Item Type | Length (12) | 491 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 492 | Credit Window Identifier (CID)| Reserved | 493 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 494 | Additional Credits : 495 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 496 : Additional Credits | 497 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 499 Data Item Type: TBA6 501 Length: 12 503 Per [RFC8175], Length is the number of octets in the data item. 504 It MUST be equal to twelve (12). 506 Credit Window Identifier (CID): 508 A 16-bit unsigned integer identifying a credit window that has 509 been identified in a Credit Window Initialization Data Item, see 510 Section 4.3.1. Unknown CID values SHOULD be reported and ignored. 512 Additional Credit: 514 A 64-bit unsigned integer representing the credits, in octets, to 515 be added to the Credit Window. This value includes MAC headers as 516 seen on the link between the modem and router. A value of zero 517 indicates that no additional credits are being provided. 519 When receiving this data item, a router MUST identify the credit 520 window indicated by the CID. If the CID is not known to the router, 521 it SHOULD report or log this information and discard the Data Item. 522 It is important to note that while this data item can be received in 523 a destination specific message, credit windows are managed 524 independently from the destination identified in the message carrying 525 this Data Item, and the indicated CID MAY even be disjoint from the 526 identified destination. 528 Once the credit window is identified, the credit window size MUST be 529 increased by the value contained in the Additional Credits field. If 530 the increase results in a window overflow, i.e., the size of the 531 credit window after the increase is smaller than the original credit 532 window size, the Credit Window must be set to its maximum 533 (0xFFFFFFFFFFFFFFFF). 535 No response is sent by the router to a modem after processing a 536 Credit Window Grant Data Item received in a Credit Control Response 537 Message. In other cases, the receiving router MUST send a Credit 538 Window Status data item or items reflecting the resulting Credit 539 Window value of the updated credit window. When the Credit Grant 540 data item is received in a Destination Up Message, the Credit Window 541 Status data item(s) MUST be sent in the corresponding Destination Up 542 Response Message. Otherwise, a Credit Control Message MUST be sent. 544 4.3.4. Credit Window Status 546 The Credit Window Status data item is used by a router to report the 547 current credit window size to its peer modem. One or more Credit 548 Window Status data items MAY be carried in a Destination Up Response 549 Message or a Credit Control Response Message. As discussed above, 550 the Destination Up Response Message is used when the data item is 551 sent in response to a Destination Up Message, and the Credit Control 552 Response Message is sent in response to a Credit Control Message. 553 Multiple Credit Window Status data items in a single message are used 554 to indicate different sizes of different credit windows. Similar to 555 the Credit Window Grant, credit windows are identified using CID 556 values that have been previously been sent by the modem. 558 The format of the Credit Window Status Data Item is: 560 0 1 2 3 561 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 562 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 563 | Data Item Type | Length (12) | 564 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 565 | Credit Window Identifier (CID)| Reserved | 566 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 567 | Credit Window Size : 568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 569 : Credit Window Size | 570 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 572 Data Item Type: TBA7 574 Length: 12 576 Per [RFC8175] Length is the number of octets in the data item. It 577 MUST be equal to twelve (12). 579 Credit Window Identifier (CID): 581 A 16-bit unsigned integer identifying a credit window that has 582 been identified in a Credit Window Initialization Data Item, see 583 Section 4.3.1. 585 Credit Window Size: 587 A 64-bit unsigned integer, indicating the current number of 588 credits, in octets, available for the router to send to the modem. 589 This is referred to as the Modem Receive Window in 590 [I-D.ietf-manet-credit-window]. 592 When receiving this data item, a modem MUST identify the credit 593 window indicated by the CID. If the CID is not known to the modem, 594 it SHOULD report or log this information and discard the data item. 595 As with the Credit Window Grant Data Item, the CID MAY be unrelated 596 to the Destination indicated in the message carrying the data item. 598 Once the credit window is identified, the modem SHOULD check the 599 received Credit Window Size field value against the outstanding 600 credit window's available credits at the time the most Credit Window 601 Initialization or Grant data item associated with the indicated CID 602 was sent. If the values significantly differ, i.e., greater than can 603 be accounted for based on observed data frames, then the modem SHOULD 604 send a Credit Window Initialization Data Item to reset the associated 605 credit window size to the modem's current view of the available 606 credits. As defined above, Credit Window Initialization Data Items 607 are sent in Session Update Messages. When multiple data items need 608 to be sent, they SHOULD be combined into a single message when 609 possible. Alternatively, and also in cases where there are small 610 differences, the modem MAY adjust the values sent in Credit Window 611 Grant data items to account for the reported Credit Window. 613 4.3.5. Credit Window Request 615 The Credit Window Request Data Item is used by a router to request 616 additional credits for particular credit windows. Credit Window 617 Request Data Items are carried in Credit Control Messages, and one or 618 more Credit Window Request Data Items MAY be present in a message. 620 Credit windows identified using a CID as defined above in 621 Section 4.3.1. Multiple CIDs MAY be present to allow for the case 622 where the router identifies that credits are needed in multiple 623 credit windows. The special CID value of 0xFFFF is used to indicate 624 that a credit request is being made across all queues. 626 The format of the Credit Window Request Data Item is: 628 0 1 2 3 629 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 630 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 631 | Data Item Type | Length | 632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 633 | Credit Window Identifier (CID)| ... : 634 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 635 : ... | Credit Window Identifier (CID)| 636 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 638 Data Item Type: TBA8 640 Length: Variable 642 Per [RFC8175] Length is the number of octets in the data item, 643 excluding the Type and Length fields. It will equal the number of 644 CID fields carried in the data item times 2 and MUST be at least 645 2. 647 Credit Window Identifier (CID): 649 One or more 16-bit fields used to indicate a credit window that 650 has been identified in a Credit Window Initialization Data Item, 651 see Section 4.3.1. The special value of 0xFFFFFFFF indicates that 652 the request applies to all CIDs. 654 A modem receiving this data item MUST provide a Credit Increment for 655 the indicated credit windows via Credit Window Grant Data Items 656 carried in a new Credit Control Message. Multiple values and queue 657 indexes SHOULD be combined into a single Credit Control Message when 658 possible. Unknown CID values SHOULD be reported or logged and then 659 ignored by the modem. 661 5. Traffic Classification 663 Traffic classification is supported by the Traffic Classification 664 Data Item defined below. The base data item and sub data item 665 structure is intended to be independent of any specific usage of the 666 flow identification provided within the data item. It is designed to 667 be extensible for future traffic classification types. While the 668 structure of the data items is extensible, actual flow information is 669 expected to be used in an extension dependent manner. 671 In the context of the DiffServ Aware Credit Window Extension, the 672 Traffic Classification Data Item is used by a modem to identify 673 groups of DSCPs which are to be mapped to a credit window. A DLEP 674 destination address is also needed to complete the traffic 675 classification information. This address is provided by a modem when 676 it identifies the traffic classification set in a Destination Up 677 Message using the Credit Window Associate Data Item defined above. 679 5.1. Traffic Classification Data Item 681 This sections defines the Traffic Classification Data Item. This 682 data item is used by a modem to provide a router with traffic 683 classification information. When an extension requires use of this 684 data item the Traffic Classification Data Item SHOULD be included by 685 a modem in any Session Initialization Response Message that also 686 contains the corresponding Extension Type Value in the Extensions 687 Supported Data Item. Updates to previously provided traffic 688 classifications or new traffic classifications MAY be sent by a modem 689 by including the data item in Session Update Messages. More than one 690 data item MAY be included in a message to provide information on 691 multiple traffic classifiers. 693 The set of traffic classification information provided in the data 694 item is identified using a Traffic Classification Identifier, or TID. 695 Addition information, e.g., the list DSCPs associated with a credit 696 window, is provided in a variable series of Queue Parameter sub-data 697 items. 699 The format of the Traffic Classification Data Item is: 701 0 1 2 3 702 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 703 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 704 | Data Item Type | Length | 705 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 706 |Traffic Class. Identifier (TID)| Num SDIs | Reserved | 707 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 708 | Traffic Classification Sub Data Item 1 | 709 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 710 : ... : 711 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 712 | Traffic Classification Sub Data Item n | 713 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 715 Data Item Type: TBA9 717 Length: Variable 719 Per [RFC8175] Length is the number of octets in the data item, 720 excluding the Type and Length fields. 722 Traffic Classification Identifier (TID): 724 A 16-bit unsigned integer identifying a traffic classification 725 set. There is no restriction on values used by a modem, and there 726 is no requirement for sequential or ordered values. 728 Num SDIs: 730 An 8-bit unsigned integer indicating the number of Traffic 731 Classification Sub Data Items included in the data item. A value 732 of zero (0) is allowed and indicates that no traffic should be 733 matched against this TID. 735 Reserved: 737 MUST be set to zero by the sender (a modem) and ignored by the 738 receiver (a router). 740 Traffic Classification Sub Data Item: 742 Zero or more Traffic Classification Sub Data Items of the format 743 defined below MAY be included. The number MUST match the value 744 carried in the Num SDIs field. 746 A router receiving the Traffic Classification Data Item MUST locate 747 the traffic classification information that is associated with the 748 TID indicated in each received data item. If no associated traffic 749 classification information is found, the router MUST initialize a new 750 information set using the values carried in the data item. When 751 associated traffic classification information is found, the router 752 MUST update the information using the values carried in the Data 753 Item. In both cases, a router MUST also ensure that any data plane 754 state, see Section 4.1, that is associated with the TID is updated as 755 needed. 757 5.1.1. Traffic Classification Sub Data Item 759 All Traffic Classification Sub Data Items share a common format that 760 is patterned after the standard DLEP data item format, see [RFC8175] 761 Section 11.3. There is no requirement on, or meaning to sub data 762 item ordering. Any errors or inconsistencies encountered in parsing 763 sub data items are handled in the same fashion as any other data item 764 parsing error encountered in DLEP. 766 The format of the Traffic Classification Sub Data Item is: 768 0 1 2 3 769 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 770 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 771 | Sub Data Item Type | Length | 772 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 773 | Value... : 774 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 776 Sub Data Item Type: 778 A 16-bit unsigned integer that indicates the type and 779 corresponding format of the data item's Value field. Sub Data 780 Item Types are managed according to the IANA registry described in 781 Section 9.4. 783 Length: Variable 785 Copying [RFC8175], Length a 16-bit unsigned integer that is the 786 number of octets in the sub data item, excluding the Type and 787 Length fields. 789 5.2. DiffServ Credit Window Traffic Classification Sub Data Item 791 The DiffServ Credit Window Traffic Classification Sub Data Item is 792 used to identify the DSCPs associated with a specific credit window. 793 Credit windows are identified using CID values that have been 794 previously been sent by the modem or are listed in a Credit Window 795 Initialization Data Item carried in the same messages as the sub data 796 item. DSCPs are identified in a list of DiffServ fields. An 797 implementation that does not support DSCPs, and wants to use credit 798 window flow control for all traffic to a destination or destinations, 799 would indicate with 0 DSCPs. 801 The format of the DiffServ Credit Window Traffic Classification Sub 802 Data Item is: 804 0 1 2 3 805 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 806 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 807 | Must be two (2) | Length | 808 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 809 | Credit Window Identifier (CID)| Num DSCPs | DS Field 1 | 810 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 811 | DS Field 2 | ... | DS Field n | 812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 814 Length: Variable 816 Length is the number of octets in the sub data item. It is equal 817 to three (3) plus the value of the Num DSCPs field. 819 Credit Window Identifier (CID): 821 A 16-bit unsigned integer identifying a credit window that has 822 been identified in a Credit Window Initialization Data Item, see 823 Section 4.3.1. Unknown CID values SHOULD be reported and result 824 in associated traffic being dropped. 826 Num DSCPs: 828 An 8-bit unsigned integer indicating the number of DSCPs carried 829 in the sub data item. A zero (0) indicates a (wildcard) match 830 against any DSCP value. 832 DS Field: 834 Each DS Field is an 8-bit whose definition is the same as 835 [RFC2474]. 837 0 1 2 3 4 5 6 7 838 +---+---+---+---+---+---+---+---+ 839 | DSCP | CU | 840 +---+---+---+---+---+---+---+---+ 842 DSCP: differentiated services codepoint 843 CU: currently unused, MUST be zero 845 A router receiving the DiffServ Traffic Classification Sub Data Item 846 MUST validate the information on receipt prior to the information and 847 data plane update described earlier in this section. The credit 848 window associated with the CID indicated in each data item must be 849 located. It is important to note that the CID value may be present 850 in a Credit Window Initialization Data Item carried in the same 851 message as the sub data item. If the CID is not located, then it 852 MUST be treated as an error as described above. 854 When there are no unknown CIDs, the receiver MUST ensure that each DS 855 Field value is listed only once across the whole Traffic 856 Classification Data Item. Note, this check is across the data item 857 and not the individual sub data item. If the same DS Field value is 858 listed more than once within the same Traffic Classification Data 859 Item, the data item MUST be treated as an error as described above. 861 In all cases, the router MUST use validated DSCPs in data plane 862 credit window identification as described in Section 4.1. 864 6. Compatibility 866 Sessions established with both peers identified as supporting the 867 DiffServ Aware Credit Window Extension Type, see Section 3, MUST NOT 868 use the [I-D.ietf-manet-credit-window] defined Credit data items. If 869 a node supporting the extension defined in this document, receives a 870 [I-D.ietf-manet-credit-window] defined data item, the recipient MUST 871 ignore the received information. 873 7. Management Considerations 875 This section provides several network management guidelines to 876 implementations supporting the DiffServ Aware Credit Window 877 Extension. 879 The use of the extension defined in this document SHOULD be 880 configurable on both modems and routers. 882 Modems SHOULD support the configuration of DSCP to credit window 883 (queue) mapping. 885 Modems MAY support the configuration of the number of credit windows 886 (queues) to advertise to a router. 888 Routers may have limits on the number of queues that they can support 889 and, perhaps, even limits in supported credit window combinations, 890 e.g., if per destination queues can even be supported at all. When 891 modem-provided credit window information exceeds the capabilities of 892 a router, the router MAY use a subset of the provided credit windows. 894 Alternatively, a router MAY reset the session and indicate that the 895 extension is not supported. In either case, the mismatch of 896 capabilities SHOULD be reported to the user via normal network 897 management mechanisms, e.g., user interface or error logging. 899 8. Security Considerations 901 The extension introduces a DiffServ awareness to the mechanisms 902 defined in [I-D.ietf-manet-credit-window]. The extension does not 903 inherently introduce any additional threats above those documented in 904 [RFC8175]. The approach taken to Security in that document and 905 [I-D.ietf-manet-credit-window] apply equally when running the 906 extension defined in this document. 908 9. IANA Considerations 910 This document requests the assignment of 5 values by IANA. All 911 assignments are to registries defined by [RFC8175]. 913 9.1. Extension Type Value 915 This document requests 1 new assignment to the DLEP Extensions 916 Registry named "Extension Type Values" in the range with the 917 "Specification Required" policy. The requested value is as follows: 919 +------+------------------------------+ 920 | Code | Description | 921 +------+------------------------------+ 922 | TBA1 | DiffServ Aware Credit Window | 923 +------+------------------------------+ 925 Table 1: Requested Extension Type Value 927 9.2. Message Values 929 This document requests 2 new assignments to the DLEP Message Registry 930 named "Message Values" in the range with the "Specification Required" 931 policy. The requested values are as follows: 933 +-----------+-------------------------+ 934 | Type Code | Description | 935 +-----------+-------------------------+ 936 | TBA2 | Credit Control | 937 | | | 938 | TBA3 | Credit Control Response | 939 +-----------+-------------------------+ 941 Table 2: Requested Message Values 943 9.3. Data Item Values 945 This document requests the following new assignments to the DLEP Data 946 Item Registry named "Data Item Type Values" in the range with the 947 "Specification Required" policy. The requested values are as 948 follows: 950 +-----------+------------------------------+ 951 | Type Code | Description | 952 +-----------+------------------------------+ 953 | TBA4 | Credit Window Initialization | 954 | | | 955 | TBA5 | Credit Window Association | 956 | | | 957 | TBA6 | Credit Window Grant | 958 | | | 959 | TBA7 | Credit Window Status | 960 | | | 961 | TBA8 | Credit Window Request | 962 | | | 963 | TBA9 | Traffic Classification | 964 +-----------+------------------------------+ 966 Table 3: Requested Data Item Values 968 9.4. DLEP Sub Data Item Registry 970 Upon approval of this document, IANA is requested to create a new 971 DLEP registry, named "Sub Data Item Type Values". The registry shall 972 identify the type code value, the Data Item which may use the value, 973 and a description of the value. While the same value may be reused 974 in different data items, this is not recommended at this time. 976 The following table provides initial registry values and the 977 [RFC8126] defined policies that should apply to the registry: 979 +-------------+------------------------------+----------------------+ 980 | Type Code | Valid Data Items | Description | 981 +-------------+------------------------------+----------------------+ 982 | 0 | N/A | Reserved | 983 | | | | 984 | 1 | N/A | Reserved (for pause | 985 | | | sub-DI) | 986 | | | | 987 | 2 | DiffServ Credit Window | DiffServ Traffic | 988 | | Traffic Classification | Classification | 989 | | | | 990 | 2-65407 | | Specification | 991 | | | Required | 992 | | | | 993 | 65408-65534 | | Private Use | 994 | | | | 995 | 65535 | | Reserved | 996 +-------------+------------------------------+----------------------+ 998 Table 4: Initial Registry Values 1000 10. References 1002 10.1. Normative References 1004 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1005 Requirement Levels", BCP 14, RFC 2119, 1006 DOI 10.17487/RFC2119, March 1997, 1007 . 1009 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1010 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1011 May 2017, . 1013 [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 1014 Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, 1015 DOI 10.17487/RFC8175, June 2017, 1016 . 1018 10.2. Informative References 1020 [I-D.ietf-manet-credit-window] 1021 Ratliff, S., "Credit Windowing extension for DLEP", draft- 1022 ietf-manet-credit-window-07 (work in progress), November 1023 2016. 1025 [I-D.ietf-manet-dlep-pause-extension] 1026 Cheng, B., Wiggins, D., and L. Berger, "DLEP Control Plane 1027 Based Pause Extension", draft-ietf-manet-dlep-pause- 1028 extension-02 (work in progress), October 2017. 1030 [IEEE.802.1Q_2014] 1031 IEEE, "IEEE Standard for Local and metropolitan area 1032 networks--Bridges and Bridged Networks", IEEE 802.1Q-2014, 1033 DOI 10.1109/ieeestd.2014.6991462, December 2014, 1034 . 1037 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 1038 "Definition of the Differentiated Services Field (DS 1039 Field) in the IPv4 and IPv6 Headers", RFC 2474, 1040 DOI 10.17487/RFC2474, December 1998, 1041 . 1043 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 1044 and W. Weiss, "An Architecture for Differentiated 1045 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 1046 . 1048 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1049 Writing an IANA Considerations Section in RFCs", BCP 26, 1050 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1051 . 1053 Appendix A. Acknowledgments 1055 The sub data item format was inspired by Rick Taylor's "Data Item 1056 Containers". He also proposed the separation of credit windows from 1057 traffic classification at IETF98. Many useful comments were received 1058 from contributors to the MANET working group. 1060 Appendix B. Notional Support for Ethernet Priority Code Points 1062 This document is intended to allow for use of the credit control 1063 mechanisms defined in Section 4 with different flow identification 1064 techniques. This section explores the viability of this through the 1065 notional definition of credit control with Ethernet Priority Code 1066 Points. Ethernet Priority Code Point support is defined as part of 1067 the IEEE 802.1Q [IEEE.802.1Q_2014] tag format and includes a 3 bit 1068 "PCP" field. The tag format also includes a 12 bit VLAN identifier 1069 (VID) field. 1071 In theory only one new Traffic Classification Sub Data Item is 1072 required to enable support for the traffic classification of a new 1073 flow type. This section defines such a sub data item. This 1074 definition is not a full Extension definition, but may serve as the 1075 foundation for such in the future; in a new document. 1077 B.1. Notional Ethernet Credit Window Traffic Classification Sub Data 1078 Item 1080 The Ethernet Credit Window Traffic Classification Sub Data Item is 1081 used to identify the VLAN and PCPs associated with a specific credit 1082 window. Credit windows are identified using CID values that have 1083 been previously been sent by the modem or are listed in a Credit 1084 Window Initialization Data Item carried in the same messages as the 1085 sub data item. PCPs are identified in a list of priority fields. An 1086 implementation that does not support PCPs, and wants to use credit 1087 window flow control for all traffic to a destination or destinations, 1088 would indicate with 0 PCPs. Such an implementation could identify a 1089 VLAN to use per destination. 1091 The format of the Ethernet Credit Window Traffic Classification Sub 1092 Data Item is: 1094 0 1 2 3 1095 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 1096 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1097 | TBD | Length (8) | 1098 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1099 | Credit Window Identifier (CID)|NumPCPs| VLAN Identifier (VID) | 1100 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1101 | Pri. 1| Pri. 2| Pri. 3| Pri. 4| Pri. 5| Pri. 6| Pri. 7| Pri. 8| 1102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1104 Length: Variable 1106 Length is the number of octets in the sub data item. It is equal 1107 to eight (8). 1109 Credit Window Identifier (CID): 1111 A 16-bit unsigned integer identifying a credit window that has 1112 been identified in a Credit Window Initialization Data Item, see 1113 Section 4.3.1. Unknown CID values SHOULD be reported and result 1114 in associated traffic being dropped. 1116 Num PCPs: 1118 A 4-bit unsigned integer indicating the number of PCPs carried in 1119 the sub data item. A zero (0) indicates a (wildcard) match 1120 against any PCP value. 1122 VLAN identifier (VID): 1124 A 12-bit unsigned integer field indicating the VLAN to be used in 1125 traffic classification. A value of all ones (0xFFF) indicates a 1126 wild card and any VID is to be accepted during traffic 1127 classification. Zero (0) and any other value are valid values. 1129 Priority: 1131 Each Priority Field is an 4-bit whose definition includes the PCP 1132 field defined in [IEEE.802.1Q_2014] 1134 0 1 2 3 1135 +---+---+---+---+ 1136 | PCP |DEI| 1137 +---+---+---+---+ 1139 PCP: Priority code point 1140 DEI: currently unused, MUST be zero 1142 A router receiving the Ethernet Traffic Classification Sub Data Item 1143 MUST validate the information on receipt prior to the information and 1144 data plane update described earlier in this section. The credit 1145 window associated with the CID indicated in each data item must be 1146 located. It is important to note that the CID value may be present 1147 in a Credit Window Initialization Data Item carried in the same 1148 message as the sub data item. If the CID is not located, the it MUST 1149 be treated as an error as described above. 1151 When there are no unknown CIDs, the receiver MUST ensure that each 1152 Priority Field value is listed only once across the whole Traffic 1153 Classification Data Item. Note, this check is across the data item 1154 and not the individual sub data item. If the same Priority Field 1155 value is listed more than once within the same Traffic Classification 1156 Data Item, the data item MUST be treated as an error as described 1157 above. 1159 In all cases, the router MUST use validated PCPs in data plane credit 1160 window identification as described in Section 4.1. 1162 B.2. Other Considerations 1164 A full definition for the support of an Ethernet Credit Window 1165 Extensions would need to assign a new Extension Type Value as well as 1166 the Ethernet Credit Window Traffic Classification Sub Data Item 1167 Value. It would also need to fully document the implications of 1168 multiple VLAN support, including configuration implications, e.g., 1169 limiting value to 0 to indicate PCP-only usage. 1171 Authors' Addresses 1173 Bow-Nan Cheng 1174 Lincoln Laboratory 1175 Massachusetts Institute of Technology 1176 244 Wood Street 1177 Lexington, MA 02421-6426 1179 Email: bcheng@ll.mit.edu 1181 David Wiggins 1182 Lincoln Laboratory 1183 Massachusetts Institute of Technology 1184 244 Wood Street 1185 Lexington, MA 02421-6426 1187 Email: David.Wiggins@ll.mit.edu 1189 Lou Berger 1190 LabN Consulting, L.L.C. 1192 Email: lberger@labn.net