<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2545 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2545.xml">
<!ENTITY RFC4291 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC4364 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4364.xml">
<!ENTITY RFC4659 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4659.xml">
<!ENTITY RFC4684 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4684.xml">
<!ENTITY RFC4760 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4760.xml">
<!ENTITY RFC4798 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4798.xml">
<!ENTITY RFC4925 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4925.xml">
<!ENTITY RFC8126 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml">
<!ENTITY RFC5492 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5492.xml">
<!ENTITY RFC5549 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5549.xml">
<!ENTITY RFC5565 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5565.xml">
<!ENTITY RFC6074 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6074.xml">
<!ENTITY RFC6513 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6513.xml">
<!ENTITY RFC6514 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6514.xml">
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8277 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8277.xml">
<!ENTITY RFC8950 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8950.xml">
<!ENTITY RFC1812 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1812.xml">
<!ENTITY RFC3031 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY RFC3032 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3032.xml">
<!ENTITY RFC3036 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3036.xml">
<!ENTITY RFC3107 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3107.xml">
<!ENTITY RFC3270 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3270.xml">
<!ENTITY RFC2460 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2460.xml">
<!ENTITY RFC4029 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4029.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC4182 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4182.xml">
<!ENTITY RFC4443 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4443.xml">
<!ENTITY RFC1122 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1122.xml">
<!ENTITY RFC5036 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5036.xml">
<!ENTITY RFC8660 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8660.xml">
<!ENTITY RFC8986 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY RFC8754 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY RFC3209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3209.xml">
<!ENTITY RFC8402 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC7432 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY RFC9252 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9252.xml">
<!ENTITY RFC9256 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9256.xml">
<!ENTITY RFC7938 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7938.xml">
<!ENTITY RFC9313 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9313.xml">
<!ENTITY RFC8200 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8200.xml">
<!ENTITY RFC9012 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.9012.xml">
<!ENTITY RFC8669 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8669.xml">
<!ENTITY I-D.draft-mapathak-interas-ab SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mapathak-interas-ab.xml">
<!ENTITY I-D.draft-ietf-idr-segment-routing-te-policy SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-idr-segment-routing-te-policy.xml">
<!ENTITY I-D.draft-ietf-idr-bgp-sr-segtypes-ext SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-idr-bgp-sr-segtypes-ext.xml">
<!ENTITY DYN-CAP SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-idr-dynamic-cap.xml">
<!ENTITY I-D.ietf-spring-srv6-srh-compression SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-srh-compression.xml">

]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- used by XSLT processors -->
<!-- OPTIONS, known as processing instructions (PIs) go here. -->
<!-- For a complete list and description of PIs,
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable PIs that most I-Ds might want to use. -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC): -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="3"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references: -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space: 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of popular PIs -->
<rfc category="info" docName="draft-mishra-srv6ops-inter-domain-routing-use-case-00" ipr="trust200902">
  <front>
    <title abbrev="SRv6 Inter Domain Routing Use Cases">SRv6 Inter Domain Routing Use Cases</title>

    <author fullname="Gyan Mishra" initials="G. " surname="Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <email>gyan.s.mishra@verizon.com</email>
      </address>
    </author>

    <author fullname="Bruce McDougall" initials="B." surname="McDougall">
      <organization>Cisco Systems</organization>
      <address>
        <email>brmcdoug@cisco.com</email>
      </address>
    </author>
      
    
    <date year="2024"/>
    <area/>
    <workgroup>SRV6OPS Working Group</workgroup>
    <!-- <keyword/> -->
    <abstract>
      <t>	  
       This draft describes the SRv6 Inter Domain routing architecture with IP VPN and EVPN overlays and 
	   seamlessly stitching the overlays across inter domain boundaries.  This draft analyzes the SRv6 Design and Operational considerations regarding
	   SRv6 Inter Domain routing and the SRv6 forwarding plane.  This draft also describes three real world use cases of SRv6 Compression Next CSID
	   and operational considrations with regards to SRv6 inter domain routing.   	 
      </t>		  
    </abstract>
     <note title="Requirements Language">
      <t>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 <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>       

  </front>

  <middle>
	  
    <section anchor="intro" title="Introduction">
		
	<t>	
       This draft describes the SRv6 Inter Domain routing architecture with IP VPN and EVPN overlays and 
	   seamlessly stitching the overlays across inter domain boundaries.  This draft analyzes the SRv6 Design and Operational considerations regarding
	   SRv6 Inter Domain routing and the SRv6 forwarding plane.  This draft also describes three real world use cases of SRv6 Compression Next CSID
	   and operational considrations with regards to SRv6 inter domain routing.     	  	 
   </t>

	<t>	
       <xref target="RFC4364"/> describes BGP/MPLS IPv4 VPN and <xref target="RFC4659"/> describes BGP/MPLS IPv6 VPN.
       <xref target="RFC4364"/> describes BGP/MPLS IPv4 VPN Section 10 (a) describes Inter-AS Options A known as back to back PE-CE style peering, 
       Section (b) Inter-AS Option B BGP-LU with Direct eBGP peering VPN overlay, 
       Section (c) describes Inter-AS Option-C ASBR to ASBR interdomain loopbacks advertised with RR to RR eBGP multihop peering with next-hop unchangd. 
   </t>

	<t>	
       With SRv6 MPLS Inter-AS options described in <xref target="RFC4364"/> and <xref target="RFC4659"/> are not applicable.  However the knobs and 
       concepts used in overaly stitching are still very applicable and are used with SRv6.  SRv6 Service SID refers to the SRv6 specific endpoint behaviors 
       defined in SRv6 Programming <xref target="RFC8986"/>.  In this draft we discuss in detail the end to end service stitching of the L2 VPN EVPN and IP VPN SRv6 Service SID endpoint behaviors which
       includes L2 VPN endpoint behaviors End.DX2, End.DX2V, End.DX2U, End.DX2M and IP VPN endpoint behaviors End.DX4, End.DX6, End.DT4 and End.DT6.          
   </t>

	<t>	
       SRv6 inter domain routting L2 VPN EVPN and IP VPN SRv6 service stitching is applicable to SRv6 Programming <xref target="RFC8986"/> 128 bit full SID and SRv6 Compression 
       <xref target="I-D.ietf-spring-srv6-srh-compression"/> C-SID Next C-SID (uSID) endpoint flavor and Replace SID C-SID (G-SID) endpoint flavor.         
   </t>
      

	<t>	
       <xref target="RFC9252"/>  describes BGP Overlay services over SRv6 forwarding plane.  For SRv6 Best effort (BE) service, the egress PE signals an SRv6 service SID with ingress PE
       for the BGP service overlay route.  The ingress PE encapsulates the payload packet from the CE in an outer IPv6 header where the desitnation address is the SRv6 Service SID provided by the egress PE. In this
       case the underlay intermediate notes only need to support IPv6 data plane. In order to provide SRv6 service with an SLA from ingress PE to egress PE, the ingress PE colors the overlay service route with a 
       color extended community  <xref target="RFC9012"/> so the overlay color extended community maps to SR Policy <xref target="RFC9012"/>, overlay color to underlay intent mapping.  The ingress PE
       encapsulates the payload paacket from the CE in an outer IPv6 header with SR Policy candidate SID list related to the SLA path bound to the forwarding plane with Binding SID (BSID) set with the 
       SRv6 service SID associated with the overlay service route active segment in the SRH for 128 bit Full SID or SRv6 Compression Next SID carrier uN endpoint function to forward along the static SID list or dynamic SID list path end to end steering.   
   </t>

	<t>	
       SRv6 Prefix SID attribute <xref target="RFC8669"/> is extended by  <xref target="RFC9252"/> to carry the SRv6 L2 VPN and IP VPN Service SIDs and their associated information in BGP NLRI AFI / SAFI.
       SRv6 L3 Service TLV encodes the service SID information for the SRv6 based L3 services providing the equivalent functionality of MPLS service label when received with a Layer 3 Service route as defined in
       BGP/MPLS VPN-IPv4 <xref target="RFC4364"/> and BGP/MPLS VPN-IPv6 <xref target="RFC4659"/>.  Essentially the SRv6 L3 Service TLV encodes the L3 Service SID for SRv6 based services as an MPLS label for 
       SRv6 Programming <xref target="RFC8986"/> endpoint behaviors End.DX4, End.DX6, End.DT4 and End.DT6.  
       SRv6 L2 Service TLV encodes the service SID information for the SRv6 based L2 services providing the equivalent functionality of MPLS service label for an Ethernet VPN (EVPN) Route Types for L2 services as defined in
       BGP/MPLS EVPN <xref target="RFC7432"/>.  Essentially the SRv6 L2 Service TLV encodes the L2 VPN Service SID for SRv6 based services as an MPLS label for 
       SRv6 Programming <xref target="RFC8986"/> endpoint behaviors End.DX2, End.DX2V, End.DX2U, End.DX2M.          
   </t>

	<t>	
      <xref target="RFC9252"/> defines the encoding of the SRv6 SID information.  The SRv6 Service SIDs for a BGP service prefix is carried in the SRv6 Service TLVs of the BGP Prefix SID attribute as described above <xref target="RFC8669"/>.
      BGP services such as IP VPN BGP/MPLS VPN-IPv4 <xref target="RFC4364"/> and BGP/MPLS VPN-IPv6 <xref target="RFC4659"/> where Per VRF SID allocation is used End.DT4 and End.DT6 endpoint behaviors 
      the same SID is shared across multiple NLRIs, thus providing efficient packing. However for BGP services such as Ethernet VPN (EVPN) <xref target="RFC7432"/> and VPLS / H-VPLS where where per-PW 
      SID allocation is required such as for End.DX2 endpoint behavior, each NLRI would have its own unique SID, resulting in inefficient update packing. 
      <xref target="RFC9252"/> defines an efficient method for update packing for cases such as EVPN NLRI using a transposition scheme, where the SRv6 SID Structure Sub-Sub-TLV describes the sizes of the parts
      of the SRv6 SID and indicates the offsets such that the common part locator is encoded into the BGP Prefix SID attribute
      and the variable part Service label encoded into the func / arg field of the SRv6 Service SID is encoded into the NLRI.
   </t>

	<t>	
       This draft describes how to successfully implement end to end inter domain routing over an SRv6 forwarding plane where the L2 VPN EVPN and IP VPN overlay services SRv6 Service SIDs 
       can be stitched end to end.        
   </t>

	<t>	
       <xref target="RFC9252"/> BGP Service Overlay Section 2 last 2 paragraphs talk about the SRv6 data plane broken state and the solution. 
       A BGP speaker receiving a route containing the BGP Prefix-SID attribute with one or more SRv6 service TLVs observes the following rules
       when advertising the received route to other peers:
   </t>

	<t>	
       <xref target="RFC9252"/> Rule-1: BGP Service Overlay Section 2 2nd to last paragraph - Broken state when Next hop is changed.
       If the BGP Next Hop is changed, the TLVs, Sub TLVs, or Sub-Sub-TLVs SHOULD be updated with the locally allocated SRv6 SID information 
       from the SID Manager.  Any received Sub-TLVs and Sub-Sub-TLVs that are unrecognized must be removed. SRv6 summary locators are advertised for all Algo's between domains for reachability inter domain routing.
       When the next hop changes between the inter-as PE for L2 VPN or L3 VPN service route the inter domain loopback propagated however since the next hop changes on the eBGP peering
       the next hop is set to the directly connected eBGP subnet and not the Loopback for the service route and has the locally generated SRv6 Service SID resulting in a broken SRv6 Data Plane.       
   </t>

	<t>	
       <xref target="RFC9252"/> Rule-2: BGP Service Overlay Section 2 last paragraph - Solutoin for propagating L2 VPN and L3 VPN SRv6 Service SID end to end
       If the BGP Next Hop is Unchanged during the advertisement, the SRv6 Service TLVs, including any unrecognized types of of Sub-TLVs and Sub-Sub-TLVs, SHOULD be
       propagated further.  In addition, all Reserved fields in the TLV, Sub-TLV, or Sub-Sub-TLV MUST be propagated Unchanged. 
       When the next hop is unchanged between the inter-as PE for L2 VPN or L3 VPN service route the inter domain Loopback is now propagated and has the SRv6 Service SID 
       propagated resulting in SRv6 Data Plane being intact and working end to end. 
   </t>
   

	</section>
	
   <section anchor="termo" title="Terminology">
	<t>	
	Terminolgoy used in defining the SRv6 Inter Domain Routing specification.  
	</t>
	
	  <t>IDR:  SRv6 Inter Domain Routing End to End</t>
	  
	  <t>NH:  BGP Next Hop</t>

	  <t>NHC:  BGP Next Hop Changed</t>
	  
	  <t>NHU:  BGP Next Hop Unchanged</t>
	  
	  <t>NHS:  BGP Next Hop Self</t>	  
	  	  	  
	  <t>Service SID Preserved:  Service SID is does not change and is propagated</t>

	  <t>Service SID Locally Generated:  Service SID is locally generated by SRv6 SID Manager</t>

	       
 	</section>


    <section anchor="rw" title="Real World SRv6 Compression use Cases for Inter Domain Routing">

      <section anchor="rw-1" title="IPv6 Host Based Networking">
      

	<list style="symbols">
		<t>Traffic Engineering and Carrier Grade Features are not a requirement in the Data Center</t>

	    <t>
		Operators can use white box switches and disaggerated hardware and software with Vanilla IPv6 Only DC Fabric blindly passing the IPv6 Next SID packets.  
	    Massive bandwidth where Multi Petabits of fiber can be thrown at the DC fabric, with the focus on High Bandwidth packet pushing with Ultra simplified fabric.
	    </t>
		
		<t>Steering is initiated from the Data Center host attachment using IGP shortest path leaving the entire fabric 100% Vanilla IPv6.</t>       
    </list>
  
  
  	</section>
  	  
       <section anchor="rw-2" title="Dual Plane MPLS / IPv6 Core Migration">
      

	<list style="symbols">
		<t>Traffic Engineering and Carrier Grade Features are a requirement only in the Data Center.</t>

	    <t>
		Traffic Engineering capabilities in the Data Center, and the intermediate domains follow IGP shortest path blindly forwarding SRv6 Next SID packets.
		</t>
		
		<t>
		Massive scale and resiliency with full carrier grade features in the Data Center.
	    </t>
		
		<t>Steering is initiated from the Data Center host attachment and follows IGP shortest path along the intermediate domains to the egress Data Center or domain.</t>       
		
    </list>  
  
 	</section>

       <section anchor="rw-3" title="SRv6 Next SID End to End">
      

	<list style="symbols">
		<t>Traffic Engineering and Carrier Grade Features are a requirement end to end across all domains.</t>
		
	    <t>
		Full feature richness.
	    </t>
		
		<t>Steering is initiated from the Data Center host attachment with SR Policy End to End</t>       

    </list>  
  
 	</section>
  
  </section>

	
    <section anchor="IANA" title="IANA Considerations">
    <t> There are not any IANA considerations.
    </t>
	
    </section>
    
    <section anchor="security" title="Security Considerations">
	<t>
   No new extensions are defined in this document.  As such, no new security issues are raised beyond those
   that already exist in BGP-4 and use of MP-BGP for IPv6.
   </t>
	<t>
   The security features of BGP and corresponding security policy
   defined in the ISP domain are applicable.
   </t>
	<t>
   For the inter-AS distribution of IPv6 prefixes according to case (a) of
   Section 4 of this document, no new security issues are raised beyond
   those that already exist in the use of eBGP for IPv6 <xref target="RFC2545"/>.
   </t>
	</section>
	
		
	<section anchor="ack" title="Acknowledgments">
		<t></t> 
	</section>
  </middle>
  <back>
    <references title="Normative References">
      &RFC2119;
	  &RFC2545;
	  &RFC4291;
	  &RFC4364;
	  &RFC4760;
	  &RFC5492;
	  &RFC8174;
	  &RFC8277;
	  &RFC8950;
	  &RFC1812;
	  &RFC3031;
	  &RFC3032;
	  &RFC3036;
	  &RFC3107;	  
	  &RFC3270;	  
	  &RFC2460;
	  &RFC4443;
	  &RFC4029;	  
	  &RFC4271;	  
	  &RFC4182;	 
	  &RFC1122;	
	  &RFC5036;	
	  &RFC8660;		  	  	  
	  &RFC8986;	
	  &RFC8754;	
	  &RFC3209;	
	  &RFC8402;
	  &RFC7432;
	  &RFC9252;
	  &RFC9256;	  
	  &RFC7938;
	  &RFC9313;	   
	  &RFC9012;	
	  &RFC8669;		
	  &RFC8200;	  	  
	  &I-D.draft-ietf-idr-segment-routing-te-policy;
	  &I-D.draft-ietf-idr-bgp-sr-segtypes-ext;	
      &I-D.ietf-spring-srv6-srh-compression;	  	
    </references>
	<references title="Informative References">
	&DYN-CAP;
	&RFC4659;
	&RFC4684;
	&RFC4798;
	&RFC4925;
	&RFC8126;
	&RFC5549;
	&RFC5565;
	&RFC6074;
	&RFC6513;
	&RFC6514;
	&I-D.draft-mapathak-interas-ab;
    </references>
    <!-- references title="Informative References">
    </references -->
 
 	<section anchor="Appendix" title="APPENDIX-A">

      <t>
       SRv6 Compression <xref target="I-D.ietf-spring-srv6-srh-compression"/> C-SID Next C-SID (uSID) endpoint flavor Inter Domain Routing development work is all contained in GitHub link below.
      </t>
      <t>
       https://github.com/segmentrouting/srv6-labs/tree/main/3-srv6-dc-case-studies
      </t>       
         
       
  </section>	
        
  </back>
</rfc>
