< draft-song-mpls-extension-header-01.txt   draft-song-mpls-extension-header-02.txt >
Network Working Group H. Song, Ed. MPLS H. Song, Ed.
Internet-Draft Z. Li Internet-Draft Z. Li
Intended status: Standards Track T. Zhou Intended status: Standards Track T. Zhou
Expires: February 9, 2019 Huawei Expires: August 9, 2019 Huawei
L. Andersson L. Andersson
Bronze Dragon Consulting Bronze Dragon Consulting
August 8, 2018 February 5, 2019
MPLS Extension Header MPLS Extension Header
draft-song-mpls-extension-header-01 draft-song-mpls-extension-header-02
Abstract Abstract
Motivated by the need to support multiple in-network services and Motivated by the need to support multiple in-network services and
functions in an MPLS network, this document describes a method to functions in an MPLS network, this document describes a method to
encapsulate extension headers into MPLS packets. The encapsulation encapsulate extension headers into MPLS packets. The encapsulation
method allows stacking multiple extension headers and quickly method allows stacking multiple extension headers and quickly
accessing any of them as well as the original upper layer protocol accessing any of them as well as the original upper layer protocol
header and payload. We show how the extension header can be used to header and payload. We show how the extension header can be used to
support several new network applications. support several new network applications and optimize some existing
network services.
Requirements Language Requirements Language
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 BCP
14 [RFC2119][RFC8174] when, and only when, they appear in all 14 [RFC2119][RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
Status of This Memo Status of This Memo
skipping to change at page 1, line 47 skipping to change at page 1, line 48
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 February 9, 2019. This Internet-Draft will expire on August 9, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 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. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. MPLS Extension Header . . . . . . . . . . . . . . . . . . . . 4 2. MPLS Extension Header . . . . . . . . . . . . . . . . . . . . 4
3. Operation on MPLS Extension Headers . . . . . . . . . . . . . 8 3. Type of MPLS Extension Headers . . . . . . . . . . . . . . . 7
4. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4. Operation on MPLS Extension Headers . . . . . . . . . . . . . 7
5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Motivation 1. Motivation
Some applications require adding instructions and/or metadata to user Some applications require adding instructions and/or metadata to user
packets within a network. Such examples include In-situ OAM (IOAM) packets within a network. Such examples include In-situ OAM (IOAM)
[I-D.brockners-inband-oam-requirements] and Service Function Chaining [I-D.brockners-inband-oam-requirements] and Service Function Chaining
(SFC) [RFC7665]. New applications are emerging. It is possible that (SFC) [RFC7665]. New applications are emerging. It is possible that
the instructions and/or metadata for multiple applications are the instructions and/or metadata for multiple applications are
stacked together in one packet to support a compound service. stacked together in one packet to support a compound service.
However, the encapsulation of the new header(s) poses some challenges Conceivably, such instructions and/or metadata would be encoded as
to the ubiquitous MPLS networks. The MPLS protocol header contains new headers and encapsulated in user packets. Such headers may
no explicit indicator for the upper layer protocols by design. The require to be processed in fast path or in slow path. Moreover, such
compact MPLS header, while beneficial to forwarding, allows little headers may require being attended at each hop on the forwarding path
room for any extra information. Moreover, the backward compatibility (i.e., hop-by-hop or HBH) or at designated end nodes (i.e., end-to-
issue discourages any attempts trying to overload the semantics of end or E2E).
the existing MPLS header fields. While it is possible to designate
"service labels" with special semantics by an operator, the non-
standard approach burdens the control plane and impairs the
interoperability.
The similar "header extension" requirement for MPLS has led to
several proposals. A special Generic Associated Channel Label (GAL)
[RFC5586] is assigned to support the identification of an Associated
Channel Header (ACH). Later, it was proposed to use GAL to indicate
the presence of a Metadata Channel Header (MCH)
[I-D.guichard-sfc-mpls-metadata] as well.
GAL has several limitations:
o It must be located at the bottom of a label stack for its chief The encapsulation of the new header(s) poses some challenges to MPLS
use case of MPLS-TP. An LSR needs to search the entire label networks, because the MPLS protocol header contains no explicit
stack for the BoS bit and check if the corresponding label is GAL. indicator for the upper layer protocols by design. We leave the
This can impact the performance when the label stack is deep. discussion on the indicator of new header(s) in an MPLS packet to
another companion document. In this document, we focus on the encode
and encapsulation of new headers in an MPLS packet.
o When GAL is present, the first nibble of the word following the The similar problem has been tackled for some particular application
GAL needs to be checked to determine the header type. Since the before. However, the solutions have some drawbacks:
value of the nibble cannot be greater than 3 to avoid any possible
confliction with IP version numbers, this approach is not
scalable.
o By design, GAL can only indicate the presence of a single header. o These solutions rely on either the built-in next-protocol
Therefore, the solution alone is not sufficient to support adding indicator in the header or the knowledge of the format and size of
multiple headers at the same time. the header to access the following packet data. The node is
required to be able to parse the new header, which is unrealistic
in an incremental deployment environment.
o The presence of GAL makes the network load balancing or deep o A piecemeal solution often assumes the new header is the only
packet inspection based on upper layer protocol headers and extra header and its location in the packet is fixed by default.
payload difficult. It is impossible or difficult to support multiple new headers in
one packet due to the conflicted assumption.
In addition to the above limitations, it is not desirable to keep To solve these issues, we propose to introduce extension header as a
overloading GAL with new semantics. Instead of trying to patch on general and extensible means to support new in-network functions and
existing schemes, we propose a new mechanism to solve the above applications in MPLS networks. The idea is similar to IPv6 extension
mentioned issues and create new innovation opportunities, similar to headers which offer a huge innovation potential (e.g, network
the way that IPv6 supports extension headers, which offer a huge security, SRv6 [I-D.ietf-spring-segment-routing], network programming
innovation potential (e.g, network security, SRv6
[I-D.ietf-spring-segment-routing], network programming
[I-D.filsfils-spring-srv6-network-programming], SFC [I-D.filsfils-spring-srv6-network-programming], SFC
[I-D.xu-clad-spring-sr-service-chaining], etc.). Thanks to the [I-D.xu-clad-spring-sr-service-chaining], etc.). Thanks to the
existing of extension headers, it is straightforward to introduce new existing of extension headers, it is straightforward to introduce new
in-network services into IPv6 networks. For example, it has been in-network services into IPv6 networks. For example, it has been
proposed to carry IOAM header [I-D.brockners-inband-oam-transport] proposed to carry IOAM header [I-D.brockners-inband-oam-transport] as
and NSH as new extension headers in IPv6 networks. a new extension header in IPv6 networks.
Nevertheless, IPv6 is not perfect either. It has two main issues. Nevertheless, IPv6 is not perfect either. It has two main issues.
First, IPv6's header is large compared to MPLS, claiming extra First, IPv6's header is large compared to MPLS, claiming extra
bandwidth overhead and complicating the packet processing. We prefer bandwidth overhead and complicating the packet processing. We prefer
to retain the header compactness in MPLS networks. Second, IPv6's to retain the header compactness in MPLS networks. Second, IPv6's
extension headers are chained with the original upper layer protocol extension headers are chained with the original upper layer protocol
headers in a flat stack. One must scan all the extension headers to headers in a flat stack. One must scan all the extension headers to
access the upper layer protocol headers and the payload. This is access the upper layer protocol headers and the payload. This is
inconvenient and raises some performance concerns for some inconvenient and raises some performance concerns for some
applications (e.g., DPI and ECMP). The new scheme for MPLS header applications (e.g., DPI and ECMP). The new scheme for MPLS header
skipping to change at page 4, line 31 skipping to change at page 4, line 24
Scalability: New applications can be easily supported by introducing Scalability: New applications can be easily supported by introducing
new extension headers. Multiple extension headers can be easily new extension headers. Multiple extension headers can be easily
stacked together to support multiple services simultaneously. stacked together to support multiple services simultaneously.
Backward Compatibility: Legacy devices which do not recognize the Backward Compatibility: Legacy devices which do not recognize the
extension header option should still be able to forward the extension header option should still be able to forward the
packets as usual. If a device recognize some of the extension packets as usual. If a device recognize some of the extension
headers but not the others in an extension header stack, it can headers but not the others in an extension header stack, it can
process the known headers only while ignoring the others. process the known headers only while ignoring the others.
Extension headers can be be supported in several ways in an MPLS We assume the MPLS label stack has included some indicator of the
network, we have outlined some of them in this document. However, it extension header(s). The actual extension headers are inserted
should be noted that we do not intend to close this discussion yet, between the MPLS label stack and the original upper layer packet
and are prepared to listen to arguments why and how any other methods header. The format of the MPLS packets with extension headers is
could be used. One interesting line of thought is whether it would shown in Figure 1.
be possible to let a label that is received on top of the stack
indicate whether there are extension headers beneath the stack.
Our investigations indicate that a special purpose label and/or an
extended special purpose label will be the optimal way to go. A new
special purpose label, namely the Extension Header Label (EHL), can
be used to indicate EHs. So far 8 special purpose label values are
left unsigned by IANA (which are 4 to 6 and 8 to 12). Alternatively,
a two label scheme with the use of the extension label (XL) plus an
EHL is possible, but it does use one more label. It is also possible
to use FEC labels to indicate the presence of extension headers.
Although this approach avoid the need of a new special purpose label,
it introduces a good deal of complexity into the control plane. In
the remaining of the document, we assume a special EHL is assigned
and use it as an example to illustrate the scheme. A formal
recommendation on the Extension Header (EH) indicator approach will
be given in a future revision of this document.
The format of the MPLS packets with extension headers is shown in
Figure 1. An EHL can be located in anywhere in an MPLS label stack.
However, if there are legacy devices which do not recognize the EHL
in the network, then for backward compatibility, the EHL must be
located at the bottom of the stack (i.e., only the MPLS tunnel ends
and EHL-aware nodes will look up and process it). Otherwise, the EHL
can be located close to the top of the stack for better lookup
performance.
The format of an EHL is the same as an MPLS label. The first 20-bit
label value will be assigned by IANA. The BoS bit is used to
indicate the location of the label. The other fields, CoS and TTL,
are unused in the context of EHL.
0 31 0 31
+--------+--------+--------+--------+ +--------+--------+--------+--------+ -
| | | | |
~ MPLS Label Stack ~ ~ MPLS Label Stack ~ |
| | | | |
+--------+--------+--------+--------+ +--------+--------+--------+--------+ |
| EHL | | EH Indicator (TBD) | > MPLS Label Stack
+--------+--------+--------+--------+ +--------+--------+--------+--------+ | (extended with EHI)
| | | | |
~ MPLS Label Stack ~ ~ MPLS Label Stack ~ |
| | | | |
+--------+--------+--------+--------+ +--------+--------+--------+--------+ =
| Header of Extension Headers (HEH) | | Header of Extension Headers (HEH) | |
+--------+--------+--------+--------+ +--------+--------+--------+--------+ |
| | | | |
~ Extension Header (EH) 1 ~ ~ Extension Header (EH) 1 ~ |
| | | | |
+--------+--------+--------+--------+ +--------+--------+--------+--------+ > MPLS EH Fields
~ ~ ~ ~ | (new)
+--------+--------+--------+--------+ +--------+--------+--------+--------+ |
| | | | |
~ Extension Header (EH) N ~ ~ Extension Header (EH) N ~ |
| | | | |
+--------+--------+--------+--------+ +--------+--------+--------+--------+ =
| | | | |
~ Upper Layer Protocols/Payload ~ ~ Upper Layer Headers/Payload ~ > MPLS Payload
| | | | | (as is)
+--------+--------+--------+--------+ +--------+--------+--------+--------+ -
Figure 1: MPLS with Extension Header Figure 1: MPLS with Extension Headers
Following the MPLS label stack is the 4-octet Header of Extension Following the MPLS label stack is the 4-octet Header of Extension
Headers (HEH), which indicates the total number of extension headers Headers (HEH), which indicates the total number of extension headers
in this packet, the overall length of the extension headers, and the in this packet, the overall length of the extension headers, and the
type of the next header. The format of the HEH is shown in Figure 2. type of the next header. The format of the HEH is shown in Figure 2.
0 1 2 3 0 1 2 3
0123 45678901 234567890123 45678901 0123 45678901 234567890123 45678901
+----+--------+------------+--------+ +----+--------+------------+--------+
| R | EHCNT | EHTLEN | NH | | R | EHCNT | EHTLEN | NH |
skipping to change at page 8, line 22 skipping to change at page 7, line 22
NONE (No Next Header): Indicates that there is no other header and NONE (No Next Header): Indicates that there is no other header and
payload after this header. This can be used to transport packets payload after this header. This can be used to transport packets
with only extension header(s). with only extension header(s).
UNKNOWN (Unknown Next Header): Indicates that the type of the header UNKNOWN (Unknown Next Header): Indicates that the type of the header
after this header is unknown. This is intended to be compatible after this header is unknown. This is intended to be compatible
with the original MPLS design in which the upper layer protocol with the original MPLS design in which the upper layer protocol
type is unknown from the MPLS header alone. type is unknown from the MPLS header alone.
3. Operation on MPLS Extension Headers 3. Type of MPLS Extension Headers
When the first EH X needs to be added to an MPLS packet, an EHL is Basically, there are two types of MPLS EHs: HBH and E2E. E2E means
inserted into the proper location in the MPLS label stack. A HEH is that the EH is only supposed to be inserted/removed and processed at
then inserted after the MPLS label stack, in which EHCNT is set to 1, the MPLS tunnel end points where the MPLS header is inserted or
EHTLEN is set to the length of X in 4-octet units, and NH is set to removed. The EHs that are inserted or removed within the MPLS tunnel
the header value of X. At last, X is inserted after the HEH, in are of the HBH type. However, any node in the tunnel can be
which NH and HELN are set accordingly. Note that if this operation configured to ignore an HBH EH, even if it is capable of processing
happens at a PE device, the upper layer protocol is known before the the EH.
MPLS encapsulation, so its value can be saved in the NH field if
desired. Otherwise, the NH field is filled with the value of If there are two types of EHs in a packet, the HBH EHs must take
"UNKNOWN". precedence over the E2E EHs.
Making a distinction of the EH types and ordering the EHs in a packet
help improve the forwardidng performance. For example, if a node
within an MPLS tunnel finds only E2E EHs in a packet, it can avoid
scanning the EH list.
4. Operation on MPLS Extension Headers
When the first EH X needs to be added to an MPLS packet, an EH
indicator is inserted into the proper location in the MPLS label
stack. A HEH is then inserted after the MPLS label stack, in which
EHCNT is set to 1, EHTLEN is set to the length of X in 4-octet units,
and NH is set to the header value of X. At last, X is inserted after
the HEH, in which NH and HELN are set accordingly. Note that if this
operation happens at a PE device, the upper layer protocol is known
before the MPLS encapsulation, so its value can be saved in the NH
field if desired. Otherwise, the NH field is filled with the value
of "UNKNOWN".
When an EH Y needs to be added to an MPLS packet which already When an EH Y needs to be added to an MPLS packet which already
contains extension header(s), the EHCNT and EHTLEN in the HEH are contains extension header(s), the EHCNT and EHTLEN in the HEH are
updated accordingly (i.e., EHCNT is incremented by 1 and EHTLEN is updated accordingly (i.e., EHCNT is incremented by 1 and EHTLEN is
incremented by the size of Y in 4-octet units). Then a proper incremented by the size of Y in 4-octet units). Then a proper
location for Y in the EH chain is located. Y is inserted at this location for Y in the EH chain is located. Y is inserted at this
location. The NH field of Y is copied from the previous EH's NH location. The NH field of Y is copied from the previous EH's NH
field (or from the HEH's NH field, if Y is the first EH in the field (or from the HEH's NH field, if Y is the first EH in the
chain). The previous EH's NH value, or, if Y is the first EH in the chain). The previous EH's NH value, or, if Y is the first EH in the
chain, the HEH's NH, is set to the header value of Y. chain, the HEH's NH, is set to the header value of Y.
Deleting an EH simply reverses the above operation. If the deleted Deleting an EH simply reverses the above operation. If the deleted
EH is the last one, the EHL and HEH can also be deleted. EH is the last one, the EH indicator and HEH can also be removed.
When processing an MPLS packet with extension headers, the node needs When processing an MPLS packet with extension headers, the node needs
to scan through the entire EH chain and process the EH one by one. to scan through the entire EH chain and process the EH one by one.
The node should ignore any unrecognized EH. The node should ignore any unrecognized EH.
4. Use Cases The EH can be categorized into HBH or E2E. If the EH indicator can
indicate the EH types and the EHs are ordered (i.e., HBH EHs are
located before E2E EHs), a node can avoid some unnecessary EH scan.
5. Use Cases
In this section, we show how MPLS extension header can be used to In this section, we show how MPLS extension header can be used to
support several new network applications. support several new network applications.
In-situ OAM: In-situ OAM (IOAM) records flow OAM information within In-situ OAM: In-situ OAM (IOAM) records flow OAM information within
user packets while the packets traverse a network. The user packets while the packets traverse a network. The
instruction and collected data are kept in an IOAM header instruction and collected data are kept in an IOAM header
[I-D.ietf-ippm-ioam-data]. When applying IOAM in an MPLS network, [I-D.ietf-ippm-ioam-data]. When applying IOAM in an MPLS network,
the IOAM header can be encapsulated as an MPLS extension header. the IOAM header can be encapsulated as an MPLS extension header.
NSH: Network Service Header (NSH) [RFC8300] provides a service plane
for Service Function Chaining (SFC). NSH maintains the SFC
context and metadata. If MPLS is used as the transport protocol
for NSH, NSH can be encapsulated as an MPLS extension header.
Network Telemetry and Measurement: A network telemetry and Network Telemetry and Measurement: A network telemetry and
instruction header can be carried as an extension header to instruction header can be carried as an extension header to
instruct a node what type of network measurements should be done. instruct a node what type of network measurements should be done.
For example, the method described in [RFC8321] can be implemented For example, the method described in [RFC8321] can be implemented
in MPLS networks since the EH provides a natural way to color MPLS in MPLS networks since the EH provides a natural way to color MPLS
packets. packets.
Network Security: Security related functions often require user Network Security: Security related functions often require user
packets to carry some metadata. In a DoS limiting network packets to carry some metadata. In a DoS limiting network
architecture, a "packet passport" header is used to embed packet architecture, a "packet passport" header is used to embed packet
authentication information for each node to verify. authentication information for each node to verify.
Segment Routing: MPLS extension header can support the Segment Routing and Network Programming: MPLS extension header can
implementation of a new flavor of the MPLS-based segment routing, support the implementation of a new flavor of the MPLS-based
with better performance and richer functionalities. The details segment routing, with better performance and richer
will be described in another draft. functionalities. The details will be described in another draft.
With MPLS extension headers, multiple in-network applications can be With MPLS extension headers, multiple in-network applications can be
stacked together. For example, IOAM and SFC can be applied at the stacked together. For example, IOAM and SFC can be applied at the
same time to support network OAM and service function chaining. A same time to support network OAM and service function chaining. A
node can stop scanning the extension header stack if all the known node can stop scanning the extension header stack if all the known
headers it can process have been located. For example, if IOAM is headers it can process have been located. For example, if IOAM is
the first EH in a stack and a node is configured to process IOAM the first EH in a stack and a node is configured to process IOAM
only, it will stop searching the EH stack when the IOAM EH is found. only, it will stop searching the EH stack when the IOAM EH is found.
5. Summary
Evidenced by the existing and emerging use cases, MPLS networks need
a standard way to support extension headers. In Figure 4, we
summarize the potential schemes that allow MPLS packets to carry
extension headers and list the main issues for each scheme.
+---+---------------------------+---------------------------------+
|No.| Description | Issues |
+---+---------------------------+---------------------------------+
| 1 | GAL + MCH with multi- |- Label location limitation lead |
| | header extension | to performance concern |
| | |- Interfere with load balancing |
| | | and DPI functions |
| | |- Overload GAL semantics |
| | |- Need standard extension |
+---+---------------------------+---------------------------------+
| 2 | GAL + another nibble value|- Same as above |
| | to encode the EHs (e.g., | |
| | "0010") | |
+---+---------------------------+---------------------------------+
| 3 | FEC label to indicate EH |- Complex control plane |
| | |- Interoperability |
+---+---------------------------+---------------------------------+
| 4 | XL(15) + EHL |- One extra label |
| | |- Need standard extension |
+---+---------------------------+---------------------------------+
| 5 | Special purpose EHL |- Need standard extension |
+---+---------------------------+---------------------------------+
Figure 4: Potential Schemes for MPLS Extension Headers
Through comprehensive considerations on the pros and cons of each
scheme, we currently recommend the scheme No.5. The proposed MPLS
extension header scheme provides a generic way to support in-network
services and functions in MPLS networks.
6. Security Considerations 6. Security Considerations
TBD TBD
7. IANA Considerations 7. IANA Considerations
If the EHL approach is adopted to indicate the presence of MPLS This document requests IANA to assign two new Internet Protocol
extension header(s), this document requests IANA to assign a new
Special-Purpose MPLS Label Value from the Special-Purpose
Multiprotocol Label Switching (MPLS) Label Values Registry of
"Extension Header Label (EHL)".
This document also requests IANA to assign two new Internet Protocol
Numbers from the "Protocol Numbers" Registry to indicate "No Next Numbers from the "Protocol Numbers" Registry to indicate "No Next
Header" or "Unknown Next Header". Header" or "Unknown Next Header".
This document does not create any new registries. This document does not create any new registries.
8. Contributors 8. Contributors
The other contributors of this document are listed as follows. The other contributors of this document are listed as follows.
o James Guichard o James Guichard
skipping to change at page 11, line 42 skipping to change at page 10, line 14
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
Chaining (SFC) Architecture", RFC 7665, Chaining (SFC) Architecture", RFC 7665,
DOI 10.17487/RFC7665, October 2015, DOI 10.17487/RFC7665, October 2015,
<https://www.rfc-editor.org/info/rfc7665>. <https://www.rfc-editor.org/info/rfc7665>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
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>.
[RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
"Network Service Header (NSH)", RFC 8300,
DOI 10.17487/RFC8300, January 2018,
<https://www.rfc-editor.org/info/rfc8300>.
[RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, [RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
"Alternate-Marking Method for Passive and Hybrid "Alternate-Marking Method for Passive and Hybrid
Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
January 2018, <https://www.rfc-editor.org/info/rfc8321>. January 2018, <https://www.rfc-editor.org/info/rfc8321>.
10.2. Informative References 10.2. Informative References
[I-D.brockners-inband-oam-requirements] [I-D.brockners-inband-oam-requirements]
Brockners, F., Bhandari, S., Dara, S., Pignataro, C., Brockners, F., Bhandari, S., Dara, S., Pignataro, C.,
Gredler, H., Leddy, J., Youell, S., Mozes, D., Mizrahi, Gredler, H., Leddy, J., Youell, S., Mozes, D., Mizrahi,
T., <>, P., and r. remy@barefootnetworks.com, T., Lapukhov, P., and r. remy@barefootnetworks.com,
"Requirements for In-situ OAM", draft-brockners-inband- "Requirements for In-situ OAM", draft-brockners-inband-
oam-requirements-03 (work in progress), March 2017. oam-requirements-03 (work in progress), March 2017.
[I-D.brockners-inband-oam-transport] [I-D.brockners-inband-oam-transport]
Brockners, F., Bhandari, S., Govindan, V., Pignataro, C., Brockners, F., Bhandari, S., Govindan, V., Pignataro, C.,
Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Mozes, Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Mozes,
D., Lapukhov, P., and R. Chang, "Encapsulations for In- D., Lapukhov, P., and R. Chang, "Encapsulations for In-
situ OAM Data", draft-brockners-inband-oam-transport-05 situ OAM Data", draft-brockners-inband-oam-transport-05
(work in progress), July 2017. (work in progress), July 2017.
[I-D.filsfils-spring-srv6-network-programming] [I-D.filsfils-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Filsfils, C., Camarillo, P., Leddy, J.,
daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6
Network Programming", draft-filsfils-spring-srv6-network- Network Programming", draft-filsfils-spring-srv6-network-
programming-05 (work in progress), July 2018. programming-06 (work in progress), October 2018.
[I-D.guichard-sfc-mpls-metadata] [I-D.guichard-sfc-mpls-metadata]
Guichard, J., Pignataro, C., Spraggs, S., and S. Bryant, Guichard, J., Pignataro, C., Spraggs, S., and S. Bryant,
"Carrying Metadata in MPLS Networks", draft-guichard-sfc- "Carrying Metadata in MPLS Networks", draft-guichard-sfc-
mpls-metadata-00 (work in progress), September 2013. mpls-metadata-00 (work in progress), September 2013.
[I-D.ietf-ippm-ioam-data] [I-D.ietf-ippm-ioam-data]
Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., Brockners, F., Bhandari, S., Pignataro, C., Gredler, H.,
Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov,
P., Chang, R., daniel.bernier@bell.ca, d., and J. Lemon, P., Chang, R., daniel.bernier@bell.ca, d., and J. Lemon,
"Data Fields for In-situ OAM", draft-ietf-ippm-ioam- "Data Fields for In-situ OAM", draft-ietf-ippm-ioam-
data-03 (work in progress), June 2018. data-04 (work in progress), October 2018.
[I-D.ietf-spring-segment-routing] [I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing Litkowski, S., and R. Shakir, "Segment Routing
Architecture", draft-ietf-spring-segment-routing-15 (work Architecture", draft-ietf-spring-segment-routing-15 (work
in progress), January 2018. in progress), January 2018.
[I-D.xu-clad-spring-sr-service-chaining] [I-D.xu-clad-spring-sr-service-chaining]
Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca,
d., Decraene, B., Yadlapalli, C., Henderickx, W., Salsano, d., Decraene, B., Yadlapalli, C., Henderickx, W., Salsano,
 End of changes. 30 change blocks. 
199 lines changed or deleted 125 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/