draft-ietf-manet-dlep-pause-extension-08.txt   rfc8651.txt 
Network Working Group B. Cheng Internet Engineering Task Force (IETF) B. Cheng
Internet-Draft D. Wiggins Request for Comments: 8651 D. Wiggins
Intended status: Standards Track MIT Lincoln Laboratory Category: Standards Track MIT Lincoln Laboratory
Expires: December 15, 2019 L. Berger, Ed. ISSN: 2070-1721 L. Berger, Ed.
LabN Consulting, L.L.C. LabN Consulting, L.L.C.
June 13, 2019 October 2019
DLEP Control Plane Based Pause Extension Dynamic Link Exchange Protocol (DLEP)
draft-ietf-manet-dlep-pause-extension-08 Control-Plane-Based Pause Extension
Abstract Abstract
This document defines an extension to the Dynamic Link Exchange This document defines an extension to the Dynamic Link Exchange
Protocol (DLEP) that enables a modem to use DLEP messages to pause Protocol (DLEP) that enables a modem to use DLEP messages to pause
and resume data traffic coming from its peer router. and resume data traffic coming from its peer router.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
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 https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on December 15, 2019. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8651.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Key Words
2. Extension Usage and Identification . . . . . . . . . . . . . 3 2. Extension Usage and Identification
3. Extension Data Items . . . . . . . . . . . . . . . . . . . . 3 3. Extension Data Items
3.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 3 3.1. Queue Parameters
3.1.1. Queue Parameter Sub Data Item . . . . . . . . . . . . 5 3.1.1. Queue Parameter Sub-Data Item
3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Pause
3.3. Restart . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3. Restart
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 4. Security Considerations
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations
5.1. Extension Type Value . . . . . . . . . . . . . . . . . . 9 5.1. Extension Type Value
5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 10 5.2. Data Item Values
5.3. Queue Parameters Sub Data Item Values . . . . . . . . . . 10 5.3. Queue Parameter Sub-Data Item Values
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 6. References
6.1. Normative References . . . . . . . . . . . . . . . . . . 11 6.1. Normative References
6.2. Informative References . . . . . . . . . . . . . . . . . 11 6.2. Informative References
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 12 Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses
1. Introduction 1. Introduction
The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175].
It provides the exchange of link related control information between It provides the exchange of link-related control information between
a modem and a router. DLEP defines a base set of mechanisms as well a modem and a router. DLEP defines a base set of mechanisms as well
as support for possible extensions. This document defines one such as support for possible extensions. This document defines one such
extension. extension.
The base DLEP specification does not include any data plane flow The base DLEP specification does not include any data-plane
control capability. The extension defined in this document supports flow-control capability. The extension defined in this document
flow control of data traffic based on explicit messages sent via DLEP supports flow control of data traffic based on explicit messages sent
by a modem to indicate when a router should hold off sending traffic, via DLEP by a modem to indicate when a router should hold off sending
and when it should resume. This functionality parallels the flow traffic and when it should resume. This functionality parallels the
control mechanism found in PPP over Ethernet (PPPoE) per [RFC5578]. flow-control mechanism found in PPP over Ethernet (PPPoE) per
The extension also optionally supports DSCP (differentiated services [RFC5578]. The extension also optionally supports DSCP-aware flow
codepoint) aware flow control for use by DiffServ-aware modems. (For control ("DSCP" stands for "Differentiated Services Code Point") for
general background on Differentiated Services see [RFC2475].) This use by Diffserv-aware modems. (For general background on
functionality is very similar to that provided by Ethernet Priority Differentiated Services, see [RFC2475].) This functionality is very
flow control, see [IEEE.802.1Q_2014]. The extension defined in this similar to that provided by Ethernet priority-based flow control; see
document is referred to as "Control Plane Based Pause". Other flow [IEEE.802.1Q_2014]. The extension defined in this document is
control methods are possible with DLEP, e.g., see referred to as "Control-Plane-Based Pause". Other flow-control
[I-D.ietf-manet-dlep-da-credit-extension] and methods are possible with DLEP; for example, see [DLEP-DIFFSERV] and
[I-D.ietf-manet-dlep-credit-flow-control]. [DLEP-CREDIT].
Note that this mechanism only applies to traffic that is to be Note that this mechanism only applies to traffic that is to be
transmitted on the modem's attached data channel and not to DLEP transmitted on the modem's attached data channel and not to DLEP
control messages themselves. Furthermore it applies only to the control messages themselves. Furthermore, it applies only to the
single sub-network that is used to connect a modem and a router, and single subnetwork that is used to connect a modem and a router, and
for traffic sent from a router to a modem. for traffic sent from a router to a modem.
This document defines a new DLEP Extension Type Value in Section 2 This document defines a new DLEP Extension Type Value that is used to
which is used to indicate the use of the extension, and three new indicate the use of the extension; see Section 2. Three new DLEP
DLEP Data Items in Section 3. Data Items are defined in Section 3.
1.1. Key Words 1.1. Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Extension Usage and Identification 2. Extension Usage and Identification
The use of the Control Plane Based Pause Extension SHOULD be The use of the Control-Plane-Based Pause Extension SHOULD be
configurable. To indicate that the implementation supports use of configurable. To indicate that the implementation supports the use
the Control Plane Based Pause Extension, an implementation MUST of the Control-Plane-Based Pause Extension, an implementation MUST
include the Control Plane Based Pause Extension Type Value in the include the Control-Plane-Based Pause Extension Type Value in the
Extensions Supported Data Item. The Extensions Supported Data Item Extensions Supported Data Item. The Extensions Supported Data Item
is sent and processed according to [RFC8175]. is sent and processed according to [RFC8175].
The Control Plane Based Pause Extension Type Value is TBA1, see The Control-Plane-Based Pause Extension Type Value is 2; see
Section 5. Section 5.
3. Extension Data Items 3. Extension Data Items
Three data items are defined by this extension. The Queue Parameters Three Data Items are defined by this extension. The Queue Parameters
Data Item is used by a modem to provide information about the DSCPs Data Item is used by a modem to provide information about the DSCPs
it uses in forwarding. The Pause Data Item is used by a modem to it uses in forwarding. The Pause Data Item is used by a modem to
indicate when a router should cease sending packets and the Restart indicate when a router should cease sending packets, and the Restart
Data Item is used by a modem to indicate when a router can resume Data Item is used by a modem to indicate when a router can resume
sending packets. sending packets.
3.1. Queue Parameters 3.1. Queue Parameters
The Queue Parameters Data Item is sent by a modem to to a router to The Queue Parameters Data Item is sent by a modem to a router to
indicate DSCP values that may be independently paused. This data indicate DSCP values that may be independently paused. This Data
item MUST be included in a Session Initialization Response Message Item MUST be included in a Session Initialization Response Message
that also contains the Control Plane Based Pause Extension Type Value that also contains the Control-Plane-Based Pause Extension Type Value
in the Extensions Supported Data Item. Updates to these parameters in the Extensions Supported Data Item. Updates to these parameters
MAY be sent by a modem by including the data item in Session Update MAY be sent by a modem by including the Data Item in Session Update
Messages. Messages.
The Queue Parameters Data Item groups DSCPs into logical queues, each The Queue Parameters Data Item groups DSCPs into logical queues, each
of which is identified by a "Queue Index". The number of logical of which is identified by a "Queue Index" field. The number of
queues, or queue indexes, is variable as is the number of DSCPs logical queues is variable, as is the number of DSCPs associated with
associated with each queue. A queue size (in bytes) is provided for each queue. A queue size (in bytes) is provided for informational
informational purposes. Queue Indexes are numbered sequentially from purposes. Queue Index fields are numbered sequentially from zero,
zero, where queue index zero is a special case covering DSCPs which where queue index zero is a special case covering DSCPs that are not
are not otherwise associated with a Queue Index. otherwise associated with a Queue Index field.
An implementation that does not support DSCPs would indicate 1 queue An implementation that does not support DSCPs would indicate one
with 0 DSCPs, and the number of bytes that may be in its associated queue with zero DSCPs, and the number of bytes that may be in its
link transmit queue. Additional logical queues are represented in a associated link transmit queue. Additional logical queues are
variable series of Queue Parameter sub data items. represented in a variable series of Queue Parameter Sub-Data Items.
The format of the Queue Parameters Data Item is: The format of the Queue Parameters Data Item is:
0 1 2 3 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 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 | | Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num Queues | Scale | Reserved | | Num Queues | Scale | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Parameter Sub Data Item 1 | | Queue Parameter Sub-Data Item 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... : : ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Parameter Sub Data Item n | | Queue Parameter Sub-Data Item n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBA2 Data Item Type:
23
Length: Variable Length:
Variable
Per [RFC8175] Length is the number of octets in the data item, Per [RFC8175], Length is the number of octets in the Data Item,
excluding the Type and Length fields. excluding the Type and Length fields.
Num Queues: Num Queues:
An 8-bit unsigned integer indicating the number of Queue Parameter
An 8-bit unsigned integer indicating the number of queues Sub-Data Items that follow. This field MUST contain a value of at
represented in the data item. This field MUST contain a value of least one (1).
at least one (1), and is equal to one greater than the number of
included Queue Parameter Sub Data Items.
Scale: Scale:
A 4-bit unsigned integer indicating the scale used in the Queue A 4-bit unsigned integer indicating the scale used in the Queue
Size fields. The valid values are: Size Qn field. The valid values are:
Value Scale +-------+--------------------------+
------------ | Value | Scale |
0 B - Bytes (Octets) +=======+==========================+
1 KiB - Kilobytes (1024 B) | 0 | B - Bytes (Octets) |
2 MiB - Megabytes (1024 KiB) +-------+--------------------------+
3 GiB - Gigabytes (1024 MiB) | 1 | KB - Kilobytes (1024 B) |
+-------+--------------------------+
| 2 | MB - Megabytes (1024 KB) |
+-------+--------------------------+
| 3 | GB - Gigabytes (1024 MB) |
+-------+--------------------------+
Reserved: Table 1: Queue Size Qn Field Values
A 20-bit field that MUST be set to zero by the sender (a modem) Reserved: A 20-bit field that MUST be set to zero (0) by the sender
and ignored by the receiver (a router). (a modem) and ignored by the receiver (a router).
3.1.1. Queue Parameter Sub Data Item 3.1.1. Queue Parameter Sub-Data Item
Queue Parameter Sub Data Items are an unordered list composed of sub Queue Parameter Sub-Data Items are an unordered list composed of
data items with a common format. The format of the Queue Parameter Sub-Data Items with a common format. The format of the Queue
Sub Data Item is patterned after the standard DLEP data item format, Parameter Sub-Data Item is patterned after the standard format for
see [RFC8175] Section 11.3. Any errors or inconsistencies the DLEP Data Item; see [RFC8175], Section 11.3. Any errors or
encountered in parsing Sub Data Items are handled in the same fashion inconsistencies encountered in parsing Sub-Data Items are handled in
as any other Data Item parsing error encountered in DLEP. In the same fashion as any other Data Item parsing error encountered in
particular, the receiving implementation MUST issue a Session DLEP. In particular, the receiving implementation MUST issue a
Termination Message containing a Status Data Item with status code Session Termination Message containing a Status Data Item with status
set to 130 'Invalid Data' and transition to the Session Termination code set to 130 ("Invalid Data") and transition to the Session
state. Termination state.
The format of the Queue Parameter Sub Data Item is: The format of the Queue Parameter Sub-Data Item is:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub Data Item Type (1) | Length | | Sub-Data Item Type (1) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value... | | Value... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
and Value has the format: and Value has the format:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Index | Queue Size Qn | | Queue Index | Queue Size Qn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num DSCPs Qn | DS Field Qn | ... : | Num DSCPs Qn | DS Field Qn | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | DS Field Qn | : ... | DS Field Qn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub Data Item Type:
Sub-Data Item Type:
A 16-bit unsigned integer that indicates the type and A 16-bit unsigned integer that indicates the type and
corresponding format of the Sub Data Item's Value field. Sub Data corresponding format of the Sub-Data Item's Value field. Sub-Data
Item Types are scoped within the Data Item in which they are Item Types are scoped within the Data Item in which they are
carried, i.e., the Sub Data Item Type field MUST be used together carried, i.e., the Sub-Data Item Type field MUST be used together
with the Queue Parameters Data Item Type to identify the format of with the Queue Parameters Data Item Type to identify the format of
the Sub Data Item. This field MUST be set to one (1) for the the Sub-Data Item. This field MUST be set to one (1) for the
Queue Parameter Sub Data Item. Queue Parameter Sub-Data Item.
Length: Variable Length:
Variable
Length is the number of octets in the sub data item, excluding the Length is the number of octets in the Sub-Data Item, excluding the
Type and Length fields. Type and Length fields.
Queue Index: Queue Index:
An 8-bit field indicating the queue index of the queue parameter An 8-bit field indicating the queue index of the queue parameter
represented in the sub data item. Only the first instance of a represented in the Sub-Data Item. Only the first instance of a
particular Queue Index value is meaningful. Subsequent sub data particular Queue Index value is meaningful. Subsequent Sub-Data
items containing the same Queue Index values, if present, MAY be Items containing the same Queue Index values, if present, MAY be
logged via a management interface and MUST otherwise be ignored. logged via a management interface and MUST otherwise be ignored.
Note that the value 255 is reserved and MUST NOT be used in this Note that the value 255 is reserved and MUST NOT be used in this
field. field.
Queue Size Qn: Queue Size Qn:
A 24-bit unsigned integer representing the size, in the octet A 24-bit unsigned integer representing the size, in the octet
scale indicated by the Scale field, of the queue supporting scale indicated by the Scale field, of the queue that supports the
traffic with the DSCPs associated with the queue index. traffic with the DSCPs associated with the queue index.
Num DSCPs Qn: Num DSCPs Qn:
An 8-bit unsigned integer indicating the number of DSCPs An 8-bit unsigned integer indicating the number of DSCPs
associated with the queue index associated with the sub data item. associated with the queue index associated with the Sub-Data Item.
This field MUST contain a value of at least one (1).
DS Field Qn: DS Field Qn:
The Data Item contains a sequence of 8-bit DS fields. The number
of DS fields present MUST equal the Num DSCPs Qn field value.
The data item contains a sequence of 8 bit DS Fields. The number The DS field structure is the same as the structure shown in
of DS Fields present MUST equal the value of the Num DSCPs field. [RFC2474].
The DS Field structure is the same as [RFC2474]. 0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| DSCP | CU |
+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 DSCP: Differentiated Services Code Point
+---+---+---+---+---+---+---+---+
| DSCP | CU |
+---+---+---+---+---+---+---+---+
DSCP: differentiated services codepoint CU: Currently Unused; MUST be zero
CU: currently unused, MUST be zero
3.2. Pause 3.2. Pause
The Pause Data Item is sent by a modem to a router to indicate to its The Pause Data Item is sent by a modem to a router to indicate to its
peer that traffic is to be suppressed, i.e., paused. The motivating peer that traffic is to be suppressed, i.e., paused. The motivating
use case for this data item is when a modem's internal queue length use case for this Data Item is when a modem's internal queue length
exceeds a particular threshold. Other use cases are possible, e.g., exceeds a particular threshold. Other use cases are possible, e.g.,
when there are non queue related congestion points within a modem. when there are non-queue-related congestion points within a modem.
Such cases are not explicitly described in this document. Such cases are not explicitly described in this document.
A modem can indicate that traffic is to be suppressed on a device- A modem can indicate that traffic is to be suppressed on a
wide or destination-specific basis. An example of when a modem might device-wide or destination-specific basis. An example of when a
use device wide indications is when output queues are shared across modem might use device-wide suppression is when output queues are
all destinations, and destination specific might be used when per shared across all destinations. Destination-specific suppression
destination queuing is used. To indicate that suppression applies to might be used when per-destination queuing is used. To indicate that
all destinations, a modem MUST send the Pause Data Item in a Session suppression applies to all destinations, a modem MUST send the Pause
Update Message. To indicate that suppression applies to a particular Data Item in a Session Update Message. To indicate that suppression
destination a modem MUST send the Pause Data Item in a Destination applies to a particular destination, a modem MUST send the Pause Data
Update Message. Item in a Destination Update Message.
Each Pause Data Item identifies the traffic to be suppressed by the Each Pause Data Item identifies the traffic to be suppressed by the
Queue Index defined by Section 3.1, which in turn indicates a set of Queue Index field (Section 3.1), which in turn indicates traffic
traffic identified by DSCPs. The special value of 255 is used to identified by one or more DSCPs. The special value of 255 is used to
indicate that all traffic is to be suppressed. indicate that all traffic is to be suppressed.
While there is no restriction on the number of Messages containing While there is no restriction on the number of messages containing
Pause Data Item that may be sent by a modem, a modem SHOULD include Pause Data Items that may be sent by a modem, a modem SHOULD include
multiple queue indexes in the same message when possible. multiple queue indexes in the same message when possible.
A router which receives the Pause Data Item MUST cease sending the A router that receives the Pause Data Item MUST cease sending the
identified traffic to the modem. This may of course translate into identified traffic to the modem. This may of course translate into
the router's queues exceeding their own thresholds. If a received the router's queues exceeding their own thresholds. If a received
Pause Data Item contains a Queue Index value other than 255 or a Pause Data Item contains a Queue Index value other than 255 or a
queue index established by a Session Initialization or Session Update queue index established by a Session Initialization or Session Update
Message, the router MUST terminate the session with a Status Data Message, the router MUST terminate the session with a Status Data
Item indicating Invalid Data. Item indicating "Invalid Data".
The format of the Pause Data Item is: The format of the Pause Data Item is:
0 1 2 3 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 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 | | Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Index | ... : | Queue Index | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | Queue Index | : ... | Queue Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBA3 Data Item Type:
24
Length: Variable Length:
Variable
Per [RFC8175] Length is the number of octets in the data item, Per [RFC8175], Length is the number of octets in the Data Item,
excluding the Type and Length fields. It will equal the number of excluding the Type and Length fields. It will equal the number of
Queue Index fields carried in the data item. Queue Index fields carried in the Data Item.
Queue Index: Queue Index:
One or more 8-bit fields used to indicate a queue index defined by One or more 8-bit fields used to indicate a queue index defined by
a Queue Parameters Data Item. The special value of 255 indicates a Queue Parameters Data Item. The special value of 255 indicates
all traffic is to be suppressed to the modem, when the data item that (1) all traffic to the modem is to be suppressed when the
is carried in a Session Update Message, or is to be suppressed to Data Item is carried in a Session Update Message or (2) all
a destination, when the data item is carried in Destination Update traffic to a particular destination is to be suppressed when the
Message. Data Item is carried in a Destination Update Message.
3.3. Restart 3.3. Restart
The Restart Data Item is sent by a modem to a router to indicate to The Restart Data Item is sent by a modem to a router to indicate to
its peer that transmission of previously suppressed traffic may be its peer that transmission of previously suppressed traffic may be
resumed. An example of when a modem might send this data item is resumed. An example of when a modem might send this Data Item is
when an internal queue length drops below a particular threshold. when an internal queue length drops below a particular threshold.
The sending of this data item parallels the Pause Data Item, see the The sending of this Data Item parallels the Pause Data Item (see
previous section, and follows the same rules. As above, to indicate Section 3.2) and follows the same rules. To indicate that
that transmission can resume to all destinations, a modem MUST send transmission can resume to all destinations, a modem MUST send the
the Restart Data Item in a Session Update Message. It also includes Restart Data Item in a Session Update Message. To indicate that
that to indicate that transmission can resume to a particular transmission can resume to a particular destination, a modem MUST
destination a modem MUST send the Pause Restart Item in a Destination send the Restart Data Item in a Destination Update Message. Finally,
Update Message. Finally, queue indexes are interpreted in the same the same rules apply to queue indexes.
way as in the Pause Data Item..
A router which receives the Restart Data Item SHOULD resume A router that receives the Restart Data Item SHOULD resume
transmission of the identified traffic to the modem. transmission of the identified traffic to the modem.
The format of the Restart Data Item matches the Pause Data Item and The format of the Restart Data Item matches the Pause Data Item
is: and is:
0 1 2 3 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 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 | | Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Index | ... : | Queue Index | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | Queue Index | : ... | Queue Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBA4 Data Item Type: 25
Length: See Section 3.2. Length: See Section 3.2.
Queue Index: See Section 3.2. Queue Index: See Section 3.2.
4. Security Considerations 4. Security Considerations
The extension introduces a new mechanism for flow control between a The extension defined in this document introduces a new mechanism for
router and modem using DLEP. The extension does not introduce any flow control between a router and modem using DLEP. The extension
vulnerabilities that are inherently different from those documented does not introduce any vulnerabilities that are inherently different
in [RFC8175]. The approach taken to Security in that document from those documented in [RFC8175]. The approach taken to security
applies equally when running the extension defined in this document. in that document applies equally when running the extension defined
in this document.
Implementations of the extension defined in this document MUST Implementations of the extension defined in this document MUST
support configuration of TLS usage, as describe in [RFC8175], in support the configuration and use of TLS, as described in [RFC8175],
order to protect configurations where injection attacks are possible, in order to protect configurations where injection attacks are
i.e., when the link between a modem and router is not otherwise possible, i.e., when the link between a modem and router is not
protected. otherwise protected.
Note that this extension does allow a compromised or impersonating Note that this extension does allow a compromised or impersonating
modem to suppress transmission by the router or a switch that modem to suppress transmission by the router or a switch that
interconnects the modem and router. Similar attacks are generally interconnects the modem and router. Similar attacks are generally
possible base DLEP, for example an impersonating modem may cause a possible with base DLEP -- for example, an impersonating modem may
session reset or a compromised modem simply can drop all traffic cause a session reset, or a compromised modem can simply drop all
destined to, or sent by a router. [RFC8175] defines the use of TLS traffic destined for or sent by a router. [RFC8175] defines the use
to protect against the impersonating attacker. of TLS to protect against such impersonating attackers.
5. IANA Considerations 5. IANA Considerations
This document requests the assignment of 4 values by IANA. All This document assigns four new values and creates a new subregistry
assignments are to registries defined by [RFC8175]. in the "Dynamic Link Exchange Protocol (DLEP) Parameters" registry.
5.1. Extension Type Value 5.1. Extension Type Value
This document requests 1 new assignment to the DLEP Extensions This document adds a new assignment to the DLEP extensions registry
Registry named "Extension Type Values" in the range with the named "Extension Type Values" [RFC8175], per the "Specification
"Specification Required" policy. The requested value is as follows: Required" policy [RFC8126]. IANA has assigned the following value:
+------+---------------------------+ +------+---------------------------+
| Code | Description | | Code | Description |
+------+---------------------------+ +======+===========================+
| TBA1 | Control Plane Based Pause | | 2 | Control-Plane-Based Pause |
+------+---------------------------+ +------+---------------------------+
Table 1: Requested Extension Type Value Table 2: Extension Type Value
5.2. Data Item Values 5.2. Data Item Values
This document requests 3 new assignments to the DLEP Data Item This document adds three new assignments to the DLEP Data Item
Registry named "Data Item Type Values" in the range with the registry named "Data Item Type Values" [RFC8175], per the
"Specification Required" policy. The requested values are as "Specification Required" policy [RFC8126]. IANA has assigned the
follows: following values:
+-----------+------------------+ +-----------+------------------+
| Type Code | Description | | Type Code | Description |
+===========+==================+
| 23 | Queue Parameters |
+-----------+------------------+ +-----------+------------------+
| TBA2 | Queue Parameters | | 24 | Pause |
| | | +-----------+------------------+
| TBA3 | Pause | | 25 | Restart |
| | |
| TBA4 | Restart |
+-----------+------------------+ +-----------+------------------+
Table 2: Requested Data Item Values Table 3: Data Item Values
5.3. Queue Parameters Sub Data Item Values 5.3. Queue Parameter Sub-Data Item Values
Upon approval of this document, IANA is requested to create a new IANA has created a new DLEP registry named "Queue Parameter Sub-Data
DLEP registry, named "Queue Parameters Sub Data Item Type Values". Item Type Values".
The following table provides initial registry values and the Table 4 provides initial registry values and the registration
[RFC8126] defined policies that should apply to the registry: policies [RFC8126] that apply:
+-------------+------------------------+ +-------------+------------------------+
| Type Code | Description/Policy | | Type Code | Description/Policy |
+-------------+------------------------+ +=============+========================+
| 0 | Reserved | | 0 | Reserved |
| | | +-------------+------------------------+
| 1 | Queue Parameter | | 1 | Queue Parameter |
| | | +-------------+------------------------+
| 2-65407 | Specification Required | | 2-65407 | Specification Required |
| | | +-------------+------------------------+
| 65408-65534 | Private Use | | 65408-65534 | Private Use |
| | | +-------------+------------------------+
| 65535 | Reserved | | 65535 | Reserved |
+-------------+------------------------+ +-------------+------------------------+
Table 3 Table 4: Initial Registry Values
6. References 6. References
6.1. Normative References 6.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 11, line 41 skipping to change at line 497
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B.
Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175,
DOI 10.17487/RFC8175, June 2017, DOI 10.17487/RFC8175, June 2017,
<https://www.rfc-editor.org/info/rfc8175>. <https://www.rfc-editor.org/info/rfc8175>.
6.2. Informative References 6.2. Informative References
[I-D.ietf-manet-dlep-credit-flow-control] [DLEP-CREDIT]
Cheng, B., Wiggins, D., Berger, L., and S. Ratliff, "DLEP Cheng, B., Wiggins, D., Berger, L., and S. Ratliff, "DLEP
Credit-Based Flow Control Messages and Data Items", draft- Credit-Based Flow Control Messages and Data Items", Work
ietf-manet-dlep-credit-flow-control-04 (work in progress), in Progress, Internet-Draft, draft-ietf-manet-dlep-credit-
March 2019. flow-control-04, 6 March 2019,
<https://tools.ietf.org/html/draft-ietf-manet-dlep-credit-
flow-control-04>.
[I-D.ietf-manet-dlep-da-credit-extension] [DLEP-DIFFSERV]
Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ
Aware Credit Window Extension", draft-ietf-manet-dlep-da- Aware Credit Window Extension", Work in Progress,
credit-extension-07 (work in progress), March 2019. Internet-Draft, draft-ietf-manet-dlep-da-credit-extension-
07, 6 March 2019,
<https://tools.ietf.org/html/draft-ietf-manet-dlep-da-
credit-extension-07>.
[IEEE.802.1Q_2014] [IEEE.802.1Q_2014]
IEEE, "IEEE Standard for Local and metropolitan area IEEE, "IEEE Standard for Local and metropolitan area
networks--Bridges and Bridged Networks", IEEE 802.1Q-2014, networks--Bridges and Bridged Networks", IEEE 802.1Q-2014,
DOI 10.1109/ieeestd.2014.6991462, December 2014, <https://ieeexplore.ieee.org/document/6991462>.
<http://ieeexplore.ieee.org/servlet/
opac?punumber=6991460>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS "Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998, DOI 10.17487/RFC2474, December 1998,
<https://www.rfc-editor.org/info/rfc2474>. <https://www.rfc-editor.org/info/rfc2474>.
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
skipping to change at page 12, line 33 skipping to change at line 539
[RFC5578] Berry, B., Ed., Ratliff, S., Paradise, E., Kaiser, T., and [RFC5578] Berry, B., Ed., Ratliff, S., Paradise, E., Kaiser, T., and
M. Adams, "PPP over Ethernet (PPPoE) Extensions for Credit M. Adams, "PPP over Ethernet (PPPoE) Extensions for Credit
Flow and Link Metrics", RFC 5578, DOI 10.17487/RFC5578, Flow and Link Metrics", RFC 5578, DOI 10.17487/RFC5578,
February 2010, <https://www.rfc-editor.org/info/rfc5578>. February 2010, <https://www.rfc-editor.org/info/rfc5578>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
Appendix A. Acknowledgments Acknowledgments
The sub data item format was inspired by Rick Taylor's "Data Item The format for the Sub-Data Item was inspired by Rick Taylor's "Data
Containers" idea. Item Containers" idea.
Authors' Addresses Authors' Addresses
Bow-Nan Cheng Bow-Nan Cheng
MIT Lincoln Laboratory MIT Lincoln Laboratory
Massachusetts Institute of Technology Massachusetts Institute of Technology
244 Wood Street 244 Wood Street
Lexington, MA 02421-6426 Lexington, MA 02421-6426
United States of America
Email: bcheng@ll.mit.edu Email: bcheng@ll.mit.edu
David Wiggins David Wiggins
MIT Lincoln Laboratory MIT Lincoln Laboratory
Massachusetts Institute of Technology Massachusetts Institute of Technology
244 Wood Street 244 Wood Street
Lexington, MA 02420-9108 Lexington, MA 02420-9108
United States of America
Email: David.Wiggins@ll.mit.edu Email: David.Wiggins@ll.mit.edu
Lou Berger (editor) Lou Berger (editor)
LabN Consulting, L.L.C. LabN Consulting, L.L.C.
Email: lberger@labn.net Email: lberger@labn.net
 End of changes. 102 change blocks. 
282 lines changed or deleted 287 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/