Internet DRAFT - draft-xiong-pce-segment-routing-ipv6-complement
draft-xiong-pce-segment-routing-ipv6-complement
PCE Q. Xiong
Internet-Draft S. Peng
Intended status: Standards Track ZTE Corporation
Expires: August 23, 2021 February 19, 2021
PCEP Extension for SRv6 Unified SIDs
draft-xiong-pce-segment-routing-ipv6-complement-04
Abstract
This document proposes PCEP extensions for SRv6 Path which applied to
the use of SRv6 Unified SIDs.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 23, 2021.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Xiong & Peng Expires August 23, 2021 [Page 1]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used in this document . . . . . . . . . . . . . . 3
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3
3. PCEP Extensions for SRv6 Unified SIDs . . . . . . . . . . . . 3
3.1. The OPEN Object . . . . . . . . . . . . . . . . . . . . . 4
3.2. The LSP Object . . . . . . . . . . . . . . . . . . . . . 5
3.2.1. The UNIFIED-SID-INFO TLV . . . . . . . . . . . . . . 6
3.3. The ERO Object . . . . . . . . . . . . . . . . . . . . . 6
4. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7.1. New SR PCE Capability Flag Registry . . . . . . . . . . . 8
7.2. New LSP Flag Registry . . . . . . . . . . . . . . . . . . 8
7.3. Extension for SRv6-ERO Registry . . . . . . . . . . . . . 8
8. Normative References . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
[RFC5440] describes the Path Computation Element Protocol (PCEP)
which is used between a Path Computation Element (PCE) and a Path
Computation Client (PCC) (or other PCE) to enable computation of
Multi-protocol Label Switching (MPLS) for Traffic Engineering Label
Switched Path (TE LSP). PCEP Extensions for the Stateful PCE Model
[RFC8231] describes a set of extensions to PCEP to enable active
control of MPLS-TE and Generalized MPLS (GMPLS) tunnels. [RFC8281]
describes the setup and teardown of PCE-initiated LSPs under the
active stateful PCE model, without the need for local configuration
on the PCC, thus allowing for dynamic centralized control of a
network.
Segment Routing (SR) leverages the source routing paradigm. Segment
Routing can be instantiated on MPLS data plane which is referred to
as SR-MPLS [RFC8660]. SR-MPLS leverages the MPLS label stack to
construct the SR path. PCEP Extensions for Segment Routing [RFC8664]
specifies extensions to the PCEP that allow a stateful PCE to compute
and initiate TE paths in SR networks. Segment Routing can be applied
to the IPv6 architecture which is called SRv6 with the Segment
Routing Header (SRH) [RFC8754]. [I-D.ietf-pce-segment-routing-ipv6]
extends the PCEP to support SRv6.
[I-D.ietf-spring-srv6-network-programming] proposes the SRv6 Network
Programming to specify a packet processing program by encoding a
sequence of instructions in the IPv6 packet header. It defined the
Xiong & Peng Expires August 23, 2021 [Page 2]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
SID as two parts, LOC:FUNCT or a complete structure is
BLOCK:NODE:FUNCT:ARGS. However, the size of SRv6 SID faces a scaling
challenge to use topological instructions.
[I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that
enables the use of unified segment identifiers which is referred to
as unified SID, such as MPLS label or IPv4 address, to compress the
SRH. So the controller (i.e. PCE) should indicate the SRv6 path
with SRv6 unified SIDs in a 128-bit classic SRv6 SID.
[I-D.liu-idr-segment-routing-te-policy-complement] defined the BGP
extensions to advertise Unified SIDs in SR-TE policies.
This document proposes PCEP extensions for SRv6 Path which applied to
the use of SRv6 Unified SIDs.
2. Conventions used in this document
2.1. Terminology
The terminology is defined as [RFC5440], [RFC8660],
[I-D.ietf-spring-srv6-network-programming] and
[I-D.ietf-pce-segment-routing-ipv6].
2.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. PCEP Extensions for SRv6 Unified SIDs
As defined in [I-D.mirsky-6man-unified-id-sr], the unified SID is
used to compress the SRH, and a new field Size (two-bits) in the SRH
Flags field is defined as UET (U-SID Encapsulation Type) which is
used to indicate which UET domain the packet is currently in.
Especially for UET 0b01 domain, the SIDs which allocated by SRv6
nodes are in the same SRv6 SID Locator Block, SRH only needs to store
the difference between SIDs, such as NODE:FUNCT:ARGS. The 128-bits
SRv6 SID can be compressed and truncated and does not need to contain
the SRv6 SID Locator Block information but the truncated information.
The length of SRv6 SID Locator Block (BL) and the length of truncated
SRv6 SID (TL) in a 128-bits classic SRv6 SID should be advertised
with each SID from PCE to PCC.
An SR path that can be optimized by short U-SIDs and the 128-bit SID
can be compressed to a truncated SID. To verify the TL of the SID, a
PCE may collect U-SID encapsulation capability (UEC) information and
Xiong & Peng Expires August 23, 2021 [Page 3]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
SID allocation per UET flavor of all SRv6 nodes. Each node can
support one or more UEC in SRv6 networks. A border node may belong
to multiple UET domains, so it may support more than one UEC. If a
node support an UEC, it should also allocate related SIDs for this
UET flavor. For a SID with specific UET flavor allocated by a node,
from the perspective of this node, it starts a specific UET domain.
When a PCE computes an SRv6 path, it can check the UEC of each node
along this path and outline which UET domain the SRv6 path crosses.
The UET flavor attribute may be advertised with each SID by PCE to
indicate the type of UET domain which the next segment node belongs
to. The PCC should optimize each original 128-bits SID to a short
one (e.g, 32-bits) along the path and verify the result according to
the UET flavor of previous SID.
The UET flavor attribute and BL and TL information of each SID can be
directly obtained from the link-state database that is used for path
computation by PCE. So when a PCE is used to support path
computation in SRv6 networks, the capability of SRv6 path with
unified SIDs should be advertised between the PCE and PCC. The
information of BL, TL and UET with a 128-bit classic SRv6 SID should
be configured from PCE to PCC.
3.1. The OPEN Object
When the PCEP is used to support path computation in SRv6 networks,
the capability of SRv6 path with unified SIDs should be advertised
between the PCE and PCC.
As defined in [I-D.ietf-pce-segment-routing-ipv6], PCEP speakers use
SRv6 PCE Capability sub-TLV to exchange information about their SRv6
capability carried in Open object. This document defined a new flag
(U-flag) for SRv6 PCE Capability sub-TLV as shown in Figure 1.
Xiong & Peng Expires August 23, 2021 [Page 4]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=TBD1 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags |U|N|X|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MSD-Type | MSD-Value | MSD-Type | MSD-Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// ... //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MSD-Type | MSD-Value | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: U-flag in SRv6-PCE-CAPABILITY sub-TLV
U (SRv6 unified SIDs is supported) : A PCE sets this flag bit to 1
carried in Open message to indicate that it supports the
configuration of SRv6 path with unified SIDs. A PCC sets this flag
to 1 to indicate that it supports the capability of processing the
unified SIDs and and supports the results of SRv6 path with unified
SIDs.
3.2. The LSP Object
The LSP Object is defined in Section 7.3 of [RFC8231]. This document
defiend a new flag (U-flag) for the LSP Object as Figure 2 shown:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PLSP-ID | Flag |U|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// TLVs //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: U-flag in LSP Object
U (SRv6 Unified SIDs bit) : If the bit is set to 1, it indicates that
the PCC requests PCE to compute the SRv6 path with the unified SIDs
information. A PCE would set this bit to 1 and include a UNIFIED-
SID-INFO TLV in the LSP object to configure the SRv6 unified SIDs
information in the PCEP message.
Xiong & Peng Expires August 23, 2021 [Page 5]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
3.2.1. The UNIFIED-SID-INFO TLV
The UNIFIED-SID-INFO TLV is an optional TLV for use in the LSP Object
for SRv6 path computation. The type of this TLV is to be allocated
by IANA. The format is as shown below.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |FSU|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: The UNIFIED-SID-INFO TLV Format
FSU (First SID UET-domain flag, 2bits), indicates the first UET
domain constructed by the headend and the first segment node. The
value as per [I-D.mirsky-6man-unified-id-sr].
3.3. The ERO Object
SRv6-ERO subobject is used for SRv6 path which consists of one or
more SRv6 SIDs as defined in [I-D.ietf-pce-segment-routing-ipv6].
This document extends the SRv6-ERO for supporting the SRv6 unified
SIDs as Figure 2 shown:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type=TBD3 | Length | NT | Flags |UET|F|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Block Len | Truncated Len | Function Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| SRv6 SID (optional) |
| (128-bit) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// NAI (variable, optional) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Extension for SRv6-ERO Subobject
Xiong & Peng Expires August 23, 2021 [Page 6]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
UET (U-SID Encapsulation Type, 2bits), indicates the UET domain
constructed by the current segment node and the next segment node.
The value as per [I-D.mirsky-6man-unified-id-sr]. Especially, the
UET-flag of the last SID will determine whether the overlay VPN SID
can be optimized or not in SRH.
Block Len (BL, 8bits), indicates the bit length of SRv6 SID Locator
Block information of a 128-bit SID. The value range is [1~128]. If
the SID is MPLS label, the value of BL is set to 0.
Truncated Len (TL, 8bits), indicates the bit length of SRv6 SID
Locator Truncated SID information of a 128-bit SID. The value range
is [1~128]. It is the length of the Node:Func:ARGs which is
immediately followed the SRv6 SID Locator Block. For example, if the
128-bit SID is truncated to 32 bits, the TL is set to 32. And if it
is 128-bit SID and not be truncated, the TL is set to 128. If the
SID is MPLS label, the value of TL is set to 32.
4. Operations
The PCC and PCE exchanges the capability of supporting SRv6
compresses SIDs with U bit set to 1 with in SRv6 PCE Capability sub-
TLV carried in Open message. The SRv6 path is initiated by PCE or
PCC with PCReq, PCInitiated or PCUpd messages.
When PCC received the SRv6 path, if the U-Flag in the LSP object is
set to 1, the SRv6 path could be optimized to an SID list that
contains short U-SIDs.
For each original SID in SRv6-ERO subobject, it will be optimized to
an U-SID with the help of BL and TL field and verified according to
the UET of prev SID. Especially, the original first SID could be
verified with a short U-SID according the FSU flag within UNIFIED-
SID-INFO TLV.
The SRH will contain the optimized U-SIDs, and the initial UET of SRH
will be set as FSU. Other procedures refer to
[I-D.mirsky-6man-unified-id-sr].
5. Security Considerations
TBA
6. Acknowledgements
TBA
Xiong & Peng Expires August 23, 2021 [Page 7]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
7. IANA Considerations
7.1. New SR PCE Capability Flag Registry
SR PCE Capability TLV is defined in
[I-D.ietf-pce-segment-routing-ipv6], and the registry to manage the
Flag field of the SRv6 PCE Capability TLV is requested in
[I-D.ietf-pce-segment-routing-ipv6]. IANA is requested to make
allocations from the registry, as follows:
+--------+-----------------------------------------+----------------+
| Value | Name | Reference |
+--------+-----------------------------------------+----------------+
| TBD1 | SRv6 unified SIDs is supported is | [this |
| | supported (U) | document] |
+--------+-----------------------------------------+----------------+
Table 1
7.2. New LSP Flag Registry
[RFC8231] defines the LSP object; per that RFC, IANA created a
registry to manage the value of the LSP object's Flag field. IANA is
requested to make allocations from the registry, as follows:
+---------+----------------------------+------------------+
| Value | Name | Reference |
+---------+----------------------------+------------------+
| TBD2 | SRv6 Unified SIDs bit (U) | [this document] |
| TBD3 | UNIFIED-SID-INFO TLV | [this document] |
+---------+----------------------------+------------------+
Table 2
7.3. Extension for SRv6-ERO Registry
SRv6-ERO subobject is defined in [I-D.ietf-pce-segment-routing-ipv6],
and the registry to manage the Flag field of SR-ERO is requested in
[I-D.ietf-pce-segment-routing-ipv6]. IANA is requested to make
allocations from the registry, as follows:
+---------+------------------------------------+------------------+
| Value | Name | Reference |
+---------+------------------------------------+------------------+
| TBD4 | Extension for SRv6-ERO Subobject | [this document] |
+---------+------------------------------------+------------------+
Table 3
Xiong & Peng Expires August 23, 2021 [Page 8]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
8. Normative References
[I-D.ietf-pce-segment-routing-ipv6]
Li, C., Negi, M., Sivabalan, S., Koldychev, M.,
Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment
Routing leveraging the IPv6 data plane", draft-ietf-pce-
segment-routing-ipv6-08 (work in progress), November 2020.
[I-D.ietf-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
Matsushima, S., and Z. Li, "SRv6 Network Programming",
draft-ietf-spring-srv6-network-programming-28 (work in
progress), December 2020.
[I-D.liu-idr-segment-routing-te-policy-complement]
Yao, L. and S. Peng, "BGP Extensions for Unified SID in TE
Policy", draft-liu-idr-segment-routing-te-policy-
complement-04 (work in progress), November 2020.
[I-D.mirsky-6man-unified-id-sr]
Cheng, W., Mirsky, G., Peng, S., Aihua, L., and G. Mishra,
"Unified Identifier in IPv6 Segment Routing Networks",
draft-mirsky-6man-unified-id-sr-08 (work in progress),
January 2021.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
Computation Element Communication Protocol (PCEP)
Extensions for Stateful PCE", RFC 8231,
DOI 10.17487/RFC8231, September 2017,
<https://www.rfc-editor.org/info/rfc8231>.
Xiong & Peng Expires August 23, 2021 [Page 9]
Internet-Draft PCEP Extension for SRv6 Unified SIDs February 2021
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Computation Element Communication Protocol (PCEP)
Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>.
[RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing with the MPLS Data Plane", RFC 8660,
DOI 10.17487/RFC8660, December 2019,
<https://www.rfc-editor.org/info/rfc8660>.
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "Path Computation Element Communication
Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>.
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
<https://www.rfc-editor.org/info/rfc8754>.
Authors' Addresses
Quan Xiong
ZTE Corporation
No.6 Huashi Park Rd
Wuhan, Hubei 430223
China
Email: xiong.quan@zte.com.cn
Shaofu Peng
ZTE Corporation
No.50 Software Avenue
Nanjing, Jiangsu 210012
China
Email: peng.shaofu@zte.com.cn
Xiong & Peng Expires August 23, 2021 [Page 10]