Network Working Group C. Lin Internet Draft M. Chen Intended status: Informational H. Li Expires: January 11, 2023 New H3C Technologies July 11, 2022 IS-IS and OSPFv3 Extensions to Advertise SRv6 Service SID draft-lin-lsr-srv6-service-sid-00 Abstract The IPv6 backbone networks only deploying IGP may be required to interconnect IPv4 islands. SRv6 Service SIDs like End.DT4 may be used to realize such requirements. This document extends IS-IS and OSPFv3 to advertise SRv6 Service 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 January 11, 2023. Copyright Notice Copyright (c) 2022 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 (http://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. Lin, et al. Expire January 11, 2023 [Page 1] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 Table of Contents 1. Introduction...................................................2 2. Problem Statement..............................................2 3. IGP Solution based on SRv6.....................................3 4. IS-IS Extensions...............................................3 5. OSPFv3 Extensions..............................................5 6. Extensions for TE..............................................6 7. Example........................................................6 8. Security Considerations........................................7 9. IANA Considerations............................................7 10. References....................................................7 10.1. Normative References.....................................7 10.2. Informative References...................................8 Authors' Addresses................................................9 1. Introduction Segment Routing (SR) [RFC8402] is a source routing paradigm that explicitly indicates the forwarding path for packets at the ingress node. SRv6 refers to Segment Routing instantiated on the IPv6 dataplane. [I-D.ietf-bess-srv6-services] describes how BGP messages may carry SRv6 Service SIDs to interconnect PEs and form VPNs. The IPv6 backbone networks only deploying IGP may be required to interconnect IPv4 islands. SRv6 Service SIDs like End.DT4 may be used to realize such requirements. This document extends IS-IS and OSPFv3 to advertise SRv6 Service SIDs. 2. Problem Statement There are situations such as those described in [RFC5565] where it is required to establish connectivity between 'islands' of IPv4 networks across a transit backbone of IPv6 network. IPv6 Backbone +-------------+ +------+ | | +------+ | IPv4 |--+-A----B----C-+--| IPv4 | +------+ | | +------+ +-------------+ Figure 1: IPv4 Islands across IPv6 Backbone [RFC8950] specifies the BGP extensions to allow the advertising of IPv4 NLRI with a next-hop address that belongs to the IPv6 protocol. [I-D.ietf-bess-srv6-services] defines procedures and messages for Lin, et al. Expires January 11, 2023 [Page 2] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 BGP based L3 Service over SRv6, which uses SRv6 Service SIDs to interconnect PEs and form VPNs. Take the network in Figure 1 as an example. Router A and C are BGP speakers. They exchange the prefixes of IPv4 islands by using BGP IPv4 NLRIs whose next hop is the peer's IPv6 address. In addition, SRv6 Service SID with End.DT4 (Decapsulation and Specific IPv4 Table Lookup) behavior is carried in the BGP Prefix-SID attribute. When the traffics from IPv4 islands need to traverse the IPv6 backbone, router A and C encapsulate the payload in in an outer IPv6 header where the destination address is the SRv6 Service SID. For the IPv6 backbone networks not deploying BGP, for example, the campus network using IS-IS or OSPFv3, it is expected to extend IS-IS or OSPFv3 to support such services. 3. IGP Solution based on SRv6 In an IPv6 backbone network which only deploys IGP, SRv6 Service SID like End.DT4 may be used to interconnect IPv4 islands. The edge router advertises IPv4 prefixes along with an SRv6 Service SID in IGP. When an ingress edge router forwards IPv4 packets across the IPv6 backbone, it encapsulates the payload in an outer IPv6 header where the destination address is the SRv6 Service SID provided by the egress router. The edge routers must be SR-enabled, while the underlay between the edge routers only needs to support plain IPv6 forwarding. When an egress edge router receives the packets whose IPv6 destination address is an SRv6 Service SID instantiated by itself, it will decapsulate the outer IPv6 header and perform IPv4 table lookup to forward the inner IPv4 packet. Besides, the SRv6 Service SID may also be advertised with IPv6 prefixes, which can be used to support SRv6-TE Services in IGP. 4. IS-IS Extensions The IS-IS SRv6 Service SID Sub-TLV is defined in this document to advertise SRv6 Service SIDs in IS-IS. The IS-IS SRv6 Service SID Sub-TLV has the following format: Lin, et al. Expires January 11, 2023 [Page 3] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRv6 SID Value (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRv6 Endpoint Behavior | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Sub-sub-tlv-len| Sub-sub-TLVs (variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o Type: TBD. o Length: 1 octet. The length value is variable. o SRv6 SID Value: 16 octets. Encodes an SRv6 SID as defined in [RFC8986]. o SRv6 Endpoint Behavior: 2 octets. Encodes SRv6 Endpoint behavior codepoint value that is associated with SRv6 SID, as defined in [RFC8986]. o Reserved: 2 octets. MUST be set to 0 by the sender and ignored by the receiver. o Sub-sub-tlv-len: 1 octet. Number of octets used by sub-sub-TLVs. o Sub-sub-TLVs: Optional Sub-sub-TLVs. IS-IS SRv6 Service SID Sub-TLV is applicable to TLVs 135, 235, 236, and 237. When the IS-IS SRv6 Service SID Sub-TLV appears, it means that the prefixes advertised in those TLV can be accessed via the associated SRv6 Service SID. The originator of IS-IS SRv6 Service SID Sub-TLV must also advertise the corresponding SRv6 Locator (covering prefix of the SRv6 Service SID) using the SRv6 Locator TLV [I-D.ietf-lsr-isis-srv6-extensions], so that forwarding entries for the SRv6 Locator can be installed in the forwarding plane of receiving routers. The Prefix Reachability TLV (TLV-236 or TLV-237) carrying the SRv6 Locator should also be advertised for SRv6 incapable routers. The receiver of IS-IS SRv6 Service SID Sub-TLV should check the reachability of that SID or its Locator. If it is reachable, the receiver may create forwarding entries of the associated prefix, with relevant instruction that the packet will be encapsulated in an Lin, et al. Expires January 11, 2023 [Page 4] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 outer IPv6 header with the destination address of SRv6 Service SID and forwarded according to the SID or Locator. In cases where the prefix associated with SRv6 Service SID is reachable both by the SRv6 Service SID and the SPF computation, the SPF computation must be preferred when installing entries in the forwarding plane. This is to prevent inconsistent forwarding entries between SRv6 Service SID capable and incapable routers. So, it is recommended that the prefix associated with SRv6 Service SID is advertised with a metric larger than MAX_PATH_METRIC (0xFE000000). 5. OSPFv3 Extensions The OSPFv3 SRv6 Service SID Sub-TLV is defined in this document to advertise SRv6 Service SIDs in OSPFv3. The OSPFv3 SRv6 Service SID Sub-TLV has the following format: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRv6 SID Value (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRv6 Endpoint Behavior | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-sub-TLVs (variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o Type: TBD. o Length: 2 octets. The length value is variable. o SRv6 SID Value: 16 octets. Encodes an SRv6 SID as defined in [RFC8986]. o SRv6 Endpoint Behavior: 2 octets. Encodes SRv6 Endpoint behavior codepoint value that is associated with SRv6 SID, as defined in [RFC8986]. o Reserved: 2 octets. MUST be set to 0 by the sender and ignored by the receiver. o Sub-sub-TLVs: Optional Sub-sub-TLVs. Lin, et al. Expires January 11, 2023 [Page 5] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 OSPFv3 SRv6 Service SID Sub-TLV is applicable to External-Prefix TLV. The processing of OSPFv3 SRv6 Service SID Sub-TLV is similar with section 4. 6. Extensions for TE To provide SRv6 Traffic Engineering (TE) Services based on BGP, the egress router colors the overlay service route with a Color Extended Community for steering of flows for those routes into SRv6 Policies. IGP may also advertise the color information along with prefixes to support SRv6-TE Services. Such extensions will be described in the future version of this document. 7. Example An example network is shown as Figure 2. In the IPv6 backbone, router A, B and C run IS-IS. Router C advertises the prefix p1 in IPv4 island 2 using TLV-135 along with IS-IS SRv6 Service SID Sub- TLV carrying the End.DT4 SID s1. Router A creates a forwarding entry for prefix p1 with SID s1. When a packet from IPv4 island 1 to p1 in IPv4 island 2 needs to traverse the IPv6 backbone, router A encapsulates an outer IPv6 head whose DA is s1. Then the packet is forwarded to C. According to the function of s1, C decapsulates the outer IPv6 header and performs IPv4 table lookup to forward the inner IPv4 packet to IPv4 island 2. Lin, et al. Expires January 11, 2023 [Page 6] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 <-------------------IS-IS LSP IPv4 Prefix: p1 SRv6 End.DT4 SID: s1 |<- IPv6 Backbone ->| IPv4 Island 1--A---------B---------C--IPv4 Island 2 +-------+ +-------+ | IPv6 | | IPv6 | | DA=s1 | | DA=s1 | +-------+ +-------+ +-------+ +-------+ | IPv4 | | IPv4 | | IPv4 | | IPv4 | | DA=p1 | | DA=p1 | | DA=p1 | | DA=p1 | +-------+ > +-------+ > +-------+ > +-------+ |Payload| |Payload| |Payload| |Payload| +-------+ +-------+ +-------+ +-------+ Figure 2: Example Network 8. Security Considerations TBD 9. IANA Considerations TBD 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [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, . [RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh Framework", RFC 5565, DOI 10.17487/RFC5565, June 2009, . Lin, et al. Expires January 11, 2023 [Page 7] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 [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, February 2021, . [I-D.ietf-bess-srv6-services] Dawra, G., Talaulikar, K., Raszuk, R., Decraene, B., Zhuang, S., and J. Rabadan, "SRv6 BGP based Overlay Services", draft-ietf-bess-srv6-services-15 (work in progress), March 2022. 10.2. Informative References [RFC8950] Litkowski, S., Agrawal, S., Ananthamurthy, K., and K. Patel, "Advertising IPv4 Network Layer Reachability Information (NLRI) with an IPv6 Next Hop", RFC 8950, DOI 10.17487/RFC8950, November 2020, . [I-D.ietf-lsr-isis-srv6-extensions] Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extensions to Support Segment Routing over IPv6 Dataplane", draft- ietf-lsr-isis-srv6-extensions-18 (work in progress), October 2021. Lin, et al. Expires January 11, 2023 [Page 8] Internet-Draft Advertise SRv6 Service SID in IGP July 2022 Authors' Addresses Changwang Lin New H3C Technologies Email: linchangwang.04414@h3c.com Mengxiao Chen New H3C Technologies Email: chen.mengxiao@h3c.com Hao Li New H3C Technologies Email: lihao@h3c.com Lin, et al. Expires January 11, 2023 [Page 9]