<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC8402 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8754 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY I-D.ietf-spring-srv6-network-programming SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-network-programming.xml">
<!ENTITY RFC6437 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC6438 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6438.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-filsfils-spring-srv6-stateless-slice-id-01" category="std">

  <front>
    <title abbrev="SRv6 Stateless Slice Identification">Stateless and Scalable Network Slice Identification for SRv6</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="F." surname="Clad" fullname="Francois Clad" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>France</country>
        </postal>
        <email>fclad@cisco.com</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>
    <author initials="K." surname="Raza" fullname="Kamran Raza">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>skraza@cisco.com</email>
      </address>
    </author>

    <date year="2020" month="July" day="13"/>

    <area>General</area>
    <workgroup>SPRING</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines a stateless and scalable solution to achieve network slicing with SRv6.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>SRv6 Network Programming<xref target="I-D.ietf-spring-srv6-network-programming"/> enables the creation of overlays with underlay optimization to be deployed in an SR domain<xref target="RFC8402"/>.</t>

<t>As defined in <xref target="RFC8754"/>, all inter-domain packets are encapsulated for the part of the packet journey that is within the SR domain. The outer IPv6 header is originated by a node of the SR domain and is destined to a node of the SR domain.</t>

<t>This document describes a stateless encoding of slice identification in the outer IPv6 header of an SR domain. The slice identification is independent of topology and the QoS/DiffServ policy of the network, thus enabling scalable network slicing for SRv6 overlays.</t>

</section>
<section anchor="sec-slid" title="Slice Identifier">

<t>Each network slice in an SR domain is uniquely identified by an 8-bit Slice Identifier (SLID).</t>

</section>
<section anchor="sec-ingress" title="Ingress PE SLID Assignment">

<t>When an ingress PE receives a packet that traverses the SR domain, it encapsulates the packet in an outer IPv6 header and optional SRH as defined in <xref target="RFC8754"/>. The ingress PE MAY also classify the packet into a slice and set the slice identifier as follows:</t>

<t><list style="symbols">
  <t>Set the SPI bit (SLID Presence Indicator) in the Traffic Class field of the outer IPv6 header.</t>
  <t>Write this SLID in the 8 most significant bits of the Flow Label field of the outer IPv6 header. The remaining 12 bits of the Flow Label field were set as described in section 5.5 of <xref target="RFC8754"/> for inter-domain packets.</t>
</list></t>

<t>The slice classification method is outside the scope of this document.</t>

<t>The choice of the SPI bit from within the IPv6 Traffic Class field is a domain-wide configuration and is outside the scope of this document.</t>

</section>
<section anchor="sec-forwarding" title="Per-Slice Forwarding">

<t>Any router within the SR domain that forwards a packet with SPI bit set uses the SLID to select a slice and apply per-slice policies.</t>

<t>There are many different policies that could define a slice for a particular application or service. The most basic of these is bandwidth-allocation, an implementation complying with this specification SHOULD support the bandwidth-allocation slice as defined in the next section.</t>

</section>
<section anchor="sec-bandwidth" title="Bandwidth-Allocation Slice">

<t>A per-slice policy is configured at each interface of each router in the SR domain, with one traffic shaper per SLID. The bitrate of each shaper is configured to reflect the bandwidth allocation of the per-slice policy.</t>

<t>If shapers are not available, or desirable, an implementation MAY configure one scheduling queue per SLID with a guaranteed bandwidth equal to the bandwidth-allocation for the slice. This option allows a slice to consume more bandwidth than its allocation when available.</t>

<t>Per-slice shapers or queues effectively provides a virtual port per slice. This solution MAY be complemented with a per-virtual-port hierarchical DiffServ policy. Within the context of one specific slice, packets are further classified into children DiffServ queues which hang from the virtual port. The DSCP value in the IPv6 header SHOULD be used for queue selection.</t>

</section>
<section anchor="sec-backward-compatibility" title="Backward Compatibility">

<t>The Flow Label usage described in this document is consistent with <xref target="RFC6437"/> and <xref target="RFC6438"/>.</t>

<t>PE routers that do not set the SPI bit do not enable the SLID semantic of the Flow Label bits. Hence, SLID-aware routers would not attempt to classify these packets into a slice.</t>

<t>Any router that does not process the SPI nor the SLID forwards packets as usual.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>The authors would like to thank Darren Dukes, Ketan Talaulikar, Jisu Bhattacharya, John Bettink, and Aman Manot for their insightful feedback on this document.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC8402;
&RFC8754;
&I-D.ietf-spring-srv6-network-programming;


    </references>

    <references title='Informative References'>

&RFC6437;
&RFC6438;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAORvDF8AA51YUZPbthF+56/Ymbw0M6LquLZz0VPPd7lYtZMqljueTqcP
EAhKqCiAAUApys39934LgBSlU1q3DzcjgeDut7vffru6siyLoEOjZrQMIqhG
eU/CVLSUohGrRtFPKhys29Ky0VLRvFIm6FpLEbQ1VFtHy4/7N4VYrZzaz+KX
kaVrLxWVlUbs4LFyog5lrRvPf6VvnTbr0rv9m9L3JkrPJkpdlS++KSoczgqY
UWvrjjPyoSoK3boZBdf58PLFi+9evCyEU2JGPyijnGgKBr92tmsBbvFx/tMP
xVYdcVjNaG6CckaF8p6BFEWrZ/SPYOWEvHXBqdrj03HHH/5ZFKILG+tmBZUF
kTZ+RndTesjgcZRiumvg3iDo0RPr1sLo32L0uKG9tLQ8+qB2cDA3coo7znIN
VKWDdfiqdkI3M5L1nyVfn0q7w6m0nQkc+FvVrHW3G2F5mLLrasDx4ISRVvv+
9P/HUEtYuA4jOlEjFAugEDvhdNPYAcoCPLJn518CJntvZXrvOoBlK7QZ+X8/
pY/iNzG4fi92gNif/Q9u/dbhnetO74QRlSiKwli3g7E9OEn08eHu5tWLl/3H
b1+/4o/z8n6qVajPyG1SS5Wts2sndjs8mIHHpr6w9+bVn749fbzBnbIsSax8
cEKCr582qC+6qduhv6hStTYK3Uv+rJN938neNl3s2mBJyI1We0UZCnGXAQYd
dNjEJp4mZztdVY0qiq+4WZytOhlbuIh93kvD4hTH4+OXRvz0RMowLk9ho0ii
aSM4W5PdK9eIo09oOlPFr2TboHe5fBzDSiHmtrFHVaH6iBXAkQ4U0Dw+5nI8
PSGQW5+TE++lZ6jP09OERNPgDDJQphepFXKrAjLnFPBJ0fquQTarKHUMtBUu
MMj0mS/Tv2wHGTniSATSCTZM8Y0B0ZQ+4avt4IrmCyRvowTi4uvW6bU20cnq
iPIZW6new/B+LCWXW/kQI+EiXr86fc4ML51eXXAD0dmKa473o8iSPhf3HMJz
zHhhnOwU2nUTHlZQJGX4PCK1rW3s+hjjYfM/2+Uf73VdL5XbE55peewjyqyZ
4EvnE1sY70DoS/L202ggEDIB5p4PIeB//MoryYOleiqK79EKZ5bUJZk4is7o
XzrVHIcAc7EM3ZQrHZ77+MPyw/z+6wRgbtaOM774nviUbr3XaxNLk6DodAFo
Pm9UdK5PrzglFTSBi5f5FnkGDUCUPrfPAHZCQDMirh8TNQX2vKBcC+4ua0QD
U+9I/F7HpFqP0P14+3c0kbeEKYGw6uO5v8jSlNWoRRH9JVkYgUf1MBwOnlWO
lvnecjEnTm/MJnRG+Thb56Zihln3dU/ST5jgYB1PO+CCyabqWfQs3CkcfHY6
KDxGaaPpbOaGdtYH4vJEEqNCcO97Uw8ASB/ESjX/zUVMk+NhYpiZ37z8z3YO
CnLDyYmJT90aUw92xEZ6PX3NL48qEdl+Tbpi+/cpzlXp+3GnsMNEHQFkj/yn
akjbZhkZyUa2IzeWDfUikwtSO7sb61yM/VoRNPM2ASwP7FBaU+t15xKgrGpf
hAadtEC0qdUerDsIF/Ur9VA9HKCNbs0R20ysyjUxTh2U3xg1Vpp+OUQuRzf0
F5MEZPbQThnOOC3aFrrQAlk6ixqmVa4D6sqjZCeAqILM4QCk6u8kINgskKnU
cINpLq+I00ZLdLKLfvo64pmHXuJeYlpk7Up4JD8VyitO6wr4kPSwKTHnbHp3
EuVl1zaK05rMYcFBDMP8j4n3rZIn4izf/fVvH+7Jd22L1Tim5JrxPi1n8pGk
/NfQkzmV8u3w+u3p9VTbVNDBPtfzMr9HDq+nEtwgi4qFPDZELRJh40mmwSUF
JilUi4yHTFu/EfDCnmK5U2bBBFD1ZC5fOvcOYuBHQmTGWWZolJl+ZbiIA8mY
19lq2jqMBb/22EJ5xk241FAE7dK357VjAR6gxHi83Kiqi6MSM6tTQ0QpZEHr
TmArDopn2ABV/dJB/BHJ79a234AifM4ON26b2jhK98BdWAEkj8YFM904IeA7
IuD96mT3EGdeHzESshhy1OcFnmMo2ALQQpJ3ZO45Z/dQDfa71y4w/shOjncM
clh8OVcrlegeU4gM5JxwXbKRMhrBfuyEw5qMbYMuFpQpfT6pCiINzG5eXDn7
uW8SgsnZQll3Dm+4QZVjf3CyNrqpIAwnPznaA9xvCDlbJ8Vlf+NQE0fvl3cL
2oumUzSW4zzcc+sibqhZ2mMTLZKWjRpSblkP6Q7pQWVWutHhODRjeljK8cOn
NCJG46zzYq3OR9iZjOfG8Rq/ukwW3DjU+LcOhhoLav/9Ji7vvAHFFs5iWdnY
If5iQ8jH6SfFSbI9RjB2DHll8vJAntI7Xigm8XIpDlyk3tshqnLsxoCfiG2I
tB5tOV4NxR0vOtOz8ZMxo5ZsCYyVvDj1yE1uqYh1mEcDZbB3epQ61edWbo09
NKpaR+r6lPv0X4kebaO3KvWwMFu6Fy6Sqtsq/MB9rwJ67xN2Z2jDVrgJ/UX7
jt4CYICyCXcUOLIbQ29VwG+M7SRW4xYJpB8Fo88CoFlNsSJtQt1hgYGMMDvI
msuJ/W9tmDl0XRIAAA==

-->

</rfc>

