<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY SRH PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-6man-segment-routing-header.xml">
<!ENTITY NET-PGM PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-spring-srv6-network-programming.xml">
<!ENTITY NET-PGM-ILLUSTRATION PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.filsfils-spring-srv6-net-pgm-illustration.xml">
<!ENTITY NET-PGM-EXTENSION PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.filsfils-spring-net-pgm-extension-srv6-usid.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?> <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes"?> <!-- sort the reference entries alphabetically -->
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?> <!-- control vertical white space -->
<?rfc subcompact="no"?> <!-- keep one blank line between list items -->
<?rfc autobreaks="yes"?>
<rfc category="info" docName="draft-filsfils-spring-net-pgm-srv6-usid-illus-00" ipr="trust200902">
 <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
    or pre5378Trust200902  -->

    <front>

    	<title>NET-PGM extension: SRv6 uSID illustration</title>

    	<author fullname="Clarence Filsfils" initials="C" surname="Filsfils" role="editor">
    		<organization>Cisco Systems, Inc.</organization>
    		<address>
    			<postal>
    				<street></street>
    				<city></city>
    				<region></region>
    				<code></code>
    				<country>Belgium</country>
    			</postal>
    			<phone></phone>
    			<email>cf@cisco.com</email>
    		</address>
    	</author>
        <author fullname="Pablo Camarillo Garvia" initials="P" surname="Camarillo" role="editor" >
            <organization>Cisco Systems, Inc.</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>Spain</country>
                </postal>
                <phone></phone>
                <email>pcamaril@cisco.com</email>
            </address>
        </author>
        <author fullname="Dennis Cai" initials="D" surname="Cai">
            <organization>Alibaba</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>China</country>
                </postal>
                <phone></phone>
                <email>d.cai@alibaba-inc.com</email>
            </address>
        </author>
    	<author fullname="Daniel Voyer" initials="D" surname="Voyer">
    		<organization>Bell Canada</organization>
    		<address>
    			<postal>
    				<street></street>
    				<city></city>
    				<region></region>
    				<code></code>
    				<country>Canada</country>
    			</postal>
    			<phone></phone>
    			<email>daniel.voyer@bell.ca</email>
    		</address>
    	</author>
    	<author fullname="Israel Meilik" initials="I" surname="Meilik">
    		<organization>Broadcom</organization>
    		<address>
    			<postal>
    				<street></street>
    				<city></city>
    				<region></region>
    				<code></code>
    				<country>Israel</country>
    			</postal>
    			<phone></phone>
    			<email>israel.meilik@broadcom.com</email>
    		</address>
    	</author> 
        <author fullname="Keyur Patel" initials="K" surname="Patel">
            <organization>Arrcus, Inc.</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>United States of America</country>
                </postal>
                <phone></phone>
                <email>keyur@arrcus.com</email>
            </address>
        </author>
    	<author fullname="Wim Henderickx" initials="W" surname="Henderickx">
    		<organization>Nokia</organization>
    		<address>
    			<postal>
    				<street></street>
    				<city></city>
    				<region></region>
    				<code></code>
    				<country>Belgium</country>
    			</postal>
    			<phone></phone>
    			<email>wim.henderickx@nokia.com</email>
    		</address>
    	</author>
    	<author fullname="Prem Jonnalagadda" initials="P" surname="Jonnalagadda">
    		<organization>Barefoot Networks</organization>
    		<address>
    			<postal>
    				<street></street>
    				<city></city>
    				<region></region>
    				<code></code>
    				<country>United States of America</country>
    			</postal>
    			<phone></phone>
    			<email>prem@barefootnetworks.com</email>
    		</address>
    	</author>
        <author fullname="David Melman" initials="D" surname="Melman">
            <organization>Marvell</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>Israel</country>
                </postal>
                <phone></phone>
                <email>davidme@marvell.com</email>
            </address>
        </author>
    	<date />

    	<area>General</area>
    	<workgroup>SPRING</workgroup>

    	<keyword>SRv6</keyword>
    	<keyword>Segment Routing</keyword>
    	<keyword>IPv6 Segment Routing</keyword>
    	<keyword>Network Programming</keyword>

     <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->
        <abstract>
        	<t>This document illustrates the SRv6 &quot;micro segment&quot; (SRv6 uSID or uSID for short) instruction.</t>
        </abstract>
    </front>

    <middle>

    	<section title="Introduction">
    		<t>SRv6 Network Programming <xref target="I-D.ietf-spring-srv6-network-programming" /> defines a mechanism to build a network program with topological and service segments. It leverages the SRH <xref target="I-D.ietf-6man-segment-routing-header" /> to encode a network program together with optional metadata shared among the different SIDs.</t>
        	<t><xref target="I-D.filsfils-spring-net-pgm-extension-srv6-usid" /> draft extends SRv6 Network Programming with a new type of SRv6 SID behavior: SRv6 uN. This document illustrates it.</t>
    	</section>

    	<section title="Illustration">
    		<t>This section extends the illustrations for SRv6 Network Programming <xref target="I-D.filsfils-spring-srv6-net-pgm-illustration" /> to cover uSID. The reference topology is the same with the addition of link 6-8.</t>

            <section title="Reference diagram">
                <t>Nodes 1 to 8 are considered within the network domain.</t>
                <t>Nodes X and Y are outside the domain.</t>
                <t>Nodes 1 and 8 act as PE respectively to nodes X and Y.</t>
                <t>All the links within the domain have the same IGP metric. The IGP-metric shortest-path from 1 to 8 is 1-2-7-8 while the latency-metric shortest-path from 1 to 8 is 1-2-3-4-5-6-7-8.</t>
                <figure anchor="illustration" title="Reference topology" align="center"><artwork align="center"><![CDATA[
            3------4---5
            |       \ /
            |        6 
            |       / \
       1--- 2------7---8
      /                 \
     X                   Y 
Tenant100            Tenant100 with
                       IPv4 20/8 
                ]]></artwork></figure>
            </section>

			<section title="SRv6 overlay with underlay optimization">
				<t>Let us illustrate a low-latency SR-L3VPN service delivered to a packet (X,Y).</t>

				<t>PE 1 encapsulates (X, Y) in an outer IPv6 header with DA = 2001:db8:0300:0500:0700:: and SRH (B:8:D0::; SL=1; NH=4). Leveraging the illustration conventions from SRv6 network programming, the following resulting packet leaves node 1 in the direction of node 3:
                    <list>
                        <t>(A1::, 2001:db8:0300:0500:0700::)(B:8:D0::; SL=1; NH=4)(X, Y)</t>
                    </list>
                </t>

                <t>2001:db8:0300:0500:0700:: is a uSID carrier encoding a source routed stateless path via node 3 then 5 then 7.</t>
                <t>B:8:D0:: is an End.DT4 SID instantiated at node 8.</t>

				<t>1 sends this packet to 2, as 2 is on the shortest-path to 2001:db8:0300::/48 advertised by 3.</t>
				
				<t>When 2 receives the packet, 2 performs a regular IPv6 FIB lookup. It finds a FIB entry for 2001:db8:0300::/48 and forwards along the shortest path to 3.</t>

				<t>When 3 receives the packet, 3 matches 2001:db8:0300::/48 in its &quot;My SID Table&quot; and executes the uN behavior. The updated DA becomes 2001:db8:0500:0700::. Node 3 then performs a lookup on the updated DA and forwards the packet to 5 along the shortest path to 2001:db8:0500::/48.</t>

                <t>The following packet leaves node 3:
                    <list>
                        <t>(A1::, 2001:db8:0500:0700::)(B:8:D0::; SL=1; NH=4)(X, Y)</t>
                    </list>
                </t>

				<t>4 forwards along the shortest path to 2001:db8:0500::/48.</t>

				<t>When 5 receives the packet, 5 matches 2001:db8:0500::/48 in its &quot;My SID Table&quot; and executes the uN behavior. The updated DA becomes 2001:db8:0700::. 5 performs a lookup on the updated DA and forwards the packet to 7 along the shortest path to 2001:db8:0700::/48.</t>

                <t>The following packet leaves node 5:
                    <list>
                        <t>(A1::, 2001:db8:0700::)(B:8:D0::; SL=1; NH=4)(X, Y)</t>
                    </list>
                </t>

				<t>6 forwards along the shortest path to 2001:db8:0700::/48.</t>

				<t>When 7 receives the packet, 7 matches 2001:db8:0700::/48 in its &quot;My SID Table&quot; and finds the bound function uN. As a result, Node 7 executes the &quot;End with PSP and USD support&quot; pseudocode, decrementing the SL value in the SRH, and updating the DA with the next SID B:8:D0::. Since the SL value is zero the SRH is removed. Node 7 performs a lookup on the updated DA and forwards along the shortest path.</t>

                <t>The following packet leaves node 7:
                    <list>
                        <t>(A1::, B:8:D0::)(X, Y)</t>
                    </list>
                </t>

				<t>8 receives it, performs the End.DT4 function and sends the IP packet (X, Y) towards its VPN destination.</t>

				<t>This example illustrates the benefits highlighted in the next section.</t>
			</section>
    	</section>

        <section anchor="Acknowledgements" title="Acknowledgements">
            <t>The authors would like to acknowledge Francois Clad, Peter Psenak, Ketan Talaulikar, Jakub Horn, Swadesh Agrawal, Zafar Ali, Darren Dukes, Kiran Sadshiran, Junaid Israr, Lakshmanan Srikanth, Asif Islam, Saleem Hafeez, Michael MacKenzie, Sushek Shekar, YuanChao Su, Alexander Preusche, Alberto Donzelli, Miya Kohno, David Smith, Ianik Semco, Bertrand Duvivier, Frederic Trate, Kris Michielsen, Eyal Dagan, Eli Stein, Ofer Iny, Elad Naor, Aviad Behar, Joseph Chin.</t>
        </section>

        <section title="Contributors">
            <t>Jisu Bhattacharyaa<vspace blankLines="0" />
            Cisco Systems, Inc.<vspace blankLines="0" />
            United States of America</t>
            <t>Email: jisu@cisco.com<vspace blankLines="2" /></t>

            <t>Kamran Raza<vspace blankLines="0" />
            Cisco Systems, Inc.<vspace blankLines="0" />
            Canada</t>
            <t>Email: skraza@cisco.com<vspace blankLines="2" /></t>

            <t>John Bettink<vspace blankLines="0" />
            Cisco Systems, Inc.<vspace blankLines="0" />
            United States of America</t>
            <t>Email: jbettink@cisco.com<vspace blankLines="2" /></t>

            <t>Tomonobu Niwa<vspace blankLines="0" />
            KDDI<vspace blankLines="0" />
            Japan</t>
            <t>Email: to-niwa@kddi.com<vspace blankLines="2" /></t>

            <t>Luay Jalil<vspace blankLines="0" />
            Verizon<vspace blankLines="0" />
            United States of America</t>
            <t>Email: luay.jalil@one.verizon.com<vspace blankLines="2" /></t>

            <t>Zhichun Jiang<vspace blankLines="0" />
            Tencent<vspace blankLines="0" />
            China</t>
            <t>Email: zcjiang@tencent.com<vspace blankLines="2" /></t>

            <t>Ahmed Shawky<vspace blankLines="0" />
            Saudi Telecom Company<vspace blankLines="0" />
            Saudi Arabia</t>
            <t>Email: ashawky@stc.com.sa<vspace blankLines="2" /></t> 

            <t>Nic Leymann<vspace blankLines="0" />
            Deutsche Telekom<vspace blankLines="0" />
            Germany</t>
            <t>Email: N.Leymann@telekom.de<vspace blankLines="2" /></t> 

            <t>Dirk Steinberg<vspace blankLines="0" />
            Lapishills Consulting Limited<vspace blankLines="0" />
            Cyprus</t>
            <t>Email: dirk@lapishills.com<vspace blankLines="2" /></t> 

            <t>Shawn Zandi<vspace blankLines="0" />
            LinkedIn<vspace blankLines="0" />
            United States of America</t>
            <t>Email: szandi@linkedin.com<vspace blankLines="2" /></t> 

            <t>Gaurav Dawra<vspace blankLines="0" />
            LinkedIn<vspace blankLines="0" />
            United States of America</t>
            <t>Email: gdawra@linkedin.com<vspace blankLines="2" /></t> 

            <t>Jim Uttaro<vspace blankLines="0" />
            AT&amp;T<vspace blankLines="0" />
            United States of America</t>
            <t>Email: ju1738@att.com<vspace blankLines="2" /></t> 

            <t>Ning So<vspace blankLines="0" />
            Reliance<vspace blankLines="0" />
            United States of America</t>
            <t>Email: Ning.So@ril.com<vspace blankLines="2" /></t> 

            <t>Michael Fiumano<vspace blankLines="0" />
            Sprint<vspace blankLines="0" />
            United States of America</t>
            <t>Email: michael.f.fiumano@sprint.com<vspace blankLines="2" /></t> 

            <t>Mazen Khaddam<vspace blankLines="0" />
            Cox<vspace blankLines="0" />
            United States of America</t>
            <t>Email: Mazen.Khaddam@cox.com<vspace blankLines="2" /></t> 

            <t>Jichun Ma<vspace blankLines="0" />
            China Unicom<vspace blankLines="0" />
            China</t>
            <t>Email: majc16@chinaunicom.cn<vspace blankLines="2" /></t> 

            <t>Satoru Matsushima<vspace blankLines="0" />
            Softbank<vspace blankLines="0" />
            Japan</t>
            <t>Email: satoru.matsushima@g.softbank.co.jp<vspace blankLines="2" /></t> 

            <t>Francis Ferguson<vspace blankLines="0" />
            CenturyLink<vspace blankLines="0" />
            United States of America</t>
            <t>Email: Francis.Ferguson@centurylink.com<vspace blankLines="2" /></t> 

            <t>Takuya Miyasaka<vspace blankLines="0" />
            KDDI<vspace blankLines="0" />
            Japan</t>
            <t>Email: ta-miyasaka@kddi.com<vspace blankLines="2" /></t> 

            <t>Kentaro Ebisawa<vspace blankLines="0" />
            Toyota Motor Corporation<vspace blankLines="0" />
            Japan</t>
            <t>Email: ebisawa@toyota-tokyo.tech<vspace blankLines="2" /></t> 

            <t>Yukito Ueno<vspace blankLines="0" />
            NTT Communications Corporation<vspace blankLines="0" />
            Japan</t>
            <t>Email: yukito.ueno@ntt.com<vspace blankLines="2" /></t> 
        </section>

    </middle>
	<back>
        <references title="References">
            &NET-PGM-ILLUSTRATION;
            &SRH;
            &NET-PGM;
            &NET-PGM-EXTENSION;
        </references>
	</back>
</rfc>
