--- 1/draft-ietf-manet-dlep-pause-extension-00.txt 2017-07-03 16:13:12.836429625 -0700 +++ 2/draft-ietf-manet-dlep-pause-extension-01.txt 2017-07-03 16:13:12.864430299 -0700 @@ -1,20 +1,20 @@ Network Working Group B. Cheng Internet-Draft D. Wiggins Intended status: Standards Track Lincoln Laboratory -Expires: August 13, 2017 L. Berger, Ed. +Expires: January 4, 2018 L. Berger, Ed. LabN Consulting, L.L.C. - February 9, 2017 + July 3, 2017 DLEP Control Plane Based Pause Extension - draft-ietf-manet-dlep-pause-extension-00 + draft-ietf-manet-dlep-pause-extension-01 Abstract This document defines an extension to the DLEP protocol that enables a simple control plane based flow control mechanism. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. @@ -22,21 +22,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on August 13, 2017. + This Internet-Draft will expire on January 4, 2018. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -46,30 +46,32 @@ the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Extension Usage and Identification . . . . . . . . . . . . . 3 3. Extension Data Items . . . . . . . . . . . . . . . . . . . . 3 3.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 3 - 3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 3.1.1. Queue Parameter Sub Data Item . . . . . . . . . . . . 5 + 3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3. Restart . . . . . . . . . . . . . . . . . . . . . . . . . 7 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 5.1. Extension Type Value . . . . . . . . . . . . . . . . . . 8 - 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 8 + 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 9 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 6.2. Informative References . . . . . . . . . . . . . . . . . 9 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 + Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 10 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction The Dynamic Link Event Protocol (DLEP) is defined in [I-D.ietf-manet-dlep]. It provides the exchange of link related control information between DLEP peers. DLEP peers are comprised of a modem and a router. DLEP defines a base set of mechanisms as well as support for possible extensions. This document defines one such extension. @@ -118,95 +120,129 @@ The Queue Parameters Data Item is used by a modem to indicate DSCP values that may be independently paused. This data item MUST be included in a Session Initialization Response Message that also contains the Control Plane Pause Extension Type Value in the Extensions Supported Data Item. Updates to these parameters MAY be sent by a modem by including the data item in Session Update Messages. The Queue Parameters Data Item identifies DSCPs based on groups of - logical queues. The number of logical queues is variable as is the + logical queues, each of which is referred to via a "Queue Index". + The number of logical queues, or queue indexes, is variable as is the number of DSCPs associated with each queue. A queue size (in bytes) - is provided for informational purposes. An implementation that does - not support DSCPs would indicate 1 queue with 0 DSCPs, and the number - of bytes that may be in its associated link transmit queue. + is provided for informational purposes. Queue Indexes are numbered + sequentially from zero, where queue index zero is a special case + covering DSCPs which are not otherwise associated with Queue Index. + + An implementation that does not support DSCPs would indicate 1 queue + with 0 DSCPs, and the number of bytes that may be in its associated + link transmit queue. Additional logical queues are represented in a + variable series of Queue Parameter sub-data items. The format of the Queue Parameters Data Item is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Num Queues | Scale | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |Num DSCPs Q0(0)| Queue Size Q0 | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Num DSCPs Q1 | Queue Size Q1 | + | Reserved | Queue Size Q0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Num DSCPs Q2 | Queue Size Q2 | + | Queue Parameter Sub Data Item 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Num DSCPs Qn | Queue Size Qn | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | DS Field Q1 | DS Field Q1 | DS Field Q1 | DS Field Q2 | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - : ... | DS Field Qn | + | Queue Parameter Sub Data Item n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data Item Type: TBA2 Length: Variable Per [I-D.ietf-manet-dlep] Length is the number of octets in the data item, excluding the Type and Length fields. Num Queues: An 8-bit unsigned integer indicating the number of queues represented in the data item. This field MUST contain a value of - at least one (1). Note that this number is one larger than the - largest queue index value included in the data item. + at least one (1), and is equal to one greater than the number of + included Queue Parameter Sub Data Item. Scale: An 4-bit unsigned integer indicating the scale used in the Queue Size fields. The valid values are: Value Scale ------------ 0 B - Bytes (Octets) 1 KB - Kilobytes (B/1024) 2 MB - Megabytes (KB/1024) 3 GB - Gigabytes (MB/1024) Reserved: MUST be set to zero by the sender (a modem) and ignored by the receiver (a router). + Queue Size Q0: + + A 24-bit unsigned integer representing the size, in the octet + scale indicated by the Scale field, of queue index zero. + +3.1.1. Queue Parameter Sub Data Item + + Queue Parameter Sub Data Items are an ordered list composed of the + identical format sub data item. The first sub data item is assigned + a Queue Index value of 1, and subsequent data item are numbered + incrementally. The format of the Queue Parameter Sub Data Item is + patterned after the standard DLEP data item format, see + [I-D.ietf-manet-dlep] Section 11.3. Any errors or inconsistencies + encountered in parsing Sub Data Items are handled in the same fashion + as any other Data Item parsing error encountered in DLEP. + + The format of the Queue Parameter Sub Data Item is: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Must be one (1) | Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Value... : + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + and Value has the format: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Num DSCPs Qn | Queue Size Qn | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | DS Field Qn | DS Field Qn | ... : + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + : ... | DS Field Qn | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Length: Variable + + Per [I-D.ietf-manet-dlep] Length is the number of octets in the + data item, excluding the Type and Length fields. + Num DSCPs Qn: An 8-bit unsigned integer indicating the number of DSCPs - associated with the indexed queue. Other than the special case - covered in the next paragraph, this field MUST contain a value of - at least one (1). Queue indexes start at zero (0) and the maximum - queue index "Qn" is one less than the value carried in the Num - Queues field. Queue indexes are implicit in the position in the - data item. - - Queue index zero "Q0" is a special case. It is used for any - traffic that does not carry a DSCP value represented in the data - item. Therefore the value of the Queue index zero field, "Num - DSCPs Q0", field MUST be zero (0). + associated with the queue index associated with the sub data item. + This field MUST contain a value of at least one (1). Queue Size Qn: A 24-bit unsigned integer representing the size, in the octet scale indicated by the Scale field, of the queue supporting traffic with the DSCPs associated with the queue index. DS Field Qn: The data item contains a sequence of 8 bit DS Fields. The @@ -259,23 +295,20 @@ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data Item Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Queue Index | ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... | Queue Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - [LB note: a list of Queue Indexes is now supported as is special - value 255.] - Data Item Type: TBA3 Length: Variable Per [I-D.ietf-manet-dlep] Length is the number of octets in the data item, excluding the Type and Length fields. It will equal the number of Queue Index fields carried in the data item. Queue Index: @@ -368,56 +401,62 @@ | TBA4 | Restart | +-----------+------------------+ Table 2: Requested Data Item Values 6. References 6.1. Normative References [I-D.ietf-manet-dlep] - Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and (. - (Unknown), "Dynamic Link Exchange Protocol (DLEP)", draft- - ietf-manet-dlep-24 (work in progress), July 2016. + Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. + Berry, "Dynamic Link Exchange Protocol (DLEP)", draft- + ietf-manet-dlep-29 (work in progress), March 2017. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 6.2. Informative References [I-D.ietf-manet-credit-window] Ratliff, S., "Credit Windowing extension for DLEP", draft- - ietf-manet-credit-window-04 (work in progress), April + ietf-manet-credit-window-07 (work in progress), November 2016. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, DOI 10.17487/RFC2474, December 1998, . [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, . +Appendix A. Acknowledgments + + The sub data item format was inspired by Rick Taylor's "Data Item + Containers". + Authors' Addresses Bow-Nan Cheng Lincoln Laboratory Massachusetts Institute of Technology 244 Wood Street Lexington, MA 02420-9108 Email: bcheng@ll.mit.edu + David Wiggins Lincoln Laboratory Massachusetts Institute of Technology 244 Wood Street Lexington, MA 02420-9108 Email: David.Wiggins@ll.mit.edu Lou Berger (editor) LabN Consulting, L.L.C.