To carry DetNet over MPLS, the following is required:
-
A method of identifying the MPLS payload type.
-
A method of identifying the DetNet flow(s) to the processing element.
-
A method of distinguishing DetNet OAM packets from DetNet data packets.
-
A method of carrying the DetNet sequence number.
-
A suitable LSP to deliver the packet to the egress PE.
-
A method of carrying queuing and forwarding indication.
In this design, an MPLS service label (the S-Label) is similar to a pseudowire (PW) label [
RFC 3985] and is used to identify both the DetNet flow identity and the MPLS payload type satisfying (1) and (2) in the list above. OAM traffic discrimination happens through the use of the Associated Channel method described in [
RFC 4385]. The DetNet sequence number is carried in the DetNet Control Word, which also carries the Data/OAM discriminator. To simplify implementation and to maximize interoperability, two sequence number sizes are supported: a 16-bit sequence number and a 28-bit sequence number. The 16-bit sequence number is needed to support some types of legacy clients. The 28-bit sequence number is used in situations where it is necessary to ensure that, in high-speed networks, the sequence number space does not wrap whilst packets are in flight.
The LSP used to forward the DetNet packet is not restricted regarding any method used for establishing that LSP (for example, MPLS-LDP, MPLS-TE, MPLS-TP [
RFC 5921], MPLS Segment Routing [
RFC 8660], etc.). The F-Label(s) and the S-Label may be used alone or together to indicate the required queue processing as well as the forwarding parameters. Note that the possible use of Penultimate Hop Popping (PHP) means that the S-Label may be the only label received at the terminating DetNet service.
Figure 4 illustrates a DetNet data plane MPLS encapsulation. The MPLS-based encapsulation of the DetNet flows is well suited for the scenarios described in [
RFC 8938]. Furthermore, an end-to-end DetNet service, i.e., native DetNet deployment (see
Section 3.2), is also possible if DetNet end systems are capable of initiating and terminating MPLS-encapsulated packets.
The MPLS-based DetNet data plane encapsulation consists of:
-
A DetNet Control Word (d-CW) containing sequencing information for packet replication and duplicate elimination purposes, and the OAM indicator.
-
A DetNet service label (S-Label) that identifies a DetNet flow at the receiving DetNet service sub-layer processing node.
-
Zero or more DetNet MPLS forwarding label(s) (F-Label) used to direct the packet along the Label Switched Path (LSP) to the next DetNet service sub-layer processing node along the path. When PHP is in use, there may be no F-Label in the protocol stack on the final hop.
-
The necessary data-link encapsulation is then applied prior to transmission over the physical media.
DetNet MPLS-based encapsulation
+---------------------------------+
| |
| DetNet App-Flow |
| Payload Packet |
| |
+---------------------------------+ <--\
| DetNet Control Word | |
+---------------------------------+ +--> DetNet data plane
| S-Label | | MPLS encapsulation
+---------------------------------+ |
| [ F-Label(s) ] | |
+---------------------------------+ <--/
| Data-Link |
+---------------------------------+
| Physical |
+---------------------------------+
A DetNet Control Word (d-CW) conforms to the Generic PW MPLS Control Word (PWMCW) defined in [
RFC 4385]. The d-CW formatted as shown in
Figure 5 MUST be present in all DetNet packets containing App-flow data. This format of the d-CW was created in order to (1) allow larger sequence number space to avoid sequence number rollover frequency in some applications and (2) allow sequence numbering systems that include the value zero as a valid sequence number, which simplifies implementation.
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 0 0 0| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
(bits 0 to 3)
-
Per [RFC 4385], MUST be set to zero (0).
-
Sequence Number (bits 4 to 31)
-
An unsigned value implementing the DetNet sequence number. The sequence number space is a circular one with no restriction on the initial value.
A separate sequence number space
MUST be maintained by the node that adds the d-CW for each DetNet App-flow, i.e., DetNet service. The following Sequence Number field lengths
MUST be supported:
The sequence number length
MUST be provisioned on a per-DetNet-service basis via configuration, i.e., via the Controller Plane described in [
RFC 8938].
A 0-bit Sequence Number field length indicates that there is no DetNet sequence number used for the flow. When the length is zero, the Sequence Number field
MUST be set to zero (0) on all packets sent for the flow.
When the Sequence Number field length is 16 or 28 bits for a flow, the sequence number
MUST be incremented by one for each new App-flow packet sent. When the field length is 16 bits, d-CW bits 4 to 15
MUST be set to zero (0). The values carried in this field can wrap, and it is important to note that zero (0) is a valid field value. For example, where the sequence number size is 16 bits, the sequence will contain: 65535, 0, 1, where zero (0) is an ordinary sequence number.
It is important to note that this document differs from [
RFC 4448], where a sequence number of zero (0) is used to indicate that the sequence number check algorithm is not used.
The sequence number is optionally used during receive processing, as described below in Sections [
4.2.2.2] and [
4.2.2.3].
A DetNet flow at the DetNet service sub-layer is identified by an S-Label. MPLS-aware DetNet end systems and edge nodes, which are by definition MPLS ingress and egress nodes,
MUST add (push) and remove (pop) a DetNet service-specific d-CW and S-Label. Relay nodes
MAY swap S-Label values when processing a DetNet flow, i.e., incoming and outgoing S-Labels of a DetNet flow can be different.
S-Label values
MUST be provisioned per DetNet service via configuration, i.e., via the Controller Plane described in [
RFC 8938]. Note that S-Labels provide identification at the downstream DetNet service sub-layer receiver, not the sender. As such, S-Labels
MUST be allocated by the entity that controls the service sub-layer receiving a node's label space and
MAY be allocated from the platform label space [
RFC 3031]. Because S-Labels are local to each node, rather than being a global identifier within a domain, they must be advertised to their upstream DetNet service-aware peer nodes (i.e., a DetNet MPLS end system or a DetNet relay or edge node) and interpreted in the context of their received F-Label(s). In some PREOF topologies, the node performing replication will be sending to multiple nodes performing PEF or POF and may need to send different S-Label values for the different member flows for the same DetNet service.
An S-Label will normally be at the bottom of the label stack once the last F-Label is removed, immediately preceding the d-CW. To support OAM at the service sub-layer level, an OAM Associated Channel Header (ACH) [
RFC 4385] together with a Generic Associated Channel Label (GAL) [
RFC 5586]
MAY be used in place of a d-CW.
Similarly, an Entropy Label Indicator (ELI) and Entropy Label (EL) [
RFC 6790]
MAY be carried below the S-Label in the label stack in networks where DetNet flows would otherwise receive ECMP treatment. When ELs are used, the same EL value
SHOULD be used for all of the packets sent using a specific S-Label to force the flow to follow the same path. However, as outlined in [
RFC 8938], the use of ECMP for DetNet flows is
NOT RECOMMENDED. ECMP
MAY be used for non-DetNet flows within a DetNet domain.
When receiving a DetNet MPLS packet, an implementation
MUST identify the DetNet service associated with the incoming packet based on the S-Label. When a node is using platform labels for S-Labels, no additional information is needed, as the S-Label uniquely identifies the DetNet service. In the case where platform labels are not used, zero or more F-Labels proceeding the S-Label
MUST be used together with the S-Label to uniquely identify the DetNet service associated with a received packet. The incoming interface
MAY also be used together with any present F-Label(s) and the S-Label to uniquely identify an incoming DetNet service, for example, in the case where PHP is used. Note that the choice to use the platform label space for an S-Label or an S-Label plus one or more F-Labels to identify DetNet services is a local implementation choice, with one caveat. When one or more F-Labels, or the incoming interface, is needed together with an S-Label to uniquely identify a service, the Controller Plane must ensure that incoming DetNet MPLS packets arrive with the needed information (F-Label(s) and/or the incoming interface) and provision the needed information. The provisioned information
MUST then be used to identify incoming DetNet service based on the combination of S-Label and F-Label(s) or the incoming interface.
The use of platform labels for S-Labels matches other pseudowire encapsulations for consistency, but there is no hard requirement in this regard.
Implementation details of PREOF are out of scope for this document. [
IEEE802.1CB-2017] defines equivalent replication and elimination-specific aspects, which can be applied to PRF and PEF.
The Packet Replication Function (PRF)
MAY be supported by an implementation for outgoing DetNet flows. The use of the PRF for a particular DetNet service
MUST be provisioned via configuration, i.e., via the Controller Plane described in [
RFC 8938]. When replication is configured, the same App-flow data will be sent over multiple outgoing DetNet member flows using forwarding sub-layer LSPs. An S-Label value
MUST be configured per outgoing member flow. The same d-CW field value
MUST be used on all outgoing member flows for each replicated MPLS packet.
Implementations
MAY support the Packet Elimination Function (PEF) for received DetNet MPLS flows. When supported, use of the PEF for a particular DetNet service
MUST be provisioned via configuration, i.e., via the Controller Plane described in [
RFC 8938].
After a DetNet service is identified for a received DetNet MPLS packet, as described above, if PEF is configured for that DetNet service, duplicate (replicated) instances of a particular sequence number
MUST be discarded. The specific mechanisms used for an implementation to identify which received packets are duplicates and which are new is an implementation choice. Note that, per
Section 4.2.1, the Sequence Number field length may be 16 or 28 bits, and the field value can wrap. PEF
MUST NOT be used with DetNet flows configured with a d-CW Sequence Number field length of 0 bits.
An implementation
MAY constrain the maximum number of sequence numbers that are tracked on either a platform-wide or per-flow basis. Some implementations
MAY support the provisioning of the maximum number of sequence numbers that are tracked on either a platform-wide or per-flow basis.
A function that is related to in-order delivery is the Packet Ordering Function (POF). Implementations
MAY support POF. When supported, use of the POF for a particular DetNet service
MUST be provisioned via configuration, i.e., via the Controller Plane described by [
RFC 8938]. Implementations
MAY require that PEF and POF be used in combination. There is no requirement related to the order of execution of the PEF and POF in an implementation.
After a DetNet service is identified for a received DetNet MPLS packet, as described above, if POF is configured for that DetNet service, packets
MUST be processed in the order indicated in the received d-CW Sequence Number field, which may not be in the order the packets are received. As defined in
Section 4.2.1, the Sequence Number field length may be 16 or 28 bits, the sequence number is incremented by one (1) for each new MPLS packet sent for a particular DetNet service, and the field value can wrap. The specific mechanisms used for an implementation to identify the order of received packets is an implementation choice.
An implementation
MAY constrain the maximum number of out-of-order packets that can be processed on either a platform-wide or per-flow basis. The number of out-of-order packets that can be processed also impacts the latency of a flow.
The latency impact on the system resources needed to support a specific DetNet flow will need to be evaluated by the Controller Plane based on that flow's traffic specification. An example traffic specification that can be used with MPLS-TE can be found in [
RFC 2212].
DetNet implementations can use flow-specific requirements (e.g., maximum number of out-of-order packets and maximum latency of the flow) for configuration of POF-related buffers. POF implementation details are out of scope for this document, and POF configuration parameters are implementation specific. The Controller Plane identifies and sets the POF configuration parameters.
F-Labels support the DetNet forwarding sub-layer. F-Labels are used to provide LSP-based connectivity between DetNet service sub-layer processing nodes.
DetNet MPLS end systems, edge nodes, and relay nodes may operate at the DetNet service sub-layer with understanding of DetNet services and their requirements. As mentioned earlier, when operating at this layer, such nodes can push, pop, or swap (pop then push) S-Labels. In all cases, the F-Label(s) used for a DetNet service are always replaced, and the following procedures apply.
When sending a DetNet flow, zero or more F-Labels
MAY be pushed on top of an S-Label by the node pushing an S-Label. The F-Label(s) to be pushed when sending a particular DetNet service
MUST be provisioned per outgoing S-Label via configuration, i.e., via the Controller Plane discussed in [
RFC 8938]. F-Label(s) can also provide context for an S-Label. To allow for the omission of F-Label(s), an implementation
SHOULD also allow an outgoing interface to be configured per S-Label.
Note that when PRF is supported, the same App-flow data will be sent over multiple outgoing DetNet member flows using forwarding sub-layer LSPs. This means that an implementation may be sending different sets of F-Labels per DetNet member flow, each with a different S-Label.
When a single set of F-Labels is provisioned for a particular outgoing S-Label, that set of F-Labels
MUST be pushed after the S-Label is pushed. The outgoing packet is then forwarded, as described below in
Section 4.2.3.2. When a single outgoing interface is provisioned, the outgoing packet is then forwarded, as described below in
Section 4.2.3.2.
When multiple sets of outgoing F-Labels or interfaces are provisioned for a particular DetNet service (i.e., for PRF), a copy of the outgoing packet, including the pushed member flow-specific S-Label,
MUST be made per F-Label set and outgoing interface. Each set of provisioned F-Labels are then pushed onto a copy of the packet. Each copy is then forwarded, as described below in
Section 4.2.3.2.
As described in the previous section, when receiving a DetNet MPLS flow, an implementation identifies the DetNet service associated with the incoming packet based on the S-Label. When a node is using platform labels for S-Labels, any F-Labels can be popped, and the S-Label uniquely identifies the DetNet service. In the case where platform labels are not used, incoming F-Label(s) and, optionally, the incoming interface
MUST also be provisioned for a DetNet service.
All DetNet-aware MPLS nodes process F-Labels as needed to meet the service requirements of the DetNet flow or flows carried in the LSPs represented by the F-Labels. This includes normal push, pop, and swap operations. Such processing is essentially the same type of processing provided for TE LSPs, although the specific service parameters, or traffic specification, can differ. When the DetNet service parameters of the DetNet flow or flows carried in an LSP represented by an F-Label can be met by an existing TE mechanism, the forwarding sub-layer processing node
MAY be a DetNet-unaware, i.e., standard, MPLS LSR. Such TE LSPs may provide LSP forwarding service as defined in, but not limited, to the following: [
RFC 3209], [
RFC 3270], [
RFC 3272], [
RFC 3473], [
RFC 4875], [
RFC 5440], and [
RFC 8306].
More specifically, as mentioned above, the DetNet forwarding sub-layer provides explicit routes and allocated resources, and F-Labels are used to map to each. Explicit routes are supported based on the topmost (outermost) F-Label that is pushed or swapped and the LSP that corresponds to this label. This topmost (outgoing) label
MUST be associated with a provisioned outgoing interface and, for non-point-to-point outgoing interfaces, a next-hop LSR. Note that this information
MUST be provisioned via configuration or the Controller Plane. In the previously mentioned special case where there are no added F-Labels and the outgoing interface is not a point-to-point interface, the outgoing interface
MUST also be associated with a next-hop LSR.
Resources may be allocated in a hierarchical fashion per each LSP that is represented by each F-Label. Each LSP
MAY be provisioned with a service parameter that dictates the specific traffic treatment to be received by the traffic carried over that LSP. Implementations of this document
MUST ensure that traffic carried over each LSP represented by one or more F-Labels receives the traffic treatment provisioned for that LSP. Typical mechanisms used to provide different treatment to different flows include the allocation of system resources (such as queues and buffers) and provisioning of related parameters (such as shaping and policing) that may be found in implementations of the Resource ReSerVation Protocol (RSVP) [
RFC 2205] and RSVP-TE [
RFC 3209] [
RFC 3473]. Support can also be provided via an underlying network technology, such as IEEE 802.1 TSN [
DetNet-MPLS-over-TSN]. The specific mechanisms selected by a DetNet node to ensure DetNet service delivery requirements are met for supported DetNet flows is outside the scope of this document.
Packets that are marked in a way that do not correspond to allocated resources, e.g., lack a provisioned F-Label, can disrupt the QoS offered to properly reserved DetNet flows by using resources allocated to the reserved flows. Therefore, the network nodes of a DetNet network:
-
MUST defend the DetNet QoS by discarding or remarking (to an allocated DetNet flow or noncompeting non-DetNet flow) packets received that are not associated with a completed resource allocation.
-
MUST NOT use a DetNet allocated resource, e.g., a queue or shaper reserved for DetNet flows, for any packet that does match the corresponding DetNet flow.
-
MUST ensure a QoS flow does not exceed its allocated resources or provisioned service level.
-
MUST ensure a CoS flow or service class does not impact the service delivered to other flows. This requirement is similar to the requirement for MPLS LSRs that CoS LSPs do not impact the resources allocated to TE LSPs, e.g., via [RFC 3473].
Subsequent sections provide additional considerations related to CoS (
Section 4.6.1), QoS (
Section 4.6.2), and aggregation (
Section 4.4).
OAM follows the procedures set out in [
RFC 5085] with the restriction that only Virtual Circuit Connectivity Verification (VCCV) type 1 is supported.
As shown in Figure 3 of [
RFC 5085], when the first nibble of the d-CW is 0x0, the payload following the d-CW is normal user data. However, when the first nibble of the d-CW is 0x1, the payload that follows the d-CW is an OAM payload with the OAM type indicated by the value in the d-CW Channel Type field.
The reader is referred to [
RFC 5085] for a more detailed description of the Associated Channel mechanism and to the DetNet work on OAM [
DetNet-MPLS-OAM] for more information about DetNet OAM.
Additional considerations on DetNet-specific OAM are subjects for further study.
The ability to aggregate individual flows and their associated resource control into a larger aggregate is an important technique for improving scaling of control in the data, management, and control planes. The DetNet data plane allows for the aggregation of DetNet flows to improved scaling. There are two methods of supporting flow aggregation covered in this section.
The resource control and management aspects of aggregation (including the configuration of queuing, shaping, and policing) are the responsibility of the DetNet Controller Plane and are out of scope for this document. It is also the responsibility of the Controller Plane to ensure that consistent aggregation methods are used.
DetNet flows forwarded via MPLS can leverage MPLS-TE's existing support for hierarchical LSPs (H-LSPs); see [
RFC 4206]. H-LSPs are typically used to aggregate control and resources; they may also be used to provide OAM or protection for the aggregated LSPs. Arbitrary levels of aggregation naturally fall out of the definition for hierarchy and the MPLS label stack [
RFC 3032]. DetNet nodes that support aggregation (LSP hierarchy) map one or more LSPs (labels) into and from an H-LSP. Both carried LSPs and H-LSPs may or may not use the Traffic Class (TC) field, i.e., L-LSPs (Label-Only-Inferred-PSC LSPs) or E-LSPs (EXP-Inferred-PSC LSPs [
RFC 3270], which were renamed to "Explicitly TC-encoded-PSC LSPs" in
Section 2.2 of
RFC 5462). Such nodes will need to ensure that individual LSPs and H-LSPs receive the traffic treatment required to ensure the required DetNet service is preserved.
Additional details of the traffic control capabilities needed at a DetNet-aware node may be covered in the new service definitions mentioned above or in separate future documents. Controller Plane mechanisms will also need to ensure that the service required on the aggregate flow are provided, which may include the discarding or remarking mentioned in the previous sections.
An aggregate can be built by layering DetNet flows, including both their S-Label and (when present) F-Labels, as shown below:
+---------------------------------+
| |
| DetNet Flow |
| Payload Packet |
| |
+---------------------------------+ <--\
| DetNet Control Word | |
+=================================+ |
| S-Label | |
+---------------------------------+ |
| [ F-Label(s) ] | +----DetNet data plane
+---------------------------------+ |
| DetNet Control Word | |
+=================================+ |
| A-Label | |
+---------------------------------+ |
| F-Label(s) | <--/
+---------------------------------+
| Data-Link |
+---------------------------------+
| Physical |
+---------------------------------+
Both the aggregation label, which is referred to as an A-Label, and the individual flow's S-Label have their MPLS S bit set indicating the bottom of stack, and the d-CW allows the PREOF to work. An A-Label is a special case of an S-Label, whose properties are known only at the aggregation and deaggregation end points.
It is a property of the A-Label that what follows is a d-CW followed by an MPLS label stack. A relay node processing the A-Label would not know the underlying payload type, and the A-Label would be processed as a normal S-Label. This would only be known to a node that was a peer of the node imposing the S-Label. However, there is no real need for it to know the payload type during aggregation processing.
As in the previous section, nodes supporting this type of aggregation will need to ensure that individual and aggregated flows receive the traffic treatment required to ensure the required DetNet service is preserved. Also, it is the Controller Plane's responsibility to ensure that the service required on the aggregate flow is properly provisioned.
The internal procedures for edge and relay nodes related to PREOF are implementation specific. The order of a packet elimination or replication is out of scope for this specification.
It is important that the DetNet layer is configured such that a DetNet node never receives its own replicated packets. If it were to receive such packets, the replication function would make the loop more destructive of bandwidth than a conventional unicast loop. Ultimately, the TTL in the S-Label will cause the packet to die during a transient loop, but given the sensitivity of applications to packet latency, the impact on the DetNet application would be severe. To avoid the problem of a transient forwarding loop, changes to an LSP supporting DetNet
MUST be loop-free.
A DetNet edge node operates in the DetNet forwarding sub-layer and service sub-layer. An edge node is responsible for matching incoming packets to the service they require and encapsulating them accordingly. An edge node may perform PRF, PEF, and/or POF. Details on encapsulation can be found in
Section 4.2; details on PRF can be found in
Section 4.2.2.1; details on PEF can be found in
Section 4.2.2.2; and details on POF can be found in
Section 4.2.2.3.
A DetNet relay node operates in the DetNet forwarding sub-layer and service sub-layer. For DetNet using MPLS, forwarding-related processing is performed on the F-Label. This processing is done within an extended forwarder function. Whether an incoming DetNet flow receives DetNet-specific processing depends on how the forwarding is programmed. Some relay nodes may be DetNet service aware for certain DetNet services, while, for other DetNet services, these nodes may perform as unmodified LSRs that only understand how to switch MPLS-TE LSPs, i.e., as a transit node; see
Section 4.4. Again, this is entirely up to how the forwarding has been programmed.
During the elimination and replication process, the sequence number of an incoming DetNet packet
MUST be preserved and carried in the corresponding outgoing DetNet packet. For example, a relay node that performs both PEF and PRF first performs PEF on incoming packets to create a compound flow. It then performs PRF and copies the App-flow data and the d-CW into packets for each outgoing DetNet member flow.
The internal design of a relay node is out of scope for this document. However, the reader's attention is drawn to the need to make any PREOF state available to the packet processor(s) dealing with packets to which PREOF must be applied and to maintain that state in such a way that it is available to the packet processor operation on the next packet in the DetNet flow (which may be a duplicate, a late packet, or the next packet in sequence).
Class of Service (CoS) and Quality of Service (QoS) are terms that are often used interchangeably and confused with each other. In the context of DetNet, CoS is used to refer to mechanisms that provide traffic-forwarding treatment based on non-flow-specific traffic classification, and QoS is used to refer to mechanisms that provide traffic-forwarding treatment based on DetNet flow-specific traffic classification. Examples of existing network-level CoS mechanisms include Differentiated Services (Diffserv), which is enabled by the IP header Differentiated Services Code Point (DSCP) field [
RFC 2474] and MPLS label Traffic Class field [
RFC 5462] and at Layer 2 by IEEE 802.1p Priority Code Point (PCP).
CoS for DetNet flows carried in PWs and MPLS is provided using the existing MPLS Differentiated Services (Diffserv) architecture [
RFC 3270]. Both E-LSP and L-LSP MPLS Diffserv modes
MAY be used to support DetNet flows. The Traffic Class field (formerly the EXP field) of an MPLS label follows the definition of [
RFC 5462] and [
RFC 3270]. The Uniform, Pipe, and Short Pipe Diffserv tunneling and TTL processing models are described in [
RFC 3270] and [
RFC 3443] and
MAY be used for MPLS LSPs supporting DetNet flows. MPLS Explicit Congestion Notification (ECN)
MAY also be used, as defined in ECN [
RFC 5129] and updated by [
RFC 5462].
In addition to explicit routes and packet replication and elimination (described in
Section 4 above), DetNet provides zero congestion loss and bounded latency and jitter. As described in [
RFC 8655], there are different mechanisms that may be used separately or in combination to deliver a zero congestion loss service. This includes QoS mechanisms at the MPLS layer, which may be combined with the mechanisms defined by the underlying network layer, such as IEEE 802.1 TSN.
QoS mechanisms for flow-specific traffic treatment typically include a guarantee/agreement for the service and allocation of resources to support the service. Example QoS mechanisms include discrete resource allocation, admission control, flow identification and isolation, and sometimes path control, traffic protection, shaping, policing, and remarking. Example protocols that support QoS control include the Resource ReSerVation Protocol (RSVP) [
RFC 2205] and RSVP-TE [
RFC 3209] [
RFC 3473]. The existing MPLS mechanisms defined to support CoS [
RFC 3270] can also be used to reserve resources for specific traffic classes.
A baseline set of QoS capabilities for DetNet flows carried in PWs and MPLS can be provided by MPLS-TE [
RFC 3209] [
RFC 3473]. TE LSPs can also support explicit routes (path pinning). Current service definitions for packet TE LSPs can be found in "Specification of the Controlled-Load Network Element Service" [
RFC 2211], "Specification of Guaranteed Quality of Service" [
RFC 2212], and "Ethernet Traffic Parameters" [
RFC 6003]. Additional service definitions are expected in future documents to support the full range of DetNet services. In all cases, the existing label-based marking mechanisms defined for TE LSPs and even E-LSPs are used to support the identification of flows requiring DetNet QoS.