draft-ietf-mpls-spring-lsp-ping-06.txt | draft-ietf-mpls-spring-lsp-ping-07.txt | |||
---|---|---|---|---|
Network Work group N. Kumar, Ed. | Network Work group N. Kumar, Ed. | |||
Internet-Draft C. Pignataro, Ed. | Internet-Draft C. Pignataro, Ed. | |||
Intended status: Standards Track Cisco | Intended status: Standards Track Cisco | |||
Expires: February 22, 2018 G. Swallow | Expires: March 23, 2018 G. Swallow | |||
Individual | Southend Technical Center | |||
N. Akiya | N. Akiya | |||
Big Switch Networks | Big Switch Networks | |||
S. Kini | S. Kini | |||
Individual | Individual | |||
M. Chen | M. Chen | |||
Huawei | Huawei | |||
August 21, 2017 | September 19, 2017 | |||
Label Switched Path (LSP) Ping/Traceroute for Segment Routing Networks | Label Switched Path (LSP) Ping/Traceroute for Segment Routing IGP Prefix | |||
with MPLS Data-plane | and Adjacency SIDs with MPLS Data-plane | |||
draft-ietf-mpls-spring-lsp-ping-06 | draft-ietf-mpls-spring-lsp-ping-07 | |||
Abstract | Abstract | |||
Segment Routing architecture leverages the source routing and | Segment Routing architecture leverages the source routing and | |||
tunneling paradigms and can be directly applied to MPLS data plane. | tunneling paradigms and can be directly applied to MPLS data plane. | |||
A node steers a packet through a controlled set of instructions | A node steers a packet through a controlled set of instructions | |||
called segments, by prepending the packet with a Segment Routing | called segments, by prepending the packet with a Segment Routing | |||
header. | header. | |||
The segment assignment and forwarding semantic nature of Segment | The segment assignment and forwarding semantic nature of Segment | |||
skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
plane. | plane. | |||
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. | |||
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 http://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 22, 2018. | This Internet-Draft will expire on March 23, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | |||
(http://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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 3 | 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Challenges with Existing mechanism . . . . . . . . . . . . . 4 | 4. Challenges with Existing mechanism . . . . . . . . . . . . . 4 | |||
4.1. Path validation in Segment Routing networks . . . . . . . 4 | 4.1. Path validation in Segment Routing networks . . . . . . . 4 | |||
4.2. Service Label . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
5. Segment ID sub-TLV . . . . . . . . . . . . . . . . . . . . . 5 | 5. Segment ID sub-TLV . . . . . . . . . . . . . . . . . . . . . 5 | |||
5.1. IPv4 IGP-Prefix Segment ID . . . . . . . . . . . . . . . 6 | 5.1. IPv4 IGP-Prefix Segment ID . . . . . . . . . . . . . . . 5 | |||
5.2. IPv6 IGP-Prefix Segment ID . . . . . . . . . . . . . . . 6 | 5.2. IPv6 IGP-Prefix Segment ID . . . . . . . . . . . . . . . 6 | |||
5.3. IGP-Adjacency Segment ID . . . . . . . . . . . . . . . . 7 | 5.3. IGP-Adjacency Segment ID . . . . . . . . . . . . . . . . 7 | |||
6. Extension to Downstream Detailed Mapping TLV . . . . . . . . 9 | 6. Extension to Downstream Detailed Mapping TLV . . . . . . . . 8 | |||
7. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 7. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
7.1. FECs in Target FEC Stack TLV . . . . . . . . . . . . . . 10 | 7.1. FECs in Target FEC Stack TLV . . . . . . . . . . . . . . 9 | |||
7.2. FEC Stack Change sub-TLV . . . . . . . . . . . . . . . . 10 | 7.2. FEC Stack Change sub-TLV . . . . . . . . . . . . . . . . 10 | |||
7.3. Segment ID POP Operation . . . . . . . . . . . . . . . . 11 | 7.3. Segment ID POP Operation . . . . . . . . . . . . . . . . 10 | |||
7.4. Segment ID Check . . . . . . . . . . . . . . . . . . . . 11 | 7.4. Segment ID Check . . . . . . . . . . . . . . . . . . . . 10 | |||
7.5. TTL Consideration for traceroute . . . . . . . . . . . . 14 | 7.5. TTL Consideration for traceroute . . . . . . . . . . . . 14 | |||
8. Issues with non-forwarding labels . . . . . . . . . . . . . . 15 | 8. Backward Compatibility with non Segment Routing devices . . . 15 | |||
9. Backward Compatibility with non Segment Routing devices . . . 15 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 9.1. New Target FEC Stack Sub-TLVs . . . . . . . . . . . . . . 15 | |||
10.1. New Target FEC Stack Sub-TLVs . . . . . . . . . . . . . 15 | 9.2. Protocol in Label Stack Sub-TLV of Downstream Detailed | |||
10.2. Protocol in Label Stack Sub-TLV of Downstream Detailed | Mapping TLV . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
Mapping TLV . . . . . . . . . . . . . . . . . . . . . . 16 | 9.3. Return Code . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
10.3. Return Code . . . . . . . . . . . . . . . . . . . . . . 16 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | 11. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
12. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17 | 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 17 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 13.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | ||||
1. Introduction | 1. Introduction | |||
[I-D.ietf-spring-segment-routing] introduces and explains Segment | [I-D.ietf-spring-segment-routing] introduces and explains Segment | |||
Routing architecture that leverages the source routing and tunneling | Routing architecture that leverages the source routing and tunneling | |||
paradigms. A node steers a packet through a controlled set of | paradigms. A node steers a packet through a controlled set of | |||
instructions called segments, by prepending the packet with Segment | instructions called segments, by prepending the packet with Segment | |||
Routing header. A detailed definition about Segment Routing | Routing header. A detailed definition about Segment Routing | |||
architecture is available in [I-D.ietf-spring-segment-routing] | architecture is available in [I-D.ietf-spring-segment-routing] | |||
skipping to change at page 3, line 30 ¶ | skipping to change at page 3, line 28 ¶ | |||
Segment Routing header is the label stack. | Segment Routing header is the label stack. | |||
"Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures" | "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures" | |||
[RFC8029] defines a simple and efficient mechanism to detect data | [RFC8029] defines a simple and efficient mechanism to detect data | |||
plane failures in Label Switched Paths (LSP) by specifying | plane failures in Label Switched Paths (LSP) by specifying | |||
information to be carried in an MPLS "echo request" and "echo reply" | information to be carried in an MPLS "echo request" and "echo reply" | |||
for the purposes of fault detection and isolation. Mechanisms for | for the purposes of fault detection and isolation. Mechanisms for | |||
reliably sending the echo reply are defined. The functionality | reliably sending the echo reply are defined. The functionality | |||
defined in [RFC8029] is modeled after the ping/traceroute paradigm | defined in [RFC8029] is modeled after the ping/traceroute paradigm | |||
(ICMP echo request [RFC0792]) and is typically referred to as LSP | (ICMP echo request [RFC0792]) and is typically referred to as LSP | |||
ping and LSP traceroute. [RFC8029] supports hierarchal and stitching | ping and LSP traceroute. [RFC8029] supports hierarchical and | |||
LSPs. | stitching LSPs. | |||
Unlike LDP or RSVP which are the other well-known MPLS control plane | Unlike LDP or RSVP which are the other well-known MPLS control plane | |||
protocols, the basis of segment ID assignment in Segment Routing | protocols, the basis of segment ID assignment in Segment Routing | |||
architecture is not hop-by-hop always. Depending on the type of | architecture is not always on hop-by-hop basis. Depending on the | |||
segment ID, the assignment can be unique to the node or within the | type of segment ID, the assignment can be unique to the node or | |||
domain. | within a domain. | |||
This nature of Segment Routing raises additional consideration for | This nature of Segment Routing raises additional consideration for | |||
fault detection and isolation in Segment Routing network. This | fault detection and isolation in Segment Routing network. This | |||
document illustrates the problem and describe a mechanism to perform | document illustrates the problem and describes a mechanism to perform | |||
LSP Ping and Traceroute on Segment Routing network over MPLS data | LSP Ping and Traceroute on Segment Routing network over MPLS data | |||
plane. | plane. | |||
2. Requirements notation | 2. Requirements notation | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
3. Terminology | 3. Terminology | |||
skipping to change at page 5, line 21 ¶ | skipping to change at page 5, line 21 ¶ | |||
the Adjacency Segment ID 9124 is misprogrammed in R2 to send the | the Adjacency Segment ID 9124 is misprogrammed in R2 to send the | |||
packet to R1 or R3, it will still be delivered to R8 but is not via | packet to R1 or R3, it will still be delivered to R8 but is not via | |||
the expected path. | the expected path. | |||
MPLS traceroute may help with detecting such deviation in above | MPLS traceroute may help with detecting such deviation in above | |||
mentioned scenario. However, in a different example, it may not be | mentioned scenario. However, in a different example, it may not be | |||
helpful. For example if R3, due to misprogramming, forwards packet | helpful. For example if R3, due to misprogramming, forwards packet | |||
with Adjacency Segment ID 9236 via link L1 while it is expected to be | with Adjacency Segment ID 9236 via link L1 while it is expected to be | |||
forwarded over Link L2. | forwarded over Link L2. | |||
4.2. Service Label | ||||
A Segment ID can represent a service based instruction. A Segment | ||||
Routing header can have label stack entries where the label | ||||
represents a service to be applied along the path. Since these | ||||
labels are part of the label stack, they can influence the path taken | ||||
by a packet and consequently have implications on MPLS OAM. Service | ||||
Label is left for future study. | ||||
5. Segment ID sub-TLV | 5. Segment ID sub-TLV | |||
The format of the following Segment ID sub-TLVs follows the | The format of the following Segment ID sub-TLVs follows the | |||
philosophy of Target FEC Stack TLV carrying FECs corresponding to | philosophy of Target FEC Stack TLV carrying FECs corresponding to | |||
each label in the label stack. When operated with the procedures | each label in the label stack. When operated with the procedures | |||
defined in [RFC8029], this allows LSP ping/traceroute operations to | defined in [RFC8029], this allows LSP ping/traceroute operations to | |||
function when Target FEC Stack TLV contains more FECs than received | function when Target FEC Stack TLV contains more FECs than received | |||
label stack at responder nodes. | label stack at responder nodes. | |||
Three new sub-TLVs are defined for Target FEC Stack TLVs (Type 1), | Three new sub-TLVs are defined for Target FEC Stack TLVs (Type 1), | |||
Reverse-Path Target FEC Stack TLV (Type 16) and Reply Path TLV (Type | Reverse-Path Target FEC Stack TLV (Type 16) and Reply Path TLV (Type | |||
21). | 21). | |||
sub-Type Value Field | sub-Type Value Field | |||
-------- --------------- | -------- --------------- | |||
34 IPv4 IGP-Prefix Segment ID | 34 IPv4 IGP-Prefix Segment ID | |||
35 IPv6 IGP-Prefix Segment ID | 35 IPv6 IGP-Prefix Segment ID | |||
36 IGP-Adjacency Segment ID | 36 IGP-Adjacency Segment ID | |||
Service Segments and FRR will be considered in future version. | ||||
5.1. IPv4 IGP-Prefix Segment ID | 5.1. IPv4 IGP-Prefix Segment ID | |||
The format is as below: | The format is as below: | |||
0 1 2 3 | 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 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| IPv4 Prefix | | | IPv4 Prefix | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Prefix Length | Protocol | Reserved | | |Prefix Length | Protocol | Reserved | | |||
skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 23 ¶ | |||
Protocol | Protocol | |||
Set to 1, if the Responder MUST perform FEC validation using OSPF | Set to 1, if the Responder MUST perform FEC validation using OSPF | |||
as IGP protocol. Set to 2, if the Responder MUST perform Egress | as IGP protocol. Set to 2, if the Responder MUST perform Egress | |||
FEC validation using ISIS as IGP protocol. Set to 0, if Responder | FEC validation using ISIS as IGP protocol. Set to 0, if Responder | |||
can use any IGP protocol for Egress FEC validation. | can use any IGP protocol for Egress FEC validation. | |||
5.3. IGP-Adjacency Segment ID | 5.3. IGP-Adjacency Segment ID | |||
The format is as below: | This Sub-TLV is applicable for any IGP-Adjacency defined in section | |||
3.5 of [I-D.ietf-spring-segment-routing]. The format is as below: | ||||
0 1 2 3 | 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 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Adj. Type | Protocol | Reserved | | | Adj. Type | Protocol | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Local Interface ID (4 or 16 octets) | | | Local Interface ID (4 or 16 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Remote Interface ID (4 or 16 octets) | | | Remote Interface ID (4 or 16 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ ~ | ~ ~ | |||
| Advertising Node Identifier (4 or 6 octets) | | | Advertising Node Identifier (4 or 6 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ ~ | ~ ~ | |||
| Receiving Node Identifier (4 or 6 octets) | | | Receiving Node Identifier (4 or 6 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Adj. Type (Adjacency Type) | Adj. Type (Adjacency Type) | |||
Set to 1, when the Adjacency Segment is Parallel Adjacency as | Set to 1, when the Adjacency Segment is Parallel Adjacency as | |||
defined in Section 3.5.1 of [I-D.ietf-spring-segment-routing]. | defined in Section 3.4.1 of [I-D.ietf-spring-segment-routing]. | |||
Set to 4, when the Adjacency segment is IPv4 based and is not a | Set to 4, when the Adjacency segment is IPv4 based and is not a | |||
parallel adjacency. Set to 6, when the Adjacency segment is IPv6 | parallel adjacency. Set to 6, when the Adjacency segment is IPv6 | |||
based and is not a parallel adjacency. Set to 0, when the | based and is not a parallel adjacency. Set to 0, when the | |||
Adjacency segment is over unnumbered interface. | Adjacency segment is over unnumbered interface. | |||
Protocol | Protocol | |||
Set to 1, if the Responder MUST perform FEC validation using OSPF | Set to 1, if the Responder MUST perform FEC validation using OSPF | |||
as IGP protocol. Set to 2, if the Responder MUST perform Egress | as IGP protocol. Set to 2, if the Responder MUST perform Egress | |||
FEC validation using ISIS as IGP protocol. Set to 0, if Responder | FEC validation using ISIS as IGP protocol. Set to 0, if Responder | |||
can use any IGP protocol for Egress FEC validation. | can use any IGP protocol for Egress FEC validation. | |||
Local Interface ID | Local Interface ID | |||
An identifier that is assigned by local LSR for a link on which | An identifier that is assigned by local LSR for a link on which | |||
Adjacency Segment ID is bound. This field is set to local link | Adjacency Segment ID is bound. This field is set to local link | |||
address (IPv4 or IPv6). Incase of unnumbered, 32 bit link | address (IPv4 or IPv6). Incase of unnumbered, 32 bit link | |||
identifier defined in [RFC4203], [RFC5307] is used. If the | identifier defined in [RFC4203], [RFC5307] is used. If the | |||
Adjacency Segment ID represents parallel adjacencies | Adjacency Segment ID represents parallel adjacencies | |||
(Section 3.5.1 of [I-D.ietf-spring-segment-routing]) this field | (Section 3.4.1 of [I-D.ietf-spring-segment-routing]) this field | |||
MUST be set to 4 bytes of zero. | MUST be set to 4 bytes of zero. | |||
Remote Interface ID | Remote Interface ID | |||
An identifier that is assigned by remote LSR for a link on which | An identifier that is assigned by remote LSR for a link on which | |||
Adjacency Segment ID is bound. This field is set to remote | Adjacency Segment ID is bound. This field is set to remote | |||
(downstream neighbor) link address (IPv4 or IPv6). In case of | (downstream neighbor) link address (IPv4 or IPv6). In case of | |||
unnumbered, 32 bit link identifier defined in [RFC4203], [RFC5307] | unnumbered, 32 bit link identifier defined in [RFC4203], [RFC5307] | |||
is used. If the Adjacency Segment ID represents parallel | is used. If the Adjacency Segment ID represents parallel | |||
adjacencies (Section 3.5.1 of [I-D.ietf-spring-segment-routing]) | adjacencies (Section 3.4.1 of [I-D.ietf-spring-segment-routing]) | |||
this field MUST be set to 4 bytes of zero. | this field MUST be set to 4 bytes of zero. | |||
Advertising Node Identifier | Advertising Node Identifier | |||
Specifies the advertising node identifier. When Protocol is set | Specifies the advertising node identifier. When Protocol is set | |||
to 1, then the 32 rightmost bits represent OSPF Router ID and if | to 1, then the 32 rightmost bits represent OSPF Router ID and if | |||
protocol is set to 2, this field carries 48 bit ISIS System ID. | protocol is set to 2, this field carries 48 bit ISIS System ID. | |||
Receiving Node Identifier | Receiving Node Identifier | |||
skipping to change at page 9, line 28 ¶ | skipping to change at page 8, line 51 ¶ | |||
1, then the 32 rightmost bits represent OSPF Router ID and if | 1, then the 32 rightmost bits represent OSPF Router ID and if | |||
protocol is set to 2, this field carries 48 bit ISIS System ID. | protocol is set to 2, this field carries 48 bit ISIS System ID. | |||
6. Extension to Downstream Detailed Mapping TLV | 6. Extension to Downstream Detailed Mapping TLV | |||
In an echo reply, the Downstream Mapping TLV [RFC8029] is used to | In an echo reply, the Downstream Mapping TLV [RFC8029] is used to | |||
report for each interface over which a FEC could be forwarded. For a | report for each interface over which a FEC could be forwarded. For a | |||
FEC, there are multiple protocols that may be used to distribute | FEC, there are multiple protocols that may be used to distribute | |||
label mapping. The "Protocol" field of the Downstream Detailed | label mapping. The "Protocol" field of the Downstream Detailed | |||
Mapping TLV is used to return the protocol that is used to distribute | Mapping TLV is used to return the protocol that is used to distribute | |||
a specific a label. The following protocols are defined in | the label carried in "Downstream Label" field. The following | |||
Section 3.4.1.2 of [RFC8029]: | protocols are defined in Section 3.4.1.2 of [RFC8029]: | |||
Protocol # Signaling Protocol | Protocol # Signaling Protocol | |||
---------- ------------------ | ---------- ------------------ | |||
0 Unknown | 0 Unknown | |||
1 Static | 1 Static | |||
2 BGP | 2 BGP | |||
3 LDP | 3 LDP | |||
4 RSVP-TE | 4 RSVP-TE | |||
With segment routing, OSPF or ISIS can be used for label | With segment routing, OSPF or ISIS can be used for label | |||
skipping to change at page 10, line 36 ¶ | skipping to change at page 10, line 9 ¶ | |||
When a received echo reply contains FEC Stack Change TLV with | When a received echo reply contains FEC Stack Change TLV with | |||
one or more of original segment(s) being popped, initiator MAY | one or more of original segment(s) being popped, initiator MAY | |||
remove corresponding FEC(s) from Target FEC Stack TLV in the | remove corresponding FEC(s) from Target FEC Stack TLV in the | |||
next (TTL+1) traceroute request as defined in Section 4.6 of | next (TTL+1) traceroute request as defined in Section 4.6 of | |||
[RFC8029]. | [RFC8029]. | |||
When a received echo reply does not contain FEC Stack Change | When a received echo reply does not contain FEC Stack Change | |||
TLV, initiator MUST NOT attempt to remove FEC(s) from Target | TLV, initiator MUST NOT attempt to remove FEC(s) from Target | |||
FEC Stack TLV in the next (TTL+1) traceroute request. | FEC Stack TLV in the next (TTL+1) traceroute request. | |||
As defined in [I-D.ietf-ospf-segment-routing-extensions] and | ||||
[I-D.ietf-isis-segment-routing-extensions], Prefix SID can be | ||||
advertised as absolute value, index or as range. In any of these | ||||
cases, Initiator MUST derive the Prefix mapped to the Prefix SID and | ||||
use it in IGP-Prefix Segment ID defined in Section 5.1 and 5.2. | ||||
7.2. FEC Stack Change sub-TLV | 7.2. FEC Stack Change sub-TLV | |||
Section 3.4.1.3 of [RFC8029] defines FEC Stack Change sub-TLV that a | Section 3.4.1.3 of [RFC8029] defines FEC Stack Change sub-TLV that a | |||
router must include when the FEC stack changes. | router must include when the FEC stack changes. | |||
The network node which advertised the Node Segment ID is responsible | The network node which advertised the Node Segment ID is responsible | |||
for generating FEC Stack Change sub-TLV of pop operation for Node | for generating FEC Stack Change sub-TLV of pop operation for Node | |||
Segment ID, regardless of if PHP is enabled or not. | Segment ID, regardless of whether PHP is enabled or not. | |||
The network node that is immediate downstream of the node which | The network node that is immediate downstream of the node which | |||
advertised the Adjacency Segment ID is responsible for generating FEC | advertised the Adjacency Segment ID is responsible for generating FEC | |||
Stack Change sub-TLV of &pop& operation for Adjacency Segment ID. | Stack Change sub-TLV for "POP" operation for Adjacency Segment ID. | |||
7.3. Segment ID POP Operation | 7.3. Segment ID POP Operation | |||
The forwarding semantic of Node Segment ID with PHP flag is | The forwarding semantic of Node Segment ID with PHP flag is | |||
equivalent to usage of implicit Null in MPLS protocols. Adjacency | equivalent to usage of implicit Null in MPLS protocols. Adjacency | |||
Segment ID is also similar in a sense that it can be thought as next | Segment ID is also similar in a sense that it can be thought of as | |||
hop destined locally allocated segment that has PHP enabled. | locally allocated segment that has PHP enabled destined for next hop | |||
Procedures described in Section 4.4 of [RFC8029] relies on Stack-D | IGP adjacency node. Procedures described in Section 4.4 of [RFC8029] | |||
and Stack-R explicitly having Implicit Null value. It may simplify | relies on Stack-D and Stack-R explicitly having Implicit Null value. | |||
implementations to reuse Implicit Null for Node Segment ID PHP and | It may simplify implementations to reuse Implicit Null for Node | |||
Adjacency Segment ID cases. | Segment ID PHP and Adjacency Segment ID cases. | |||
7.4. Segment ID Check | 7.4. Segment ID Check | |||
This section updates the procedure defined in Step 6 of Section 4.4. | This section updates the procedure defined in Steps 3 to 5 of | |||
of [RFC8029] | Section 4.4.1 of [RFC8029] | |||
If the Label-stack-depth is 0 and Target FEC Stack Sub-TLV at FEC- | If the Label-stack-depth is 0 and Target FEC Stack Sub-TLV at FEC- | |||
stack-depth is 34 (IPv4 IGP-Prefix Segment ID), the responder | stack-depth is 34 (IPv4 IGP-Prefix Segment ID), the responder | |||
should set Best return code to 10, "Mapping for this FEC is not | should set Best return code to 10, "Mapping for this FEC is not | |||
the given label at stack-depth <RSC>" if any below conditions | the given label at stack-depth <RSC>" if any below conditions | |||
fail: | fail: | |||
/* The responder LSR is to check if it is the egress of the IPv4 | /* The responder LSR is to check if it is the egress of the IPv4 | |||
IGP-Prefix Segment ID described in the Target FEC Stack Sub-TLV, | IGP-Prefix Segment ID described in the Target FEC Stack Sub-TLV, | |||
and if the FEC was advertised with the PHP bit set.*/ | and if the FEC was advertised with the PHP bit set.*/ | |||
skipping to change at page 11, line 43 ¶ | skipping to change at page 11, line 16 ¶ | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 0, Use any locally enabled IGP protocol. | Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 1, Use OSPF as IGP protocol. | Sub-TLV is 1, Use OSPF as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 2, Use ISIS as IGP protocol. | Sub-TLV is 2, Use ISIS as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | ||||
Sub-TLV is any other value, it MUST be treated as Protocol | ||||
value of 0. | ||||
} | } | |||
* Validate that Node Segment ID is advertised with No-PHP flag { | * Validate that Node Segment ID is advertised with No-PHP flag { | |||
+ When Protocol is OSPF, NP-flag defined in Section 5 of | + When Protocol is OSPF, NP-flag defined in Section 5 of | |||
[I-D.ietf-ospf-segment-routing-extensions] should be set to | [I-D.ietf-ospf-segment-routing-extensions] MUST be set to 0. | |||
0. | ||||
+ When Protocol is ISIS, P-Flag defined in Section 2.1 of | + When Protocol is ISIS, P-Flag defined in Section 2.1 of | |||
[I-D.ietf-isis-segment-routing-extensions] should be set to | [I-D.ietf-isis-segment-routing-extensions] MUST be set to 0. | |||
0. | ||||
} | } | |||
If the Label-stack-depth is more than 0 and Target FEC Stack Sub- | If the Label-stack-depth is more than 0 and Target FEC Stack Sub- | |||
TLV at FEC-stack-depth is 34 (IPv4 IGP-Prefix Segment ID), the | TLV at FEC-stack-depth is 34 (IPv4 IGP-Prefix Segment ID), the | |||
responder is to set Best return code to 10 if any below conditions | responder is to set Best return code to 10 if any below conditions | |||
fail: | fail: | |||
* Validate that Node Segment ID is advertised for IPv4 Prefix by | * Validate that Node Segment ID is advertised for IPv4 Prefix by | |||
IGP Protocol{ | IGP Protocol{ | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 0, Use any locally enabled IGP protocol. | Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 1, Use OSPF as IGP protocol. | Sub-TLV is 1, Use OSPF as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 2, Use ISIS as IGP protocol. | Sub-TLV is 2, Use ISIS as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | ||||
Sub-TLV is any other value, it MUST be treated as Protocol | ||||
value of 0. | ||||
} | } | |||
If the Label-stack-depth is 0 and Target FEC Sub-TLV at FEC-stack- | If the Label-stack-depth is 0 and Target FEC Sub-TLV at FEC-stack- | |||
depth is 35 (IPv6 IGP-Prefix Segment ID), set Best return code to | depth is 35 (IPv6 IGP-Prefix Segment ID), set Best return code to | |||
10 if any below conditions fail: | 10 if any below conditions fail: | |||
/* The LSR needs to check if its being a tail-end for the LSP and | /* The LSR needs to check if its being a tail-end for the LSP and | |||
have the prefix advertised with PHP bit set*/ | have the prefix advertised with PHP bit set*/ | |||
* Validate that Node Segment ID is advertised for IPv6 Prefix by | * Validate that Node Segment ID is advertised for IPv6 Prefix by | |||
skipping to change at page 12, line 49 ¶ | skipping to change at page 12, line 26 ¶ | |||
+ When protocol field in received IPv6 IGP-Prefix Segment ID | + When protocol field in received IPv6 IGP-Prefix Segment ID | |||
Sub-TLV is 0, Use any locally enabled IGP protocol. | Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
+ When protocol field in received IPv6 IGP-Prefix Segment ID | + When protocol field in received IPv6 IGP-Prefix Segment ID | |||
Sub-TLV is 1, Use OSPF as IGP protocol. | Sub-TLV is 1, Use OSPF as IGP protocol. | |||
+ When protocol field in received IPv6 IGP-Prefix Segment ID | + When protocol field in received IPv6 IGP-Prefix Segment ID | |||
Sub-TLV is 2, Use ISIS as IGP protocol. | Sub-TLV is 2, Use ISIS as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | ||||
Sub-TLV is any other value, it MUST be treated as Protocol | ||||
value of 0. | ||||
} | } | |||
* Validate that Node Segment ID is advertised of PHP bit. | * Validate that Node Segment ID is advertised of PHP bit. | |||
If the Label-stack-depth is more than 0 and Target FEC Sub-TLV at | If the Label-stack-depth is more than 0 and Target FEC Sub-TLV at | |||
FEC-stack-depth is 35 (IPv6 IGP-Prefix Segment ID), set Best | FEC-stack-depth is 35 (IPv6 IGP-Prefix Segment ID), set Best | |||
return code to 10 if any below conditions fail: | return code to 10 if any below conditions fail: | |||
* Validate that Node Segment ID is advertised for IPv4 Prefix by | * Validate that Node Segment ID is advertised for IPv4 Prefix by | |||
IGP Protocol{ | IGP Protocol{ | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 0, Use any locally enabled IGP protocol. | Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 1, Use OSPF as IGP protocol. | Sub-TLV is 1, Use OSPF as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | + When protocol field in received IPv4 IGP-Prefix Segment ID | |||
Sub-TLV is 2, Use ISIS as IGP protocol. | Sub-TLV is 2, Use ISIS as IGP protocol. | |||
+ When protocol field in received IPv4 IGP-Prefix Segment ID | ||||
Sub-TLV is any other value, it MUST be treated as Protocol | ||||
value of 0. | ||||
} | } | |||
If the Label-stack-depth is 0 and Target FEC sub-TLV at FEC-stack- | If the Label-stack-depth is 0 and Target FEC sub-TLV at FEC-stack- | |||
depth is 36 (Adjacency Segment ID), set Best return code to TBD7 | depth is 36 (Adjacency Segment ID), set Best return code to TBD1 | |||
(Section 10.3) if any below conditions fail: | (Section 10.3) if any below conditions fail: | |||
When the Adj. Type is 1 (Parallel Adjacency): | When the Adj. Type is 1 (Parallel Adjacency): | |||
+ Validate that Receiving Node Identifier is local IGP | + Validate that Receiving Node Identifier is local IGP | |||
identifier. | identifier. | |||
+ Validate that Adjacency Segment ID is advertised by | + Validate that Adjacency Segment ID is advertised by | |||
Advertising Node Identifier of Protocol in local IGP | Advertising Node Identifier of Protocol in local IGP | |||
database { | database { | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 0, Use any locally enabled IGP protocol. | ID Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 1, Use OSPF as IGP protocol. | ID Sub-TLV is 1, Use OSPF as IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 2, Use ISIS as IGP protocol. | ID Sub-TLV is 2, Use ISIS as IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | ||||
ID Sub-TLV is any other value, it MUST be treated as | ||||
Protocol value of 0. | ||||
} | } | |||
When the Adj. Type is 4 or 6: | When the Adj. Type is 4 or 6 (IGP Adjacency or LAN Adjacency): | |||
+ Validate that Remote Interface ID matches the local | + Validate that Remote Interface ID matches the local | |||
identifier of the interface (Interface-I) on which the | identifier of the interface (Interface-I) on which the | |||
packet was received. | packet was received. | |||
+ Validate that Receiving Node Identifier is local IGP | + Validate that Receiving Node Identifier is local IGP | |||
identifier. | identifier. | |||
+ Validate that IGP-Adjacency Segment ID is advertised by | + Validate that IGP-Adjacency Segment ID is advertised by | |||
Advertising Node Identifier of Protocol in local IGP | Advertising Node Identifier of Protocol in local IGP | |||
skipping to change at page 14, line 15 ¶ | skipping to change at page 14, line 4 ¶ | |||
+ Validate that Remote Interface ID matches the local | + Validate that Remote Interface ID matches the local | |||
identifier of the interface (Interface-I) on which the | identifier of the interface (Interface-I) on which the | |||
packet was received. | packet was received. | |||
+ Validate that Receiving Node Identifier is local IGP | + Validate that Receiving Node Identifier is local IGP | |||
identifier. | identifier. | |||
+ Validate that IGP-Adjacency Segment ID is advertised by | + Validate that IGP-Adjacency Segment ID is advertised by | |||
Advertising Node Identifier of Protocol in local IGP | Advertising Node Identifier of Protocol in local IGP | |||
database { | database { | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 0, Use any locally enabled IGP protocol. | ID Sub-TLV is 0, Use any locally enabled IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 1, Use OSPF as IGP protocol. | ID Sub-TLV is 1, Use OSPF as IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | - When protocol field in received IPv4 IGP-Prefix Segment | |||
ID Sub-TLV is 2, Use ISIS as IGP protocol. | ID Sub-TLV is 2, Use ISIS as IGP protocol. | |||
- When protocol field in received IPv4 IGP-Prefix Segment | ||||
ID Sub-TLV is any other value, it MUST be treated as | ||||
Protocol value of 0. | ||||
} | } | |||
7.5. TTL Consideration for traceroute | 7.5. TTL Consideration for traceroute | |||
LSP Traceroute operation can properly traverse every hop of Segment | LSP Traceroute operation can properly traverse every hop of Segment | |||
Routing network in Uniform Model described in [RFC3443]. If one or | Routing network in Uniform Model described in [RFC3443]. If one or | |||
more LSRs employ Short Pipe Model described in [RFC3443], then LSP | more LSRs employ Short Pipe Model described in [RFC3443], then LSP | |||
Traceroute may not be able to properly traverse every hop of Segment | Traceroute may not be able to properly traverse every hop of Segment | |||
Routing network due to absence of TTL copy operation when outer label | Routing network due to absence of TTL copy operation when outer label | |||
is popped. Short Pipe being the most commonly used model. The | is popped. Short Pipe being the most commonly used model. The | |||
skipping to change at page 15, line 9 ¶ | skipping to change at page 15, line 5 ¶ | |||
included it should contain only those for the inner stacked tunnels. | included it should contain only those for the inner stacked tunnels. | |||
The Return Code/Subcode and FEC Stack Change TLV should be used to | The Return Code/Subcode and FEC Stack Change TLV should be used to | |||
diagnose the tunnel as described in [RFC8029]. When the tracing of a | diagnose the tunnel as described in [RFC8029]. When the tracing of a | |||
tunnel in the stack is complete, then the next tunnel in the stack | tunnel in the stack is complete, then the next tunnel in the stack | |||
should be traced. The end of a tunnel can be detected from the | should be traced. The end of a tunnel can be detected from the | |||
"Return Code" when it indicates that the responding LSR is an egress | "Return Code" when it indicates that the responding LSR is an egress | |||
for the stack at depth 1. Thus the traceroute procedures in | for the stack at depth 1. Thus the traceroute procedures in | |||
[RFC8029] can be recursively applied to traceroute a source routed | [RFC8029] can be recursively applied to traceroute a source routed | |||
LSP. | LSP. | |||
8. Issues with non-forwarding labels | 8. Backward Compatibility with non Segment Routing devices | |||
Source stacking can be optionally used to apply services on the | ||||
packet at a LSR along the path, where a label in the stack is used to | ||||
trigger service application. A data plane failure detection and | ||||
isolation mechanism should provide its functionality without applying | ||||
these services. This is mandatory for services that are stateful, | ||||
though for stateless services [RFC8029] could be used as-is. It MAY | ||||
also provide a mechanism to detect and isolate faults within the | ||||
service function itself. | ||||
How a node treats Service label is outside the scope of this document | ||||
and will be included in this or a different document later. | ||||
9. Backward Compatibility with non Segment Routing devices | ||||
[I-D.ietf-spring-segment-routing-ldp-interop] describes how Segment | [I-D.ietf-spring-segment-routing-ldp-interop] describes how Segment | |||
Routing operates in network where SR-capable and non-SR-capable nodes | Routing operates in network where SR-capable and non-SR-capable nodes | |||
coexist. In such networks, there may not be any FEC mapping in the | coexist. In such networks, there may not be any FEC mapping in the | |||
responder when the Initiator is SR-capable while the responder is not | responder when the Initiator is SR-capable while the responder is not | |||
(or vice-versa). But this is not different from RSVP and LDP interop | (or vice-versa). But this is not different from RSVP and LDP interop | |||
scenarios. When LSP Ping is triggered, the responder will set the | scenarios. When LSP Ping is triggered, the responder will set the | |||
FEC-return-code to Return 4, "Replying router has no mapping for the | FEC-return-code to Return 4, "Replying router has no mapping for the | |||
FEC at stack-depth". | FEC at stack-depth". | |||
Similarly when SR-capable node assigns Adj-SID for non-SR-capable | Similarly when SR-capable node assigns Adj-SID for non-SR-capable | |||
node, LSP traceroute may fail as the non-SR-capable node is not aware | node, LSP traceroute may fail as the non-SR-capable node is not aware | |||
of "IGP Adjacency Segment ID" sub-TLV and may not reply with FEC | of "IGP Adjacency Segment ID" sub-TLV and may not reply with FEC | |||
Stack change. This may result in any further downstream nodes to | Stack change. This may result in any further downstream nodes to | |||
reply back with Return-code as 4, "Replying router has no mapping for | reply back with Return-code as 4, "Replying router has no mapping for | |||
the FEC at stack-depth". | the FEC at stack-depth". | |||
10. IANA Considerations | 9. IANA Considerations | |||
10.1. New Target FEC Stack Sub-TLVs | 9.1. New Target FEC Stack Sub-TLVs | |||
IANA is requested to assign three new Sub-TLVs from "Sub-TLVs for TLV | IANA is requested to assign three new Sub-TLVs from "Sub-TLVs for TLV | |||
Types 1, 16 and 21" sub-registry from the "Multi-Protocol Label | Types 1, 16 and 21" sub-registry from the "Multi-Protocol Label | |||
Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" | Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" | |||
[IANA-MPLS-LSP-PING] registry. | [IANA-MPLS-LSP-PING] registry. | |||
Sub-Type Sub-TLV Name Reference | Sub-Type Sub-TLV Name Reference | |||
-------- ----------------- ------------ | -------- ----------------- ------------ | |||
34 IPv4 IGP-Prefix Segment ID Section 5.1 of this document | 34 IPv4 IGP-Prefix Segment ID Section 5.1 of this document | |||
35 IPv6 IGP-Prefix Segment ID Section 5.2 of this document | 35 IPv6 IGP-Prefix Segment ID Section 5.2 of this document | |||
36 IGP-Adjacency Segment ID Section 5.3 of this document | 36 IGP-Adjacency Segment ID Section 5.3 of this document | |||
10.2. Protocol in Label Stack Sub-TLV of Downstream Detailed Mapping | 9.2. Protocol in Label Stack Sub-TLV of Downstream Detailed Mapping TLV | |||
TLV | ||||
IANA is requested to create a new "Protocol" registry under the | IANA is requested to create a new "Protocol" registry under the | |||
"Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) | "Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) | |||
Ping Parameters" registry. Code points in the range of 0-250 will be | Ping Parameters" registry. Code points in the range of 0-250 will be | |||
assigned by Standards Action. The range of 251-254 are reserved for | assigned by Standards Action. The range of 251-254 are reserved for | |||
experimental use and will not be assigned. The initial entries into | experimental use and will not be assigned. The initial entries into | |||
the registry will be. | the registry will be. | |||
Value Meaning Reference | Value Meaning Reference | |||
---------- ---------------- ------------ | ---------- ---------------- ------------ | |||
skipping to change at page 16, line 34 ¶ | skipping to change at page 16, line 18 ¶ | |||
1 Static Section 3.4.1.2 of RFC8029 | 1 Static Section 3.4.1.2 of RFC8029 | |||
2 BGP Section 3.4.1.2 of RFC8029 | 2 BGP Section 3.4.1.2 of RFC8029 | |||
3 LDP Section 3.4.1.2 of RFC8029 | 3 LDP Section 3.4.1.2 of RFC8029 | |||
4 RSVP-TE Section 3.4.1.2 of RFC8029 | 4 RSVP-TE Section 3.4.1.2 of RFC8029 | |||
5 OSPF Section 6 of this document | 5 OSPF Section 6 of this document | |||
6 ISIS Section 6 of this document | 6 ISIS Section 6 of this document | |||
7-250 Unassigned | 7-250 Unassigned | |||
251-254 Experimental use This document | 251-254 Experimental use This document | |||
255 Reserved This document | 255 Reserved This document | |||
10.3. Return Code | 9.3. Return Code | |||
IANA is requested to assign a new Return Code from the "Multi- | IANA is requested to assign a new Return Code from the "Multi- | |||
Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping | Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping | |||
Parameters" in "Return Codes" Sub-registry. | Parameters" in "Return Codes" Sub-registry. | |||
Value Meaning Reference | Value Meaning Reference | |||
---------- ----------------- ------------ | ---------- ----------------- ------------ | |||
TBD7 Mapping for this FEC is not associated Section 7.4 of | TBD1 Mapping for this FEC is not associated Section 7.4 of | |||
with the incoming interface this document | with the incoming interface this document | |||
Note to the RFC Editor (please remove before publication): IANA has | Note to the RFC Editor (please remove before publication): IANA has | |||
made early allocation for sub-type 34, 35 and 35. The early | made early allocation for sub-type 34, 35 and 35. The early | |||
allocation expires 2017-09-15. | allocation expires 2017-09-15. | |||
11. Security Considerations | 10. Security Considerations | |||
This document defines additional Sub-TLVs and follows the mechanism | This document defines additional Sub-TLVs and follows the mechanism | |||
defined in [RFC8029]. So all the security consideration defined in | defined in [RFC8029]. So all the security consideration defined in | |||
[RFC8029] will be applicable for this document and in addition it | [RFC8029] will be applicable for this document and in addition it | |||
does not impose any security challenges to be considered. | does not impose any security challenges to be considered. | |||
12. Acknowledgement | 11. Acknowledgement | |||
The authors would like to thank Stefano Previdi, Les Ginsberg, Balaji | The authors would like to thank Stefano Previdi, Les Ginsberg, Balaji | |||
Rajagopalan, Harish Sitaraman, Curtis Villamizar, Pranjal Dutta, | Rajagopalan, Harish Sitaraman, Curtis Villamizar, Pranjal Dutta, | |||
Lizhong Jin, Tom Petch, Victor Ji and Mustapha Aissaoui for their | Lizhong Jin, Tom Petch, Victor Ji and Mustapha Aissaoui, Tony | |||
review and comments. | Przygienda, Alexander Vainshtein for their review and comments. | |||
The authors wold like to thank Loa Andersson for his comments and | The authors wold like to thank Loa Andersson for his comments and | |||
recommendation to merge drafts. | recommendation to merge drafts. | |||
13. Contributors | 12. Contributors | |||
The following are key contributors to this document: | The following are key contributors to this document: | |||
Hannes Gredler, RtBrick, Inc. | Hannes Gredler, RtBrick, Inc. | |||
Tarek Saad, Cisco Systems, Inc. | Tarek Saad, Cisco Systems, Inc. | |||
Siva Sivabalan, Cisco Systems, Inc. | Siva Sivabalan, Cisco Systems, Inc. | |||
Balaji Rajagopalan, Juniper Networks | Balaji Rajagopalan, Juniper Networks | |||
Faisal Iqbal, Cisco Systems, Inc. | Faisal Iqbal, Cisco Systems, Inc. | |||
14. References | 13. References | |||
14.1. Normative References | 13.1. Normative References | |||
[I-D.ietf-spring-segment-routing] | [I-D.ietf-spring-segment-routing] | |||
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., | Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., | |||
and R. Shakir, "Segment Routing Architecture", draft-ietf- | and R. Shakir, "Segment Routing Architecture", draft-ietf- | |||
spring-segment-routing-12 (work in progress), June 2017. | spring-segment-routing-12 (work in progress), June 2017. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing | [RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing | |||
in Multi-Protocol Label Switching (MPLS) Networks", | in Multi-Protocol Label Switching (MPLS) Networks", | |||
RFC 3443, DOI 10.17487/RFC3443, January 2003, | RFC 3443, DOI 10.17487/RFC3443, January 2003, | |||
<https://www.rfc-editor.org/info/rfc3443>. | <https://www.rfc-editor.org/info/rfc3443>. | |||
[RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in | [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in | |||
Support of Generalized Multi-Protocol Label Switching | Support of Generalized Multi-Protocol Label Switching | |||
(GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005, | (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005, | |||
<https://www.rfc-editor.org/info/rfc4203>. | <https://www.rfc-editor.org/info/rfc4203>. | |||
[RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions | [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions | |||
in Support of Generalized Multi-Protocol Label Switching | in Support of Generalized Multi-Protocol Label Switching | |||
(GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, | (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, | |||
<https://www.rfc-editor.org/info/rfc5307>. | <https://www.rfc-editor.org/info/rfc5307>. | |||
[RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | |||
Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | |||
Switched (MPLS) Data-Plane Failures", RFC 8029, | Switched (MPLS) Data-Plane Failures", RFC 8029, | |||
DOI 10.17487/RFC8029, March 2017, <https://www.rfc- | DOI 10.17487/RFC8029, March 2017, | |||
editor.org/info/rfc8029>. | <https://www.rfc-editor.org/info/rfc8029>. | |||
14.2. Informative References | 13.2. Informative References | |||
[I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-isis-segment-routing-extensions] | |||
Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., | Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., | |||
Litkowski, S., Decraene, B., and j. jefftant@gmail.com, | Litkowski, S., Decraene, B., and j. jefftant@gmail.com, | |||
"IS-IS Extensions for Segment Routing", draft-ietf-isis- | "IS-IS Extensions for Segment Routing", draft-ietf-isis- | |||
segment-routing-extensions-13 (work in progress), June | segment-routing-extensions-13 (work in progress), June | |||
2017. | 2017. | |||
[I-D.ietf-ospf-segment-routing-extensions] | [I-D.ietf-ospf-segment-routing-extensions] | |||
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | |||
Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
Extensions for Segment Routing", draft-ietf-ospf-segment- | Extensions for Segment Routing", draft-ietf-ospf-segment- | |||
routing-extensions-18 (work in progress), July 2017. | routing-extensions-19 (work in progress), August 2017. | |||
[I-D.ietf-spring-segment-routing-ldp-interop] | [I-D.ietf-spring-segment-routing-ldp-interop] | |||
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and | Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and | |||
S. Litkowski, "Segment Routing interworking with LDP", | S. Litkowski, "Segment Routing interworking with LDP", | |||
draft-ietf-spring-segment-routing-ldp-interop-08 (work in | draft-ietf-spring-segment-routing-ldp-interop-08 (work in | |||
progress), June 2017. | progress), June 2017. | |||
[I-D.ietf-spring-segment-routing-mpls] | [I-D.ietf-spring-segment-routing-mpls] | |||
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., | Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., | |||
Litkowski, S., and R. Shakir, "Segment Routing with MPLS | Litkowski, S., and R. Shakir, "Segment Routing with MPLS | |||
skipping to change at page 19, line 24 ¶ | skipping to change at page 19, line 4 ¶ | |||
Authors' Addresses | Authors' Addresses | |||
Nagendra Kumar (editor) | Nagendra Kumar (editor) | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
7200-12 Kit Creek Road | 7200-12 Kit Creek Road | |||
Research Triangle Park, NC 27709-4987 | Research Triangle Park, NC 27709-4987 | |||
US | US | |||
Email: naikumar@cisco.com | Email: naikumar@cisco.com | |||
Carlos Pignataro (editor) | Carlos Pignataro (editor) | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
7200-11 Kit Creek Road | 7200-11 Kit Creek Road | |||
Research Triangle Park, NC 27709-4987 | Research Triangle Park, NC 27709-4987 | |||
US | US | |||
Email: cpignata@cisco.com | Email: cpignata@cisco.com | |||
George Swallow | George Swallow | |||
Individual | Southend Technical Center | |||
Email: swallow.ietf@gmail.com | Email: swallow.ietf@gmail.com | |||
Nobo Akiya | Nobo Akiya | |||
Big Switch Networks | Big Switch Networks | |||
Email: nobo.akiya.dev@gmail.com | Email: nobo.akiya.dev@gmail.com | |||
Sriganesh Kini | Sriganesh Kini | |||
Individual | Individual | |||
End of changes. 56 change blocks. | ||||
104 lines changed or deleted | 103 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |