Internet DRAFT - draft-peng-idr-segment-routing-te-policy-attr
draft-peng-idr-segment-routing-te-policy-attr
IDR Y. Liu
Internet-Draft S. Peng
Intended status: Standards Track ZTE
Expires: 31 August 2023 27 February 2023
Advertising SID Algorithm Information in BGP
draft-peng-idr-segment-routing-te-policy-attr-04
Abstract
This document proposes extensions of BGP and defines new Segment
Types to provide algorithm information for SR-MPLS Adjacency-SIDs
when delivering SR Policy via BGP.
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 31 August 2023.
Copyright Notice
Copyright (c) 2023 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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Liu & Peng Expires 31 August 2023 [Page 1]
Internet-Draft BGP SID Algo February 2023
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. New Segment Types for SR-MPLS Adjacency with optional
Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Type M: IPv4 Address and Local Interface ID with optional
Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Type N: IPv4 Addresses for link endpoints as Local, Remote
pair with optional Algorithm . . . . . . . . . . . . . . 4
3.3. Type O: IPv6 Prefix and Interface ID for link endpoints as
Local, Remote pair, with optional Algorithm for SR-MPLS . 6
3.4. Type P: IPv6 Addresses for link endpoints as Local, Remote
pair, with optional Algorithm for SR-MPLS . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
Segment Routing (SR) [RFC8402] allows a headend node to steer a
packet flow along any path. [RFC9256] details the concepts of SR
Policy and steering into an SR Policy. These apply equally to the
MPLS and IPv6 data plane instantiations of Segment Routing with their
respective representations of segments as SR-MPLS SID and SRv6 SID as
described in [RFC8402].
[I-D.ietf-idr-segment-routing-te-policy] specifies the way to use BGP
to distribute one or more of the candidate paths of an SR Policy to
the headend of that policy. It defines a new BGP address family
(SAFI), i.e., SR Policy SAFI NLRI. In UPDATE messages of that
address family, the NLRI identifies an SR Policy Candidate Path, and
the attributes encode the segment lists and other details of that SR
Policy Candidate Path. 11 Segment Types (from A to K) are defined to
encode SR-MPLS or SRv6 segments.
As specified in [I-D.ietf-idr-segment-routing-te-policy], the SR
algorithm can be optionally specified for Segment Types C(IPv4 Node
and SID), D(IPv6 Node and SID for SR-MPLS), I(IPv6 Node and SID for
SRv6), J(IPv6 Node, index for remote and local pair, and SID for
SRv6), and K(IPv6 Local/Remote addresses and SID for SRv6). That is,
currently the algorithm can be carried along with SR-MPLS prefix SID,
SRv6 prefix SID and SRv6 adjacency SID when delivering SR Policy via
BGP.
Liu & Peng Expires 31 August 2023 [Page 2]
Internet-Draft BGP SID Algo February 2023
[I-D.ietf-lsr-algorithm-related-adjacency-sid] complements that,
besides the SR-MPLS prefix SID, the algorithm can be also included as
part of an SR-MPLS Adjacency-SID advertisement, in scenarios where
multiple algorithm share the same link resource. In this case, an
SR-MPLS Policy advertised to the headend may also contain algorithm
specific Adjacency-SID.
This document proposes extensions of BGP and defines new Segment
Types to provide algorithm information for SR-MPLS Adjacency-SIDs
when delivering SR Policy via BGP.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. New Segment Types for SR-MPLS Adjacency with optional Algorithm
This section defines four new Segment Sub-TLVs of Segment List Sub-
TLV to provide algorithm information for SR-MPLS Adjacency-SIDs.
The processing procedures for SID with algorithm specified in
[RFC9256] and [I-D.ietf-idr-segment-routing-te-policy] are still
applicable for the new segment types. When the algorithm is not
specified for the SID types above which optionally allow for it, the
headend SHOULD use the Strict Shortest Path algorithm if available;
otherwise, it SHOULD use the default Shortest Path algorithm.
3.1. Type M: IPv4 Address and Local Interface ID with optional
Algorithm
The Type M Segment Sub-TLV is similar with existed Type E Segment
Sub-TLV, it also encodes an IPv4 node address, a local interface
Identifier (Local Interface ID) and an optional SR-MPLS SID, but with
additional algorithm information. The format is as follows:
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 | SR Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Node Address (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SR-MPLS SID (optional, 4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Liu & Peng Expires 31 August 2023 [Page 3]
Internet-Draft BGP SID Algo February 2023
Where:
Type: TBD1
SR Algorithm: 1 octet specifying SR Algorithm as described in
Section 3.1.1 of [RFC8402]) when A-Flag as defined in
Section 2.4.4.2.12 of [I-D.ietf-idr-segment-routing-te-policy]) is
present. SR Algorithm is used by SRPM as described in Section 4 of
[RFC9256]). When A-Flag is not encoded, this field SHOULD be set to
zero on transmission and MUST be ignored on receipt.
Other fields have the same meaning as the Type E Segment Sub-TLV in
Section 2.4.4.2.5 of [I-D.ietf-idr-segment-routing-te-policy]),
where:
Length: Specifies the length of the value field (i.e., not including
Type and Length fields) in terms of octets. The value MUST be 14
when the SR-MPLS SID is present else it MUST be 10.
Flags: 1 octet of flags as defined in Section 2.4.4.2.12 of
[I-D.ietf-idr-segment-routing-te-policy]).
Local Interface ID: 4 octets of interface index as defined in
[RFC8664].
IPv4 Node Address: a 4-octet IPv4 address representing a node.
SR-MPLS SID: optional, 4-octet field containing label, TC, S and TTL
as defined in Section 2.4.4.2.1 of
[I-D.ietf-idr-segment-routing-te-policy]).
3.2. Type N: IPv4 Addresses for link endpoints as Local, Remote pair
with optional Algorithm
The Type N Segment Sub-TLV is similar with existed Type F Segment
Sub-TLV, it also encodes an adjacency local address, an adjacency
remote address and an optional SR-MPLS SID, but with additional
algorithm information. The format is as follows:
Liu & Peng Expires 31 August 2023 [Page 4]
Internet-Draft BGP SID Algo February 2023
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 | SR Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local IPv4 Address (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote IPv4 Address (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SR-MPLS SID (optional, 4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:
Type: TBD2
SR Algorithm: 1 octet specifying SR Algorithm as described in
Section 3.1.1 of [RFC8402]) when A-Flag as defined in
Section 2.4.4.2.12 of [I-D.ietf-idr-segment-routing-te-policy]) is
present. SR Algorithm is used by SRPM as described in Section 4 of
[RFC9256]). When A-Flag is not encoded, this field SHOULD be set to
zero on transmission and MUST be ignored on receipt.
Other fields have the same meaning as the Type F Segment Sub-TLV
Section 2.4.4.2.6 of [I-D.ietf-idr-segment-routing-te-policy]),
where:
Length: Specifies the length of the value field (i.e., not including
Type and Length fields) in terms of octets. The value MUST be 14
when the SR-MPLS SID is present else it MUST be 10.
Flags: 1 octet of flags as defined in Section 2.4.4.2.12 of
[I-D.ietf-idr-segment-routing-te-policy]).
Local IPv4 Address: a 4-octet IPv4 address representing the local
link address of the node.
Remote IPv4 Address: a 4-octet IPv4 address representing the link
address of the neighbor node.
SR-MPLS SID: optional, 4-octet field containing label, TC, S and TTL
as defined in Section 2.4.4.2.1 of
[I-D.ietf-idr-segment-routing-te-policy]).
Liu & Peng Expires 31 August 2023 [Page 5]
Internet-Draft BGP SID Algo February 2023
3.3. Type O: IPv6 Prefix and Interface ID for link endpoints as Local,
Remote pair, with optional Algorithm for SR-MPLS
The Type O Segment Sub-TLV is similar with existed Type G Segment
Sub-TLV, it also encodes an IPv6 Link Local adjacency with IPv6 local
node address, a local interface identifier (Local Interface ID), IPv6
remote node address , a remote interface identifier (Remote Interface
ID) and an optional SR-MPLS SID, but with additional algorithm
information. The format is as follows:
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 | SR Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// IPv6 Local Node Address (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Interface ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// IPv6 Remote Node Address (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SR-MPLS SID (optional, 4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:
Type: TBD3
SR Algorithm: 1 octet specifying SR Algorithm as described in
Section 3.1.1 of [RFC8402]) when A-Flag as defined in
Section 2.4.4.2.12 of [I-D.ietf-idr-segment-routing-te-policy]) is
present. SR Algorithm is used by SRPM as described in Section 4 of
[RFC9256]). When A-Flag is not encoded, this field SHOULD be set to
zero on transmission and MUST be ignored on receipt.
Other fields have the same meaning as the Type G Segment Sub-TLV
Section 2.4.4.2.7 of [I-D.ietf-idr-segment-routing-te-policy]),
where:
Length: Specifies the length of the value field (i.e., not including
Type and Length fields) in terms of octets. The value MUST be 14
when the SR-MPLS SID is present else it MUST be 10.
Flags: 1 octet of flags as defined in Section 2.4.4.2.12 of
[I-D.ietf-idr-segment-routing-te-policy]).
Liu & Peng Expires 31 August 2023 [Page 6]
Internet-Draft BGP SID Algo February 2023
Local Interface ID: 4 octets of interface index as defined in
[RFC8402].
IPv6 Local Node Address: a 16-octet IPv6 address representing the
node.
Remote Interface ID: 4 octets of interface index as defined in
[RFC8402]. The value MAY be set to zero when the local node address
and interface identifiers are sufficient to describe the link.
IPv6 Remote Node Address: a 16-octet IPv6 address. The value MAY be
set to zero when the local node address and interface identifiers are
sufficient to describe the link.
SR-MPLS SID: optional, 4-octet field containing label, TC, S and TTL
as defined in Section 2.4.4.2.1 of
[I-D.ietf-idr-segment-routing-te-policy]).
3.4. Type P: IPv6 Addresses for link endpoints as Local, Remote pair,
with optional Algorithm for SR-MPLS
The Type P Segment Sub-TLV is similar with existed Type H Segment
Sub-TLV, it also encodes an adjacency local address, an adjacency
remote address and an optional SR-MPLS SID, but with additional
algorithm information. The format is as follows:
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 | SR Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Local IPv6 Address (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Remote IPv6 Address (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SR-MPLS SID (optional, 4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where:
Type: TBD4
SR Algorithm: 1 octet specifying SR Algorithm as described in
Section 3.1.1 of [RFC8402]) when A-Flag as defined in
Section 2.4.4.2.12 of [I-D.ietf-idr-segment-routing-te-policy]) is
present. SR Algorithm is used by SRPM as described in Section 4 of
[RFC9256]). When A-Flag is not encoded, this field SHOULD be set to
zero on transmission and MUST be ignored on receipt.
Liu & Peng Expires 31 August 2023 [Page 7]
Internet-Draft BGP SID Algo February 2023
Other fields have the same meaning as the Type H Segment Sub-TLV
Section 2.4.4.2.8 of [I-D.ietf-idr-segment-routing-te-policy]),
where:
Length: Specifies the length of the value field (i.e., not including
Type and Length fields) in terms of octets. The value MUST be 14
when the SR-MPLS SID is present else it MUST be 10.
Flags: 1 octet of flags as defined in Section 2.4.4.2.12 of
[I-D.ietf-idr-segment-routing-te-policy]).
Local IPv6 Address: a 16-octet IPv6 address representing the local
link address of the node.
Remote IPv6 Address: a 16-octet IPv6 address representing the link
address of the neighbor node.
SR-MPLS SID: optional, 4-octet field containing label, TC, S and TTL
as defined in Section 2.4.4.2.1 of
[I-D.ietf-idr-segment-routing-te-policy]).
4. IANA Considerations
This document requests codepoint allocations for new Segment Sub-TLVs
in the "SR Policy List Sub-TLVs" registry.
Value Description Reference
------------------------------------------------------------------------
TBD1 Segment Type M sub-TLV This document
TBD2 Segment Type N sub-TLV This document
TBD3 Segment Type O sub-TLV This document
TBD4 Segment Type P sub-TLV This document
5. Security Considerations
Procedures and protocol extensions defined in this document do not
affect the security considerations discussed in
[I-D.ietf-idr-segment-routing-te-policy].
6. Acknowledgement
The authors would like to thank Ketan Talaulikar for his comments and
suggestions.
7. References
7.1. Normative References
Liu & Peng Expires 31 August 2023 [Page 8]
Internet-Draft BGP SID Algo February 2023
[I-D.ietf-idr-segment-routing-te-policy]
Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P.,
Jain, D., and S. Lin, "Advertising Segment Routing
Policies in BGP", Work in Progress, Internet-Draft, draft-
ietf-idr-segment-routing-te-policy-20, 27 July 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-idr-
segment-routing-te-policy-20>.
[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>.
[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>.
[RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
A., and P. Mattes, "Segment Routing Policy Architecture",
RFC 9256, DOI 10.17487/RFC9256, July 2022,
<https://www.rfc-editor.org/info/rfc9256>.
7.2. Informative References
[I-D.ietf-lsr-algorithm-related-adjacency-sid]
Peng, S., Chen, R., Talaulikar, K., and P. Psenak,
"Algorithm Related IGP-Adjacency SID Advertisement", Work
in Progress, Internet-Draft, draft-ietf-lsr-algorithm-
related-adjacency-sid-04, 20 December 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-lsr-
algorithm-related-adjacency-sid-04>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
[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>.
Liu & Peng Expires 31 August 2023 [Page 9]
Internet-Draft BGP SID Algo February 2023
[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>.
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
Extensions for Segment Routing", RFC 8665,
DOI 10.17487/RFC8665, December 2019,
<https://www.rfc-editor.org/info/rfc8665>.
[RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions
for Segment Routing", RFC 8666, DOI 10.17487/RFC8666,
December 2019, <https://www.rfc-editor.org/info/rfc8666>.
[RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C.,
Bashandy, A., Gredler, H., and B. Decraene, "IS-IS
Extensions for Segment Routing", RFC 8667,
DOI 10.17487/RFC8667, December 2019,
<https://www.rfc-editor.org/info/rfc8667>.
[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
Yao Liu
ZTE
Nanjing
China
Email: liu.yao71@zte.com.cn
Shaofu Peng
ZTE
Nanjing
China
Email: peng.shaofu@zte.com.cn
Liu & Peng Expires 31 August 2023 [Page 10]