Internet-Draft BGP extensions for SRv6 and MPLS interwo July 2024
Agrawal, et al. Expires 24 January 2025 [Page]
Workgroup:
BESS WorkGroup
Internet-Draft:
draft-agrawal-bess-bgp-srv6-mpls-interworking-01
Published:
Intended Status:
Standards Track
Expires:
Authors:
S. Agrawal, Ed.
Cisco Systems
D. Rao
Cisco Systems
Z. Ali
Cisco Systems
C. Filsfils
Cisco Systems
D. Voyer
Bell Canada
G. Dawra
LinkedIn
Z. Li
Huawei Technologies

BGP extensions for SRv6 and MPLS interworking

Abstract

This document define the BGP protocol extensions required to provide interworking between SRv6 and SR-MPLS/MPLS for SRv6 deployment.

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 24 January 2025.

Table of Contents

1. Introduction

The deployment of SRv6 into existing networks require SRv6 to interwork with SR-MPLS/MPLS. Draft [I-D.agrawal-spring-srv6-mpls-interworking] describes SRv6 and MPLS interworking architecture in multi domain network where each domain run SRv6 or MPLS data plane independently. Specifically section 7.1.2 of draft details BGP inter-domain routing procedures to advertise PE locators or PE loopbacks address across such network with next hop self at domain border routers. When performing next hop self on domain border router and further propagation, draft proposes to allocate and signal additional upstream data plane specific information. This document extract the BGP protocol extensions proposed in [I-D.agrawal-spring-srv6-mpls-interworking] to signal SRv6 SID with BGP SAFI 4 or SAFI 1 advertisements. This is done to independently state BGP protocol extensions and future applicability of them for other use cases.

1.1. 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.

2. SRv6 SID advertisement in BGP update for PE address

[RFC9252] extended BGP Prefix SID Attribute (PFA) to signal SRv6 SID in "SRv6 L3 Service" and "SRv6 L2 Service" TLVs for layer 3 and layer 2 services. This document introduces new "SRv6 tunnel for label route" TLV for safi 4 [RFC8277] and extends usage of "SRv6 L3 Service" TLV for SAFI 4.

2.1. SRv6 tunnel for label route TLV

[RFC8669] introduced Prefix-SID attribute with TLV type 1 for label index and TLV type 3 for Originator SRGB for AFI=1/2 and SAFI 4 (BGP LU). This document introduces a new TLV called "SRv6 tunnel for label route" of the BGP Prefix-SID Attribute to signal SRv6 SIDs along with MPLS label bound to prefix in NLRI. Behavior that may be encoded but not limited to is End.DTM. "SRv6 tunnel for label route" TLV signals "AND" semantics i.e. push label signaled in NLRI and perform H.Encaps.M with DA as SRv6 SID signaled in TLV. This document limits the usage of this new TLV to AFI=1/2 SAFI 4. The usage of this TLV for other AFI/SAFI is out of scope of this document.

"SRv6 tunnel for label route" TLV is encoded exactly like SRv6 Service TLVs in Prefix-SID Attribute [RFC9252] with following modification:

  • TLV Type (1 octet): This field is assigned values from the IANA registry "BGP Prefix-SID TLV Types". It is set to 7 for "SRv6 tunnel for label route" TLV.

  • No transposition scheme is allowed i.e. transposition length MUST be 0 in SRv6 SID Structure Sub-Sub-TLV.

Please refer to section 7.1.2.2.1 of [I-D.agrawal-spring-srv6-mpls-interworking] for usage of "SRv6 tunnel for label route" TLV and overall procedures along with control and forwarding state

2.2. SRv6 SID bound to prefix in NLRI

Bound the SRv6 SID of DPM behavior to PE loopback address carried in NLRI of BGP update of SAFI 1 or SAFI 4. Receiving node perform H.Encaps, where destination of IPv6 header is set to SRv6 SID for traffic destined to address in NLRI.

Please refer to section 7.1.2.2.2 of [I-D.agrawal-spring-srv6-mpls-interworking] for overall procedures when SRv6 SID is bound to PE address.

This document proposes below 2 options to advertise SRv6 SID bound to prefix in NLRI

2.2.1. Address in NLRI is only bound to SRv6 SID

Address in NLRI is only bound to SRv6 SID by advertising node. In this case, SAFI 4 cannot be used to advertise PE loopback across SRv6 domain as label is required in NLRI [RFC8277]. Therefore SRv6 SID with End.DPM behavior bound to prefix in NLRI is advertised in SAFI 1 as per section 5.3 and 5.4 of [RFC9252]. To distinguish from global internet routes on receiver, local policy matching PE loopback addresses or BGP community/extended community attached to such advertisement may be used. Such policy on receiver helps to allocate MPLS label and advertise route further upstream in SAFI 4 in MPLS domain for PE addresses with next hop self. Figure 1 shows BGP update example through SRv6 domain.

          +-----+                +-----+  RD:V/v via 10   +-----+
   .......|S-RR1|<...............|S-RR2|<.................|S-RR3| <..
   :      +-----+                +-----+                  +-----+   :
   :                                                                :
   :                                                                :
+--:-------------------+----------------------+---------------------:-+
|  :                   |                      |                     : |
|  :                   |                      |                     : |
|  :       SAFI 4      |       SAFI 1         |      SAFI 4         : |
|  : <-E10,Label via 4 |   <-E10 via 7        |  <-E10,0x3 via E10  : |
|  :                   |   SRv6 SID=B7:E10::  |                     : |
|----+               +---+                  +---+                +----|
| E1 |               | 4 |                  | 7 |                |E10 |
|----+               +---+                  +---+                +----|
|                      |                      |                       |
|                      |                      |                       |
|                      |                      |                       |
|                      |                      |                       |
|        MPLS          |        SRv6          |       MPLS            |
+----------------------+----------------------+-----------------------+
iPE                   iBR                    eBR                     ePE

<----------LI---------><----------C----------><-----------LE---------->
Figure 1: SRv6 SID bound to NLRI of SAFI 1

2.2.2. MPLS label and SRv6 SID bound to prefix in NLRI

Advertise MPLS label and SRv6 SID bound to prefix in NLRI. RFC 8669 introduced Prefix-SID attribute with TLV type 1 for label index and TLV type 3 for Originator SRGB for AFI=1/2 and SAFI 4 (BGP LU). This document extends the BGP Prefix-SID attribute [RFC8669] to carry "SRv6 L3 Service TLV" defined in [RFC9252] with AFI=1/2 and SAFI 4. TLV is encoded exactly like SRv6 Service TLVs in Prefix-SID Attribute without transposition. Such an update can be processed by both legacy MPLS ABR and SRv6 capable ABR and use relevant encapsulation. For example, in Figure 2 node 4 being SRv6 capable chooses SRv6 encapsulation and node 44 being legacy continue MPLS encapsulation.

          +-----+                +-----+  RD:V/v via 10   +-----+
   .......|S-RR1|<...............|S-RR2|<.................|S-RR3| <..
   :      +-----+                +-----+                  +-----+   :
   :                                                                :
   :                                                                :
+--:-------------------+----------------------+---------------------:-+
|  :                   |                      |                     : |
|  :                 +---+                    |                     : |
|  :                 | 4 |                    |                     : |
|  :     SAFI 4      +---+    SAFI 4          |      SAFI 4         : |
|  : <-E10,Label via 4 |  <-E10,Label via 7   |   <-E10,0x3 via E10 : |
|----+                 |  SRv6 SID=B7:E10:: +---+                +----|
| E1 |                 |                    | 7 |                |E10 |
|----+               +---+                  +---+                +----|
|                    |44 |                    |                       |
|                    +---+                    |                       |
|                      |                      |                       |
|                      |                      |                       |
|        MPLS          |        SRv6/MPLS     |       MPLS            |
+----------------------+----------------------+-----------------------+
iPE                   iBR                    eBR                     ePE

<----------LI---------><----------C----------><-----------LE---------->
Figure 2: SRv6 SID bound to NLRI of SAFI 4

2.3. Propogation of SRv6 SID in BGP update for PE address

A BGP speaker receiving updates with PE address in NLRI and Prefix-SID Attribute with "SRv6 tunnel for label route" TLV or "SRv6 L3 Service" TLV observe the following rules when advertising the route to other peers:

3. IANA Considerations

3.1. BGP Prefix-SID TLV Types registry

This document introduce a new TLV Type of the BGP Prefix-SID attribute. IANA is requested to assign Type value in the registry "BGP Prefix-SID TLV Types" as follows

    Value     Type                             Reference
    ----------------------------------------------------------
    TBD       "SRv6 tunnel for label route" TLV     <this document>

4. Security Considerations

5. Acknowledgements

The authors would like to acknowledge Stephane Litkowski and Ketan Talaulikar for review and comments.

6. References

6.1. Normative References

[I-D.agrawal-spring-srv6-mpls-interworking]
Agrawal, S., Filsfils, C., Voyer, D., Dawra, G., Li, Z., and S. Hegde, "SRv6 and MPLS interworking", Work in Progress, Internet-Draft, draft-agrawal-spring-srv6-mpls-interworking-14, , <https://datatracker.ietf.org/doc/html/draft-agrawal-spring-srv6-mpls-interworking-14>.
[I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", Work in Progress, Internet-Draft, draft-ietf-spring-segment-routing-policy-22, , <https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC3032]
Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, , <https://www.rfc-editor.org/info/rfc3032>.
[RFC4023]
Worster, T., Rekhter, Y., and E. Rosen, Ed., "Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)", RFC 4023, DOI 10.17487/RFC4023, , <https://www.rfc-editor.org/info/rfc4023>.
[RFC4364]
Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, , <https://www.rfc-editor.org/info/rfc4364>.
[RFC7432]
Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, , <https://www.rfc-editor.org/info/rfc7432>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8277]
Rosen, E., "Using BGP to Bind MPLS Labels to Address Prefixes", RFC 8277, DOI 10.17487/RFC8277, , <https://www.rfc-editor.org/info/rfc8277>.
[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, , <https://www.rfc-editor.org/info/rfc8402>.
[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, , <https://www.rfc-editor.org/info/rfc8664>.
[RFC8669]
Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, A., and H. Gredler, "Segment Routing Prefix Segment Identifier Extensions for BGP", RFC 8669, DOI 10.17487/RFC8669, , <https://www.rfc-editor.org/info/rfc8669>.
[RFC8986]
Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 (SRv6) Network Programming", RFC 8986, DOI 10.17487/RFC8986, , <https://www.rfc-editor.org/info/rfc8986>.
[RFC9252]
Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene, B., Zhuang, S., and J. Rabadan, "BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)", RFC 9252, DOI 10.17487/RFC9252, , <https://www.rfc-editor.org/info/rfc9252>.

6.2. Informative References

[I-D.ietf-mpls-seamless-mpls]
Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz, M., and D. Steinberg, "Seamless MPLS Architecture", Work in Progress, Internet-Draft, draft-ietf-mpls-seamless-mpls-07, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-seamless-mpls-07>.

Authors' Addresses

Swadesh Agrawal (editor)
Cisco Systems
Dhananjaya Rao
Cisco Systems
Zafar ALI
Cisco Systems
Clarence Filsfils
Cisco Systems
Daniel Voyer
Bell Canada
Canada
Gaurav dawra
LinkedIn
United States of America
Zhenbin Li
Huawei Technologies
China