Internet DRAFT - draft-liu-idr-bgp-ls-shorter-srv6-extensions
draft-liu-idr-bgp-ls-shorter-srv6-extensions
IDR WG Yao. Liu
Internet-Draft Shaofu. Peng
Intended status: Standards Track ZTE Corporation
Expires: April 19, 2021 October 16, 2020
BGP-LS Extensions for Shorter SRv6 SID
draft-liu-idr-bgp-ls-shorter-srv6-extensions-01
Abstract
This document describes the BGP-LS extensions required to support the
Shorter SRv6 SIDs(Compressing SRv6 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 April 19, 2021.
Copyright Notice
Copyright (c) 2020 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.
Liu & Peng Expires April 19, 2021 [Page 1]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Advertising Shorter SRv6 SIDs capabilities . . . . . . . . . 2
3. Advertising SRv6 SID Structure TLV . . . . . . . . . . . . . 4
4. Advertising SRv6 SID Endpoint Behaviors with UET-Flavor . . . 4
5. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Normative References . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
Segment Routing [RFC8402] leverages the source routing paradigm. An
ingress node steers a packet through an ordered list of instructions,
called segments.
Segment Routing can be directly instantiated on the IPv6 data plane
through the use of the Segment Routing Header defined in [RFC8754].
SRv6 refers to this SR instantiation on the IPv6 dataplane.
However, the size of the SRv6 SID presents a scalability challenge to
use topological instructions that define a strict explicitly routed
path in combination with service-based instructions. At the same
time, the size of the SRH/SID may be a challenge for some data plane
processors and traffic overhead.
[I-D.cheng-spring-shorter-srv6-sid-requirement] describes a list of
requirements for the use of a shortened identifier in a segment
routing network with the IPv6 data plane.
[I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that
enables the use of a shorter segment identifier in dataplane, such as
32-bits Label format SID or 32-bits IP address format SID.
This document defines extensions to BGP-LS in order to to support the
advertisement of Shorter SRv6 SIDs contained in SID list that
installed in dataplane.
2. Advertising Shorter SRv6 SIDs capabilities
A node indicates that it supports the SR Segment Endpoint Node
functionality as specified in [RFC8754] by advertising a SRv6
Capabilities TLV [I-D.ietf-idr-bgpls-srv6-ext] of the node NLRI.
This document extends the flags field in the SRv6 Capabilities TLV
[I-D.ietf-idr-bgpls-srv6-ext] to indicate that the node supports the
Shorter SRv6 SIDs, where,
Liu & Peng Expires April 19, 2021 [Page 2]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | UEC | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: UEC-Flag in SRv6 Capabilities TLV
UEC: Unified-SID Encapsulation Capability, 3-bits field, refers to
[I-D.mirsky-6man-unified-id-sr], it indicates the U-SID capabilities
which the node support. A node advertised a specific UEC also means
the node belongs to the related UET domain, so it will have
capability to install a local SID entry with behavor to get next UET
related U-SID from SRH. The value of UEC could be:
0b000: The node only support to use classical 128-bits SRv6 SID.
It only belongs to UET-128 domain, and has capability only to get
next classical 128-bits SID from SRH.
0b001: The node support to use both classical 128-bits SRv6 SID
and 32-bits IPv4 U-SID. It can belongs to both UET-128 domain and
UET-32 IPv4 domain, and has capability both to get next classical
128-bits SID and 32-bits IPv4 U-SID from SRH.
0b010: The node support to use both classical 128-bits SRv6 SID
and 32-bits MPLS U-SID. It can belongs to both UET-128 domain and
UET-32 MPLS domain, and has capability both to get next classical
128-bits SID and 32-bits MPLS U-SID from SRH.
0b011: The node support to use both classical 128-bits SRv6 SID,
32-bits IPv4 U-SID, and 32-bits MPLS U-SID. It can belongs to
both UET-128 domain, UET-32 IPv4 domain, and UET-32 MPLS domain,
and has capability both to get next classical 128-bits SID,
32-bits IPv4 U-SID, and 32-bits MPLS U-SID from SRH.
0b100: The node support to use both classical 128-bits SRv6 SID
and 16-bits U-SID. It can belongs to both UET-128 domain and
UET-16 domain, and has capability both to get next classical
128-bits SID and 32-bits U-SID from SRH.
0b101: The node support to use both classical 128-bits SRv6 SID,
32-bits IPv4 U-SID, and 16-bits U-SID. It can belongs to both
UET-128 domain, UET-32 IPv4 domain, and UET-16 domain, and has
capability both to get next classical 128-bits SID, 32-bits IPv4
U-SID, and 16-bits U-SID from SRH.
Liu & Peng Expires April 19, 2021 [Page 3]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
others: For later defined.
For typical 32-bits based compression scenario, 0b001 UEC is enough.
Note that UEC has two meanings. First, it indicates which UET domain
does the advertised node belongs to, this will help to outline which
UET domains the SR path crosses. The second meanning, it indicates
the advertised node has capability to install a local SID entry with
UET related behavor, to get next UET related U-SID from SRH, this
will help to select appropriate SID with specific UET related behavor
for an segment list during compression.
3. Advertising SRv6 SID Structure TLV
SRv6 SID Structure TLV is an optional TLV use in the BGP-LS Attribute
for an SRv6 SID NLRI defined in [I-D.ietf-idr-bgpls-srv6-ext].
As discussed in [I-D.ietf-spring-srv6-network-programming], the node
with the SRv6 capability will maintain its local SID table. A Local
SID is generally composed of two parts, that is, LOC:FUNCT, or may
carry arguments at the same time, that is, LOC:FUNCT:ARGS. The
controller plane protocol can also use B:N to represent an LOC, where
B is SRv6 SID Locator Block and N to represent node N. In other
words, the structure of a complete SID is B:N:FUNCT:ARGS.
SRv6 SID Structure TLV is used to advertise the length of each
individual part of the SRv6 SID as defined in
[I-D.ietf-spring-srv6-network-programming].
If a node advertised an UEC-FLAG with 0b001/0b011/0b100/0b101, it
SHOULD advertise the related SIDs with structure information, i.e.,
contained SRv6 SID Structure TLV in the BGP-LS Attribute for an SRv6
SID NLRI, otherwise the result optimized SID list will have to
contain related classical 128-bits SRv6 SID.
4. Advertising SRv6 SID Endpoint Behaviors with UET-Flavor
Endpoint behaviors are defined in
[I-D.ietf-spring-srv6-network-programming]. The codepoints for the
Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors"
registry defined in [I-D.ietf-spring-srv6-network-programming]. For
End, End.X and End.T behaviors, they can also have PSP, USP and USD
variants. This document continues to extend the following new
flavors for End and End.X behaviors:
UET-32-IPv4 Flavor: indicate the next SID is 32-bits IP address,
termed as UET-1 flavor.
Liu & Peng Expires April 19, 2021 [Page 4]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
UET-32-MPLS Flavor: indicate the next SID is 32-bits MPLS Label,
termed as UET-2 flavor.
UET-16-IP Flavor: indicate the next SID is 16-bits IP address,
termed as UET-3 flavor.
Other flavors are for later defined.
We can take regard the traditional behaviors that has not any
indication of next SID type as behaviors with UET-128-IPv6 flavor,
termed as UET-0 flavor.
How to extend the above UET related flavors for other endpoint
behaviors, such as VPN related SID and SFC related SID, is out the
scope of this document.
Note that a SID MUST NOT set two or more of the above flavors at the
same time, because these flavors is used to indicate the next SID
type in SRH, that is, the local SID entry must provide exact
indication for this purpose.
Each of the above UET related flavors can be used combined with
existing PSP/USP/USD flavors.
If a node supports an UEC, it SHOULD also allocate related SIDs for
this UEC, otherwise the result optimized SID list will have to
contain related classical 128-bits SRv6 SID.
For example, a node X advertised UCE 0b001, it can allocate a
classical END SID X1 with endpoint behavior "End (no PSP, no USP)",
it can also allocate an END SID X2 with endpoint behavior "End (no
PSP, no USP, UET-32-IPv4)".
Endpoint Behavior information of SRv6 SID could be advertised within
SRv6 End.X SID TLV, SRv6 LAN End.X SID TLV, and SRv6 Endpoint
Behavior TLV that defined in [I-D.ietf-idr-bgpls-srv6-ext].
5. Operations
Based on the BGP-LS database which contains UEC capabilities and
SID(s) per UET related flavors, a headend or controller can firstly
check which UET domains a computed SR path crossed, then selects UET
related SID to construct an optimized E2E SID list.
The detailed description can refer to [I-D.mirsky-6man-unified-id-sr]
and [I-D.liu-idr-segment-routing-te-policy-complement].
Liu & Peng Expires April 19, 2021 [Page 5]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
6. Security Considerations
Procedures and protocol extensions defined in this document do not
affect the security considerations discussed in
[I-D.ietf-idr-bgpls-srv6-ext].
7. IANA Considerations
TBD
8. Normative References
[I-D.cheng-spring-shorter-srv6-sid-requirement]
Cheng, W., Xie, C., Pang, R., Li, Z., Chen, R., Zu, L.,
Duan, X., Mirsky, G., Dukes, D., and S. Zadok, "Shorter
SRv6 SID Requirements", draft-cheng-spring-shorter-srv6-
sid-requirement-02 (work in progress), July 2020.
[I-D.ietf-6man-spring-srv6-oam]
Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M.
Chen, "Operations, Administration, and Maintenance (OAM)
in Segment Routing Networks with IPv6 Data plane (SRv6)",
draft-ietf-6man-spring-srv6-oam-07 (work in progress),
July 2020.
[I-D.ietf-idr-bgpls-srv6-ext]
Dawra, G., Filsfils, C., Talaulikar, K., Chen, M.,
daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link
State Extensions for SRv6", draft-ietf-idr-bgpls-
srv6-ext-03 (work in progress), July 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-24 (work in
progress), October 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-03 (work in progress), May 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-07 (work in progress),
July 2020.
Liu & Peng Expires April 19, 2021 [Page 6]
Internet-Draft BGP-LS for Shorter SRv6 SID October 2020
[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>.
[RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
S. Shaffer, "Extensions to OSPF for Advertising Optional
Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
February 2016, <https://www.rfc-editor.org/info/rfc7770>.
[RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions
for Advertising Router Information", RFC 7981,
DOI 10.17487/RFC7981, October 2016,
<https://www.rfc-editor.org/info/rfc7981>.
[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>.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>.
[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
Liu Yao
ZTE Corporation
Nanjing
China
Email: liu.yao71@zte.com.cn
Peng Shaofu
ZTE Corporation
Nanjing
China
Email: peng.shaofu@zte.com.cn
Liu & Peng Expires April 19, 2021 [Page 7]