ISIS-TE Extensions for Enhanced DetNet
Xuesong Geng
Huawei
gengxuesong@huawei.com
Zhenbin Li
Huawei
lizhenbin@huawei.com
Tianran Zhou
Huawei
zhoutianran@huawei.com
11 July 2022
Routing Area
LSR Working Group
Sample
Draft
This document defines extensions to ISIS to distribute the enhanced DetNet information at node and/or link granularity.

Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Introduction
DetNet([RFC8655]) provides the capability to carry specified unicast or multicast data flows with extremely low data loss rates and bounded end-to-end latency within a network domain. Three primary goals of DetNet QoS are defined in section 3.1 of [RFC8655]:
- Minimum and maximum end-to-end latency from source to destination, timely delivery, and bounded jitter (packet delay variation) derived from these constraints.
- Packet loss ratio under various assumptions as to the operational states of the nodes and links.
- An upper bound on out-of-order packet delivery. It is worth noting that some DetNet applications are unable to tolerate any out-of-order delivery.
This document defines extensions to ISIS to distribute the inforamtion for bounded latency(enhanced DetNet) at node and/or link granularity.
Some of information (e.g., Link delay/loss ) can be distributed and collected through Traffic Engineering (TE) metric extensions and [RFC7810], which will not be redefined by this document.

Terminology
All the DetNet related terminologies used in this document conform to the DetNet architecture.

DetNet Extensions to ISIS TE
This document defines an extension to IS-IS used to advertise DetNet information.

DetNet Node Attributes Advertisement

DetNet Processing Delay Sub-TLV
The DetNet Processing Delay Sub-TLV is defined within the body of the IS-IS Router Capability TLV [RFC7981] to carry Enhanced DetNet information.
In the scope of DetNet, packet processing delay, which begins after the packet goes into the input port and ends before the packet arrives the output buffer, can expected in a known range, and the value of the delay bound is specified in this sub-TLV, including:
- Maximum DetNet packet processing delay
- Minimum DetNet packet processing delay
- Maximum DetNet packet processing delay variation
The format of this sub-TLV is shown in the following diagram:
  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 2
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD1)  |   Length(8)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Minimum DetNet Processing Delay          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Maximum DetNet Processing Delay          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |   Maximum DetNet Processing Delay Variation   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Type field is 1 octets in length, and the value is TBD1.
The Length field is 1 octets in length and its value is 8.
The RESERVED field is reserved for future use. It MUST be set to 0 when sent and MUST be ignored when received.
The Minimum DetNet Processing Delay is 3 octets in length and presents the minimum delay for a DetNet flow in the device, excluding the queuing delay in output port. The units are microsecond.
The Maximum DetNet Processing Delay is 3 octets in length and presents the maximum delay for a DetNet flow in the device, excluding the queuing delay in output port. The units are microsecond.
The Maximum DetNet Processing Delay Variation is 3 octets in length and presents the maximum delay variation for a DetNet flow in the device, excluding the queuing delay in output port. The units are microsecond.

DetNet Link Attributes Advertisement
This document defines new IS-IS TE sub-TLVs that can be announced in the TLVs 22, 23, 141, 222, and 223 in order to distribute DetNet information.

Max DetNet Reservable Bandwidth Sub-TLV
This sub-TLV specifies the maximum amount of bandwidth that is reserved for DetNet on this link. Note that this value SHOULD be smaller than the value of Maximum Reservable Link Bandwidth.
The format of this sub-TLV is shown in the following diagram:
  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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD2)  |   Length(4)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Maximum DetNet Reservable Bandwidth      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Type field is 1 octets in length, and the value is TBD2.
The Length field is 1 octets in length and its value is 4.
The RESERVED field is reserved for future use. It MUST be set to 0 when sent and MUST be ignored when received.
This Maximum DetNet Reservable Bandwidth field is 3 octets in length and presents the maximum bandwidth that may be reserved for DetNet. The units are bytes per second.

DetNet Available Bandwidth Sub-TLV
This sub-TLV specifies the available bandwidth that can be reserved for DetNet flow on this link for now. It is different from the Unreserved Bandwidth sub-TLV defined in referring to section 3.3.
The format of this sub-TLV is shown in the following diagram:
  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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD3)  |   Length(4)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |          Available DetNet Bandwidth           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Type field is 1 octets in length, and the value is TBD3.
The Length field is 1 octets in length and its value is 4.
The RESERVED field is reserved for future use. It MUST be set to 0 when sent and MUST be ignored when received.
This Available DetNet Bandwidth field is 3 octets in length and presents the available bandwidth for DetNet in this link. The units are bytes per second.

DetNet Time Resource Sub-TLV
Time resource ID represent different types of identifiers used to indicate the capability of underlying bounded latency mechanisms. When the underlying technique is a logical queue based scheduling mechanisms, it represents a queue ID (There may different technologies for implementing logical queues, for example QoS, Flex-E, etc.). When the underlying technique is a time scheduling based mechanisms, it represents a time slot ID.(Cyclic queuing mechanisms could be considered as a special form of time scheduling, whose time slot is with equal length)
There are 2 types of Time Resource Sub-TLV: Time Resource for Logical queues sub-TLV and Time Resource for Time Scheduling sub-TLV:
The format of Time Resource for Logical queues sub-TLV is shown in the following diagram:
     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type(TBD4)  |   Length(24)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |            Time Resource ID for Logical Queues                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |             Queue Buffer Size                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |           Queue Bandwidth Volume               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Maximum Queuing Delay               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Minimum Queuing Delay               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |        Maximum Queuing Delay Variation         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Type field is 1 octets in length, and the value is TBD4.
The Length field is 1 octets in length and its value is 24.
Time resource ID for Logical Queues is 3 octets in length, and specifies the identifier of a logical queue.
The queue The Queue Buffer Size field is 3 octets in length, and specifies the size of a queue with unit of bytes.
Queue Bandwidth Volume: is 3 octets in length, and carries maximum bandwidth could be put into the queue to provide the latency boundary. It is encoded in G bps encoded as an integer value.
Minimum Queuing Delay is 3 octets in length, and carries minimum queuing delay value (in microseconds) encoded as an integer value.
Maximum Queuing Delay is 3 octets in length, and carries the maximum queuing delay value (in microseconds) encoded as an integer value.
Maximum Queuing Delay variation is 3 octets in length, and carries the maximum queuing delay variation value (in microseconds) encoded as an integer value.
The RESERVED field is reserved for future use. It MUST be set to 0 when sent and MUST be ignored when received.
The format of Time Resource for Time Scheduling sub-TLV is shown in the following diagram:
     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Type(TBD5)             |          Length(16)           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Time resource ID for Time Slot                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Time Slot Length                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |           Time Slot Start Time                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |             Time Slot End Time                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Type field is 2 octets in length, and the value is TBD5.
The Length field is 2 octets in length and its value is 16.
Time Resource ID for Time Slot is 4 octets in length, and specifies the identifier of a time slot.
The Time Slot Length field is 3 octets in length, and specifies the length of time slot value (in microseconds) encoded as an integer value. When it is based on IEEE 802.1 Qch, time slot granularity presents cycle length.
The Time Slot Start Time field is 3 octets in length, and specifies the start time of the time slot in the time scheduling (in microseconds) encoded as an integer value.
The Time Slot End Time field is 3 octets in length, and specifies the end time of the time slot in the time scheduling (in microseconds) encoded as an integer value.
The RESERVED field is reserved for future use. It MUST be set to 0 when sent and MUST be ignored when received.

IANA Considerations

Sub-TLVs for ISIS Router Capability TLV
IANA is requested to register the ISIS sub-TLVs defined in this document in the sub-TLVs for Router Capability TLV registry.
      Type        Description
      ----        ------------------------------
      TBD1        Packet Processing Delay

Sub-TLVs for IS-IS TLVs 22, 23, 141, 222, and 223
IANA is requested to register the ISIS sub-TLVs defined in this document in the Sub-TLVs for TLVs 22, 23, 141, 222, and 223 registry.
      Type        Description
      ----        ------------------------------
      TBD2        Maximum DetNet Reservable Bandwidth
      TBD3        DetNet Available Bandwidth
      TBD4        Time Resource for Logical Queues
      TBD5        Time Resource for Time Slot

Security Considerations
This document does not introduce security issues beyond those discussed in and.

Acknowledgements

Normative References

Informative References
[IEEE802.1Q-2014]

MAC Bridges and VLANs (IEEE 802.1Q-2014)
2014
[IIEEE802.1Qbv]

Enhancements for Scheduled Traffic
IEEE
2016
[IEEE802.1Qch]

Cyclic Queuing and Forwarding
IEEE
2016
[IEEE802.1Qcr]

Asynchronous Traffic Shaping
IEEE
2016
[RFC8655]
[RFC7810]