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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8754 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY RFC8986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY RFC6437 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC6438 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6438.xml">
<!ENTITY I-D.ietf-teas-ietf-network-slices SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-ietf-network-slices.xml">
<!ENTITY I-D.bestbar-teas-ns-packet SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.bestbar-teas-ns-packet.xml">
]>


<rfc ipr="trust200902" docName="draft-filsfils-spring-srv6-stateless-slice-id-07" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <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>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author initials="R." surname="Rokui" fullname="Reza Rokui">
      <organization>Ciena</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>rrokui@ciena.com</email>
      </address>
    </author>

    <date year="2023" month="January" day="29"/>

    <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"><name>Introduction</name>

<t>SRv6 Network Programming<xref target="RFC8986"/> 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>

<t>The definition of network slicing in the context of networks built from IETF technologies is specified in <xref target="I-D.ietf-teas-ietf-network-slices"/>.  It defines the term "IETF Network Slice" and establishes the general principles of network slicing in the IETF context. It also discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and how abstract requests can be mapped to more specific technologies. The document also discusses related considerations with monitoring and security.</t>

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

<t>The Slice Identifier (SLID) is a value encoded within the IPv6 packet that allows transit routers to process the packet according to network slice-based policy. An example of slice-based policy that can be enforced using the SLID is described in <xref target="sec-bandwidth"/>.</t>

<t>The SLID may identify a unique IETF network slice or a group of slices that share the same policy. For example, a SLID may identify a slice aggregate <xref target="I-D.bestbar-teas-ns-packet"/>.</t>

<t>This document proposes to encode the SLID in a portion of the IPv6 Flow Label.</t>

<t>The precise SLID location within the IPv6 Flow Label and the number of bits used to encode it are governed by local policy and uniform within the SR domain.</t>

</section>
<section anchor="sec-spi"><name>SLID Presence Indicator</name>

<t>The SLID Presence Indicator (SPI) is set by a SLID-capable IPv6 source node to inform transit routers that a SLID is encoded in the packet.</t>

<t>The SPI is encoded as a specific bit or range of values in the Traffic Class field of the IPv6 header.</t>

<t>The encoding of the SPI in the IPv6 header is governed by local policy and uniform within the SR domain.</t>

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

<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 in the outer IPv6 header.</t>
  <t>Write the SLID in the outer IPv6 header.</t>
</list></t>

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

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

<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"><name>Bandwidth-Allocation Slice</name>

<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"><name>Backward Compatibility</name>

<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 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"><name>Acknowledgements</name>

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

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC8402;
&RFC8754;
&RFC8986;


    </references>

    <references title='Informative References'>

&RFC6437;
&RFC6438;
&I-D.ietf-teas-ietf-network-slices;
&I-D.bestbar-teas-ns-packet;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA6VYTZPbuBG961egdi+bKlFxOY7tnUt2PLOzVmxvtKNJXKlU
DhAISohIgAuAkmXX/Pd93QApSiOn8nGYKpEE0N2vX79uTFEUk2hira/EMsqo
ax2CkLYUSyVruaq1+FnHvfNbsayN0mJeahtNZZSMxllROS+W97uXE7laeb27
4ofRSZc2TUqnrGxgsfSyikVl6kB/RWi9sesi+N3LIvRHFIGOKExZPHs1KfHy
aoJj9Nr5w5UIsZwoZ4O2oQtXIvpOTyam9fwzxOfPnn3/7PlEei2vxE/aai/r
CQWz9q5r4ezifv7zT5OtPuBleSXmNmpvdSxuybHJpDVX4h/RqakIzkevq4Bf
h4Z+/HMykV3cOH81EcVECGNh/2Ym7nIweJVivKlh3gKE0Rfn19Kaz4wGVpig
nFgeQtQNDMytmmGNd5QTXZroPB51I019JVT1g6LlM+UavFWus5GAeKPrtema
kS93MzJdDn7ceWmVM6F/+7/7UCmccNkNNqJHXizghWykN3XtBlcW4JU7ef+f
OJOttyrtu+zAspXGjuy/m4l7+VkOpt/JBi727/4Ls2Hrseey0RtpZSlHVm9n
4m/uoP1g9hZmdD28PLWL3NXDGb29knfMdrTjhxVWzJT8tzbvEanbdmawea8/
y+HVeaTajmx5T6sQG95+JbbJxDrfYPsO9SfE/d3N6xfPnvc/X/3xRf/z+9cv
r1CCtjpb/vLFH14df77GmqIohFyF6KVCqT1sQE0IQ9dAKkSpK2M1hEiEE1EK
vSgFV3csQNEJqTZG77SwWahIMKAjYm/ihvVolow1pixr6MO3VOfelZ1iNZqw
ZPUqt/Bu7WXT4IAvX3JAj48CyMBsEHGjhYKcsG1XCbfTvpaHkIx1tuRH4dpo
mgw3ubjSCKmtkcwS2UIo8AvRAn6brADMx0f4eR1y7LwufQO6j49TIcESQwJV
pI2ilWqrI4DxGv4p2YauBlglizI52kofycn0mxaLf7kOAnfAKxmFSW7jKFox
eDQTD3h0HUyJ+QLYbLREXLTcebM2lo2sDsiOdaXuLQz7OVOUTR0iR0I5urx0
9jTxQXmzOks9onMlpRT7uR0Ic9qGcghPfcaGMdgptMtHBJyCJGlL79lT17ra
rQ8cDx3/i1v+/tZU1VL7ncA3ow59RJl7Uzx0IbGF/B34es7Nvm8OBGIkdEq+
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
iVWHey8EhXginD3v3b8BHaHn4ccXAAA=

-->

</rfc>

