| < draft-ietf-detnet-mpls-08.txt | draft-ietf-detnet-mpls-09.txt > | |||
|---|---|---|---|---|
| DetNet B. Varga, Ed. | DetNet B. Varga, Ed. | |||
| Internet-Draft J. Farkas | Internet-Draft J. Farkas | |||
| Intended status: Standards Track Ericsson | Intended status: Standards Track Ericsson | |||
| Expires: January 7, 2021 L. Berger | Expires: January 13, 2021 L. Berger | |||
| LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
| A. Malis | A. Malis | |||
| Malis Consulting | Malis Consulting | |||
| S. Bryant | S. Bryant | |||
| Futurewei Technologies | Futurewei Technologies | |||
| J. Korhonen | J. Korhonen | |||
| July 6, 2020 | July 12, 2020 | |||
| DetNet Data Plane: MPLS | DetNet Data Plane: MPLS | |||
| draft-ietf-detnet-mpls-08 | draft-ietf-detnet-mpls-09 | |||
| Abstract | Abstract | |||
| This document specifies the Deterministic Networking data plane when | This document specifies the Deterministic Networking data plane when | |||
| operating over an MPLS Packet Switched Networks. | operating over an MPLS Packet Switched Networks. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 7, 2021. | This Internet-Draft will expire on January 13, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 | |||
| skipping to change at page 12, line 11 ¶ | skipping to change at page 12, line 11 ¶ | |||
| configuration, e.g., via the controller plane described in | configuration, e.g., via the controller plane described in | |||
| [I-D.ietf-detnet-data-plane-framework]. Note that S-Labels provide | [I-D.ietf-detnet-data-plane-framework]. Note that S-Labels provide | |||
| identification at the downstream DetNet service sub-layer receiver, | identification at the downstream DetNet service sub-layer receiver, | |||
| not the sender. As such, S-Labels MUST be allocated by the entity | not the sender. As such, S-Labels MUST be allocated by the entity | |||
| that controls the service sub-layer receiving node's label space, and | that controls the service sub-layer receiving node's label space, and | |||
| MAY be allocated from the platform label space [RFC3031]. Because | MAY be allocated from the platform label space [RFC3031]. Because | |||
| S-Labels are local to each node rather than being a global identifier | S-Labels are local to each node rather than being a global identifier | |||
| within a domain, they must be advertised to their upstream DetNet | within a domain, they must be advertised to their upstream DetNet | |||
| service-aware peer nodes (e.g., a DetNet MPLS End System or a DetNet | service-aware peer nodes (e.g., a DetNet MPLS End System or a DetNet | |||
| Relay or Edge Node) and interpreted in the context of their received | Relay or Edge Node) and interpreted in the context of their received | |||
| F-Label(s). | 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 | 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 | last F-Label is removed, immediately preceding the d-CW. To support | |||
| service sub-layer level OAM, an OAM Associated Channel Header (ACH) | service sub-layer level OAM, an OAM Associated Channel Header (ACH) | |||
| [RFC4385] together with a Generic Associated Channel Label (GAL) | [RFC4385] together with a Generic Associated Channel Label (GAL) | |||
| [RFC5586] MAY be used in place of a d-CW. | [RFC5586] MAY be used in place of a d-CW. | |||
| Similarly, an Entropy Label Indicator/Entropy Label (ELI/EL) | Similarly, an Entropy Label Indicator/Entropy Label (ELI/EL) | |||
| [RFC6790] MAY be carried below the S-Label in the label stack in | [RFC6790] MAY be carried below the S-Label in the label stack in | |||
| networks where DetNet flows would otherwise received ECMP treatment. | networks where DetNet flows would otherwise received ECMP treatment. | |||
| skipping to change at page 13, line 17 ¶ | skipping to change at page 13, line 19 ¶ | |||
| this regard. | this regard. | |||
| 4.2.2.1. Packet Replication Function Processing | 4.2.2.1. Packet Replication Function Processing | |||
| The Packet Replication Function (PRF) function MAY be supported by an | The Packet Replication Function (PRF) function MAY be supported by an | |||
| implementation for outgoing DetNet flows. The use of the PRF for a | implementation for outgoing DetNet flows. The use of the PRF for a | |||
| particular DetNet service MUST be provisioned via configuration, | particular DetNet service MUST be provisioned via configuration, | |||
| e.g., via the controller plane described in | e.g., via the controller plane described in | |||
| [I-D.ietf-detnet-data-plane-framework]. When replication is | [I-D.ietf-detnet-data-plane-framework]. When replication is | |||
| configure, the same app-flow data will be sent over multiple outgoing | configure, the same app-flow data will be sent over multiple outgoing | |||
| DetNet member flows using forwarding sub-layer LSPs. The same d-CW | 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 | field value MUST be used on all outgoing member flows for each | |||
| replicated MPLS packet. | replicated MPLS packet. | |||
| 4.2.2.2. Packet Elimination Function Processing | 4.2.2.2. Packet Elimination Function Processing | |||
| Implementations MAY support the Packet Elimination Function (PEF) for | Implementations MAY support the Packet Elimination Function (PEF) for | |||
| received DetNet MPLS flows. When supported, use of the PEF for a | received DetNet MPLS flows. When supported, use of the PEF for a | |||
| particular DetNet service MUST be provisioned via configuration, | particular DetNet service MUST be provisioned via configuration, | |||
| e.g., via the controller plane described in | e.g., via the controller plane described in | |||
| [I-D.ietf-detnet-data-plane-framework]. | [I-D.ietf-detnet-data-plane-framework]. | |||
| skipping to change at page 14, line 47 ¶ | skipping to change at page 15, line 5 ¶ | |||
| DetNet MPLS end systems, edge nodes and relay nodes may operate at | DetNet MPLS end systems, edge nodes and relay nodes may operate at | |||
| the DetNet service sub-layer with understanding of DetNet services | the DetNet service sub-layer with understanding of DetNet services | |||
| and their requirements. As mentioned earlier, when operating at this | and their requirements. As mentioned earlier, when operating at this | |||
| layer such nodes can push, pop or swap (pop then push) S-Labels. In | 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 | all cases, the F-Label(s) used for a DetNet service are always | |||
| replaced and the following procedures apply. | replaced and the following procedures apply. | |||
| When sending a DetNet flow, zero or more F-Labels MAY be pushed on | 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 | 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 | be pushed when sending a particular DetNet service MUST be | |||
| provisioned per DetNet service via configuration, e.g., via the | provisioned per outgoing S-Label via configuration, e.g., via the | |||
| controller plane discussed in [I-D.ietf-detnet-data-plane-framework]. | controller plane discussed in [I-D.ietf-detnet-data-plane-framework]. | |||
| F-Label(s) can also provide context for an S-Label. To allow for the | 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 | omission of F-Label(s), an implementation SHOULD also allow an | |||
| outgoing interface to be configured. | outgoing interface to be configured per S-Label. | |||
| When PRF is supported, the same app-flow data will be sent over | Note, when PRF is supported, the same app-flow data will be sent over | |||
| multiple outgoing DetNet member flows using forwarding sub-layer | multiple outgoing DetNet member flows using forwarding sub-layer | |||
| LSPs. To support PRF an implementation MUST support the setting of | LSPs. This means that implementation may be sending different sets | |||
| different sets of F-Labels per DetNet member flow. To allow for the | of F-Labels per DetNet member flow, each with a different S-Label. | |||
| omission of F-Labels, an implementation SHOULD also allow multiple | ||||
| outgoing interfaces to be provisioned. | ||||
| When a single set of F-Labels is provisioned for a particular | 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 | outgoing S-Label, that set of F-labels MUST be pushed after the | |||
| S-Label is pushed. The outgoing packet is then forwarded as | S-Label is pushed. The outgoing packet is then forwarded as | |||
| described below in Section 4.2.3.2. When a single outgoing interface | described below in Section 4.2.3.2. When a single outgoing interface | |||
| is provisioned, the outgoing packet is then forwarded as described | is provisioned, the outgoing packet is then forwarded as described | |||
| below in Section 4.2.3.2. | below in Section 4.2.3.2. | |||
| When multiple sets of outgoing F-Labels or interfaces are provisioned | When multiple sets of outgoing F-Labels or interfaces are provisioned | |||
| for a particular DetNet service, a copy of the outgoing packet, | for a particular DetNet service, a copy of the outgoing packet, | |||
| including the pushed S-Label, MUST be made per F-label set and | including the pushed member flow-specific S-Label, MUST be made per | |||
| outgoing interface. Each set of provisioned F-Labels are then pushed | F-label set and outgoing interface. Each set of provisioned F-Labels | |||
| onto a copy of the packet. Each copy is then forwarded as described | are then pushed onto a copy of the packet. Each copy is then | |||
| below in Section 4.2.3.2. | forwarded as described below in Section 4.2.3.2. | |||
| As described in the previous section, when receiving a DetNet MPLS | As described in the previous section, when receiving a DetNet MPLS | |||
| flow, an implementation identifies the DetNet service associated with | flow, an implementation identifies the DetNet service associated with | |||
| the incoming packet based on the S-Label. When a node is using | 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 | platform labels for S-Labels, any F-Labels can be popped and the | |||
| S-label uniquely identifies the DetNet service. In the case where | S-label uniquely identifies the DetNet service. In the case where | |||
| platform labels are not used, incoming F-Label(s) and, optionally, | platform labels are not used, incoming F-Label(s) and, optionally, | |||
| the incoming interface MUST also be provisioned for a DetNet service. | the incoming interface MUST also be provisioned for a DetNet service. | |||
| 4.2.3.2. Common F-Label Processing | 4.2.3.2. Common F-Label Processing | |||
| skipping to change at page 22, line 26 ¶ | skipping to change at page 22, line 26 ¶ | |||
| service basis: | service basis: | |||
| o App-Flow identification information, e.g., IP information as | o App-Flow identification information, e.g., IP information as | |||
| defined in [I-D.ietf-detnet-ip-over-mpls]. Note, this information | defined in [I-D.ietf-detnet-ip-over-mpls]. Note, this information | |||
| is not needed on DetNet relay nodes. | is not needed on DetNet relay nodes. | |||
| o The sequence number length to be used for the service. Valid | o The sequence number length to be used for the service. Valid | |||
| values included 0, 16 and 28 bits. 0 bits cannot be used when PEF | values included 0, 16 and 28 bits. 0 bits cannot be used when PEF | |||
| or POF is configured for the service. | or POF is configured for the service. | |||
| o The outgoing S-Label for the service. | ||||
| o If PRF is to be provided for the service. | o If PRF is to be provided for the service. | |||
| o The outgoing S-Label for each of the service's outgoing DetNet | ||||
| (member) flow. | ||||
| o The forwarding sub-layer information associated with the output of | o The forwarding sub-layer information associated with the output of | |||
| the service sub-layer. Note that when the PRF function is | the service sub-layer. Note that when the PRF function is | |||
| provisioned, this information is per DetNet member flow. | provisioned, this information is per DetNet member flow. | |||
| Logically the forwarding sub-layer information is a pointer to | Logically the forwarding sub-layer information is a pointer to | |||
| further details of transmission of Detnet flows at the forwarding | further details of transmission of Detnet flows at the forwarding | |||
| sub-layer. | sub-layer. | |||
| The following summarizes the information that is needed on service | The following summarizes the information that is needed on service | |||
| sub-layer aware nodes that receive DetNet MPLS traffic, on a per | sub-layer aware nodes that receive DetNet MPLS traffic, on a per | |||
| service basis: | service basis: | |||
| End of changes. 13 change blocks. | ||||
| 19 lines changed or deleted | 22 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||