Dynamic Link Exchange Protocol (DLEP) Control-Plane-Based Pause Extension
Extracted elements (26)
The Control-Plane-Based Pause extension parallels the flow-control mechanism in PPPoE (RFC 5578) and Ethernet priority-based flow control (IEEE 802.1Q). DSCP-aware flow control is included to support Diffserv-aware modems, allowing per-traffic-class pause/resume rather than only all-or-nothing suppression.
The pause mechanism applies only to traffic destined for transmission on the modem's attached data channel, not to DLEP control messages themselves, and only covers the single router-to-modem subnetwork. This scoping prevents deadlocks where a paused control plane could not send the Restart signal.
An implementation that does not support DSCPs indicates one queue with zero DSCPs and reports the number of bytes that may be in its associated link transmit queue, ensuring backward compatibility with non-Diffserv-aware peers.
The Queue Parameter Sub-Data Item format is patterned after the standard DLEP Data Item format (RFC 8175, Section 11.3), and Sub-Data Item Type values are scoped within the parent Queue Parameters Data Item Type to avoid collisions with other DLEP extensions.
A modem SHOULD include multiple queue indexes in the same Pause message when possible, to reduce the number of messages sent.
A router that receives the Pause Data Item MUST cease sending the identified traffic to the modem. If a Pause Data Item contains a Queue Index value other than 255 or an index not established via Session Initialization/Update, the router MUST terminate the session with a Status Data Item indicating "Invalid Data".
Queue Index 255 is reserved and MUST NOT be used in the Queue Index field of a Queue Parameter Sub-Data Item. Only the first instance of a particular Queue Index value is meaningful; subsequent duplicates MUST otherwise be ignored.
Sub-Data Item Type is scoped within the parent Data Item type. Parsing errors in Sub-Data Items MUST cause the receiving implementation to issue a Session Termination Message with a Status Data Item set to status code 130 ("Invalid Data") and transition to the Session Termination state.
The Num Queues field in the Queue Parameters Data Item MUST contain a value of at least one (1).
The Queue Parameters Data Item MUST be included in a Session Initialization Response Message that also contains the Control-Plane-Based Pause Extension Type Value in the Extensions Supported Data Item. Updates MAY be sent in Session Update Messages.
The use of the Control-Plane-Based Pause Extension SHOULD be configurable. To indicate support, an implementation MUST include the Control-Plane-Based Pause Extension Type Value (2) in the Extensions Supported Data Item.
To indicate device-wide traffic suppression, a modem MUST send the Pause Data Item in a Session Update Message. To suppress traffic to a particular destination, a modem MUST send it in a Destination Update Message.
To resume transmission to all destinations, a modem MUST send the Restart Data Item in a Session Update Message; to resume for a particular destination, it MUST use a Destination Update Message. A router receiving Restart SHOULD resume transmission of the identified traffic.
Queue Parameter Sub-Data Items describe individual logical queues, each identified by a Queue Index, a 24-bit Queue Size Qn (scaled by the parent's Scale field), a Num DSCPs Qn count, and a sequence of 8-bit DS Field values. Queue index 255 is reserved and MUST NOT appear in this field.
The Pause Data Item (Type 24) is sent by a modem to instruct a router to suppress (pause) traffic. It can apply device-wide (via Session Update Message) or per-destination (via Destination Update Message), and identifies traffic by Queue Index, with special value 255 indicating all traffic.
The Queue Parameters Data Item (Type 23) is sent by a modem to a router to indicate DSCP values that may be independently paused. It groups DSCPs into logical queues identified by a Queue Index field, with queue index zero covering DSCPs not otherwise associated with a queue.
The Restart Data Item (Type 25) is sent by a modem to a router to indicate that previously suppressed traffic may be resumed, typically when an internal queue length drops below a threshold. It follows the same rules as the Pause Data Item for session-wide vs. destination-specific scope.
IANA assigned Extension Type Value 2 ("Control-Plane-Based Pause") in the DLEP "Extension Type Values" registry under the "Specification Required" policy.
IANA assigned three new values in the DLEP "Data Item Type Values" registry: 23 (Queue Parameters), 24 (Pause), and 25 (Restart), under the "Specification Required" policy.
IANA created a new DLEP registry "Queue Parameter Sub-Data Item Type Values" with initial values: 0 (Reserved), 1 (Queue Parameter), 2–65407 (Specification Required), 65408–65534 (Private Use), 65535 (Reserved).
A compromised or impersonating modem can use this extension to suppress router transmission. This attack vector is similar in scope to base DLEP threats (session reset, traffic drop). RFC 8175's TLS mechanism is the defined mitigation against impersonating attackers.
Implementations of this extension MUST support the configuration and use of TLS as described in RFC 8175, to protect against injection attacks when the link between a modem and router is not otherwise protected.
The Pause Data Item encodes: a 16-bit Data Item Type (24), a variable Length equal to the number of Queue Index fields, and one or more 8-bit Queue Index fields. The special Queue Index value 255 means all traffic is to be suppressed.
The Queue Parameter Sub-Data Item uses a 16-bit Sub-Data Item Type (MUST be 1), a variable Length, then a Value containing: Queue Index (8-bit), Queue Size Qn (24-bit unsigned), Num DSCPs Qn (8-bit), and a sequence of DS Fields (8-bit each, DSCP in upper 6 bits, CU bits MUST be zero).
The Queue Parameters Data Item encodes: a 16-bit Data Item Type (23), a variable Length, an 8-bit Num Queues count, a 4-bit Scale (0=Bytes, 1=KB, 2=MB, 3=GB), a 20-bit Reserved field (MUST be zero), followed by variable-length Queue Parameter Sub-Data Items.
The Restart Data Item has Data Item Type 25 and an identical wire format to the Pause Data Item: variable Length equal to the count of Queue Index fields, followed by one or more 8-bit Queue Index fields, with 255 meaning all traffic.