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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!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 RFC8986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY I-D.ietf-spring-segment-routing-policy SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-segment-routing-policy.xml">
<!ENTITY I-D.ietf-lsr-isis-srv6-extensions SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-isis-srv6-extensions.xml">
<!ENTITY I-D.ietf-bess-srv6-services SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-srv6-services.xml">
<!ENTITY I-D.ietf-idr-bgpls-srv6-ext SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-bgpls-srv6-ext.xml">
<!ENTITY I-D.ietf-spring-sr-service-programming SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-sr-service-programming.xml">
<!ENTITY I-D.ietf-6man-spring-srv6-oam SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-6man-spring-srv6-oam.xml">
<!ENTITY I-D.ietf-lsr-flex-algo SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-flex-algo.xml">
<!ENTITY I-D.ietf-rtgwg-segment-routing-ti-lfa SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-rtgwg-segment-routing-ti-lfa.xml">
]>

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

<rfc ipr="trust200902" docName="draft-ietf-spring-compression-requirement-02" category="info">

  <front>
    <title abbrev="SRCOMP Requirements">Compressed SRv6 SID List Requirements</title>

    <author initials="W." surname="Cheng" fullname="Weiqiang Cheng">
      <organization>China Mobile</organization>
      <address>
        <email>chengweiqiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="C." surname="Xie" fullname="Chongfeng Xie">
      <organization>China Telecom</organization>
      <address>
        <email>xiechf@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>Juniper</organization>
      <address>
        <email>rbonica@juniper.net</email>
      </address>
    </author>
    <author initials="D." surname="Dukes" fullname="Darren Dukes">
      <organization>Cisco Systems</organization>
      <address>
        <email>ddukes@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Li" fullname="Cheng Li">
      <organization>Huawei</organization>
      <address>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Shaofu" fullname="Peng Shaofu">
      <organization>ZTE</organization>
      <address>
        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>
    <author initials="W." surname="Henderickx" fullname="Wim Henderickx">
      <organization>Nokia</organization>
      <address>
        <email>wim.henderickx@nokia.com</email>
      </address>
    </author>

    <date year="2022" month="September" day="27"/>

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

    <abstract>


<t>This document specifies requirements for solutions to compress SRv6 SID lists.</t>



    </abstract>


  </front>

  <middle>


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

<t>The SPRING working group defined SRv6, with <xref target="RFC8402"/> describing how the Segment Routing (SR) architecture is instantiated on two data-planes: SR over MPLS (SR-MPLS) and SR over IPv6 (SRv6). SRv6 uses a routing header called the SR Header (SRH) <xref target="RFC8754"/> and defines SRv6 SID behaviors and a registry for identifying them in <xref target="RFC8986"/>. SRv6 is a proposed standard and is deployed today.</t>

<t>The SPRING working group has observed that some use cases, such as strict path TE, may require long SRv6 SID lists. There are several proposed methods to reduce the resulting SRv6 encapsulation size by compressing the SID list.</t>

<t>The SPRING working group formed a design team to define requirements for, and analyze proposals to, compress SRv6 SID lists.</t>

<t>It is a goal of the design team to identify solutions to SRv6 SID list compression that are based on the SRv6 standards. As such, this document provides requirements for SRv6 SID list compression solutions that utilize the existing SRv6 data plane and control plane.</t>

<t>It is also a goal of the design team to consider proposals that are not based on the SRv6 data plane and control plane. As such, this document includes requirements to evaluate whether a compression proposal provides all the functionality of SRv6 (section "SRv6 Functionality") in addition to satisfying compression specific requirements.</t>

<t>For each requirement, a description, rationale and metrics are described.</t>

<t>The design team will produce a separate document to analyze the proposals.</t>

<t>This document is a draft; additional requirements are under review, additional requirements will be added, and current requirements may change. Appendix A contains a subset of requirements without unanimous consensus.  Additional requirements without unanimous consensus are not in the appendix.</t>

</section>
<section anchor="conventions-used-in-this-document" title="Conventions used in this document">

<section anchor="requirements-language" title="Requirements Language">

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="terminology" title="Terminology">

<t>SR: Segment Routing</t>

<t>SRH: Segment Routing Header</t>

<t>MPLS: Multiprotocol Label Switching</t>

<t>SR-MPLS: Segment Routing over MPLS data plane</t>

<t>SID: Segment Identifier</t>

<t>SRv6: Segment Routing over IPv6</t>

<t>SRv6 SID List: A list of SRv6 SIDs</t>

<t>Compression proposal: A proposal to compress SRv6 SID lists</t>

<t>SRv6 base: SRv6 as defined in <xref target="RFC8402"/>, <xref target="RFC8754"/>, <xref target="RFC8986"/></t>

<t>SID numbering space: may be implemented as</t>

<t><list style="symbols">
  <t>a single IGP instance</t>
  <t>a single IGP level or area</t>
  <t>two or more autonomous systems that coordinate SID numbering space</t>
  <t>two or more IGP instances that coordinate SID numbering space</t>
</list></t>

<t>SRv6 Encapsulation Header: The IPv6 header, and any extension headers preceding a payload, used to implement a SRv6 base or compression proposal.</t>

</section>
</section>
<section anchor="srv6-sid-list-compression-requirements" title="SRv6 SID List Compression Requirements">

<section anchor="dataplane-efficiency-and-performance-requirements" title="Dataplane Efficiency and Performance Requirements">

<section anchor="encapsulation-header-size" title="Encapsulation Header Size">
<t>Description: The compression proposal MUST reduce the size of the SRv6 encapsulation header.</t>

<t>Rationale: A smaller SRv6 encapsulation results in better MTU efficiency.</t>

<t>Metric: Compression is the ratio of the IPv6 encapsulation size of SRv6 as defined in <xref target="RFC8402"/>, <xref target="RFC8754"/>, <xref target="RFC8986"/> vs the IPv6 encapsulation size of a given proposal.  The encapsulation savings of a compression proposal vs the SRv6 base is a useful measurement to compare proposals.</t>

<t>The encapsulation metric (E) records the number of bytes required for a proposal to encapsulate a packet given a specific segment list.</t>

<t><list style="symbols">
  <t>E(proposal, segment list).</t>
</list></t>

<t>The encapsulation savings(ES)records the encapsulation savings for a proposal to encapsulate a packet given a specific segment list.</t>

<t><list style="symbols">
  <t>ES(proposal, segment list) = 1 - E(proposal, segment list)/E(SRv6 base, segment list).</t>
</list></t>

</section>
<section anchor="forwarding-efficiency" title="Forwarding Efficiency">

<t>Description: The compression proposal SHOULD minimize the number of required hardware resources accessed to process a segment.</t>

<t>Rationale: Efficiency in bits on the wire and processing efficiency are both important. Optimizing one at the expense of the other may lead to significant performance impact.</t>

<t>Metric: The data plane efficiency metric (D) records the data plane forwarding efficiency of the proposed solution. Two metrics are used and recorded at each segment endpoint:</t>

<t><list style="symbols">
  <t>D.PRS(segment list): number of headers parsed during processing of the segment list, starting from and including the IPv6 header.</t>
  <t>D.LKU(segment list): number of FIB lookups during processing of the segment list. The type of lookup is also recorded as longest prefix match (LPM) or exact match (EM)</t>
</list></t>

</section>
<section anchor="state-efficiency" title="State Efficiency">

<t>Description: The compression proposal SHOULD minimize the amount of additional forwarding state stored at a node.</t>

<t>Rationale: Additional state increases the complexity of the control plane and data plane. It can also result in an increase in memory usage.</t>

<t>Metric: The state efficiency metric (S) records the amount of additional forwarding state required by the proposed solution.</t>

<t><list style="symbols">
  <t>S(node parameters): the number of additional forwarding states that need to be stored at a node, given a set of node parameters consisting of the number of nodes in the network, number of local interfaces, number of adjacencies. The forwarding state is counted as entries required in a Forwarding Information Base (FIB) at a node.</t>
</list></t>

</section>
</section>
</section>
<section anchor="srv6-specific-requirements" title="SRv6 Specific Requirements">

<section anchor="srv6-based" title="SRv6 Based">

<t>Description: A solution to compress SRv6 SID Lists SHOULD be based on the SRv6 architecture, control plane and data plane.  The compression solution MAY be based on a different data plane and control plane, provided that it derives sufficient benefit.</t>

<t>Rationale: A compression proposal built on existing IETF standards is preferable to creating new standards with equivalent functionality and performance.</t>

<t>Metric: The utilization metric (U) records whether a proposal utilizes the SRv6 specifications.</t>

<t>Utilization is recorded in a table, with a column per proposal and rows consisting of the following metrics:</t>

<t><list style="symbols">
  <t>U.RFC8402: utilizes <xref target="RFC8402"/>.</t>
  <t>U.RFC8754: utilizes <xref target="RFC8754"/>.</t>
  <t>U.PGM: utilizes <xref target="RFC8986"/>.</t>
  <t>U.IGP: utilizes <xref target="I-D.ietf-lsr-isis-srv6-extensions"/>.</t>
  <t>U.BGP: utilizes <xref target="I-D.ietf-bess-srv6-services"/>.</t>
  <t>U.POL: utilizes <xref target="I-D.ietf-spring-segment-routing-policy"/>.</t>
  <t>U.BLS: utilizes <xref target="I-D.ietf-idr-bgpls-srv6-ext"/>.</t>
  <t>U.SVC: utilizes <xref target="I-D.ietf-spring-sr-service-programming"/>.</t>
  <t>U.OAM: utilizes <xref target="I-D.ietf-6man-spring-srv6-oam"/>.</t>
  <t>U.ALG: utilizes <xref target="I-D.ietf-lsr-flex-algo"/>.</t>
</list></t>

<t>Each cell contains "yes" for utilizes, or "no" for does not utilize.</t>

</section>
<section anchor="functional-requirements" title="Functional Requirements">

<section anchor="srv6-functionality" title="SRv6 Functionality">

<t>Description: A solution to compress an SRv6 SID list MUST support the functionality of SRv6. This requirement ensures no SRv6 functionality is lost. It is particularly important to understand how a proposal, as evaluated in section "SRv6 Based", provides this functionality.</t>

<t>Rationale: Operators require SRv6 functionality. Evaluating the extent to which a proposal supports SRv6 functionality is important for operators and implementors to understand the impact on network operations.</t>

<t>Metric: The Functionality metric (F) records whether a proposal supports SRv6 functionality and how the functionality is provided.</t>

<t>Functionality is recorded in a table with columns for each proposal and rows consisting of the following metrics:</t>

<t><list style="symbols">
  <t>F.SID: Supports SRv6 SID functionality as described in <xref target="RFC8402"/></t>
  <t>F.SCOPE: Supports globally and locally scoped SID functionality as described in <xref target="RFC8402"/></t>
  <t>F.PFX: Supports prefix SID functionality as described in <xref target="RFC8402"/> and <xref target="RFC8986"/></t>
  <t>F.ADJ: Supports adjacency SID functionality as described in <xref target="RFC8402"/> and <xref target="RFC8986"/></t>
  <t>F.BIND: Supports binding SID functionality as described in <xref target="RFC8402"/> and <xref target="RFC8986"/></t>
  <t>F.PEER: Supports BGP peering SID functionality as described in <xref target="RFC8402"/> and <xref target="RFC8986"/></t>
  <t>F.SVC: Supports L3 and L2 VPN service SID functionality as described in <xref target="RFC8986"/></t>
  <t>F.ALG: Supports flexible algorithms functionality as described in <xref target="I-D.ietf-lsr-flex-algo"/></t>
  <t>F.TILFA: Supports TI-LFA functionality as described in <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/></t>
  <t>F.SEC: Supports securing an SR domain with ingress filtering as functionally defined in <xref target="RFC8754"/></t>
  <t>F.IGP: Supports distributing topological SIDs and behaviors via ISIS as functionally described in <xref target="I-D.ietf-lsr-isis-srv6-extensions"/></t>
  <t>F.BGP: Supports BGP VPNs as functionally described in <xref target="I-D.ietf-bess-srv6-services"/></t>
  <t>F.POL: Supports SR policies and steering traffic over those policies as funcitonally described in <xref target="I-D.ietf-spring-segment-routing-policy"/></t>
  <t>F.BLS: Supports Link State distribution via BGP as functionally described in <xref target="I-D.ietf-idr-bgpls-srv6-ext"/></t>
  <t>F.SFC: Supports stateless service programming as functionally described in <xref target="I-D.ietf-spring-sr-service-programming"/></t>
  <t>F.PING: Supports pinging a SID to verify the SID is implemented as functionally described in <xref target="I-D.ietf-6man-spring-srv6-oam"/></t>
</list></t>

<t>Each cell contains the specification name documenting the functionality.</t>

</section>
<section anchor="heterogeneous-sid-lists" title="Heterogeneous SID lists">

<t>Description: The compression proposal SHOULD support a combination of compressed and non-compressed segments in a single path. As an example, a solution may satisfy this requirement without being SRv6 based by using a binding SID to impose an additional SRv6 header (IPv6 header plus optional SRH) with non-compressed SID.</t>

<t>Rationale: Support of SID lists with compressed and non-compressed SIDs reduces encapsulation size when not all SRv6 nodes deploy the compression proposal or 128-bit SIDs are required.</t>

<t>Metric: A compliant compression proposal supports both:</t>

<t><list style="symbols">
  <t>classic 128-bit SRv6 SIDs in the IPv6 Destination Address field</t>
  <t>segment lists (i.e., paths) with both compressed and 128-bit SRv6 SIDs.</t>
</list></t>

</section>
<section anchor="sid-list-length" title="SID list length">

<t>Description: The compression proposal MUST be able to represent SR paths that contain up to 16 segments.</t>

<t>Rationale: Strict TE paths require SID list lengths proportional to the diameter of the SR domain.</t>

<t>Metric: The compression proposal must be able to steer a packet through an SR path that contains up to sixteen segments.</t>

</section>
<section anchor="sid-summarization" title="SID summarization">

<t>Description: The solution MUST be compatible with segment summarization.</t>

<t>Rationale: Summarization of segments is a key benefit of SRv6 vs SR MPLS. In interdomain deployments, any node can reach any other node via a single prefix segment. Without summarization, border router SIDs must be leaked, and an additional global prefix segment is required for each domain border to be traversed.</t>

<t>Metric: A solution supports summarization when segments can be summarized for advertisement into other IGP domains or levels.</t>

</section>
</section>
<section anchor="operational-requirements" title="Operational Requirements">

<section anchor="lossless-compression" title="Lossless Compression">

<t>Description: A path traversed using a compessed SID list MUST always be the same as the path traversed using the uncompressed SID list if no compression was applied.</t>

<t>Rationale: In SRv6, we can represent a path to meet certain objectives. A compression proposal needs to support the objectives with the same path.</t>

<t>Metric: Information present in the pre-compression segment list MUST also be present in the post-compression SID list.</t>

</section>
<section anchor="preservation-of-non-routing-information" title="Preservation of non-routing information">

<t>Description:The compression mechanism MUST NOT cause the loss of non-routing information when delivering a packet from the SR ingress node to the egress/penultimate SR node</t>

<t>Rationale: SRv6 ingress nodes encode non-routing information in the IPv6 header chain. This information can be encoded in the following fields:</t>

<t><list style="symbols">
  <t>Hop Count</t>
  <t>DSCP bits</t>
  <t>ECN bits</t>
  <t>Flow label</t>
  <t>HBH Options Extension header</t>
  <t>Fragment Extension header</t>
  <t>Authentication Extension header</t>
  <t>Encrypted Security Payload Extension header</t>
  <t>Destination Options Extension header</t>
</list></t>

<t>Some of these fields are mutable (e.g., Hop Count) while others are immutable (e.g., Fragment Extension Header).</t>

<t>Some of these fields contain information that is required by every node along a packet's delivery path (e.g., Hop Count). Others contain information that is required only by the packet's ultimate destination (e.g., Fragment Extension Header).</t>

<t>Therefore, the compression mechanism MUST NOT prevent this information from being delivered, in an IPv6 header chain,  to any node that needs it.</t>

<t>Metric: The SR source node encapsulates its payload (e.g.., Ethernet, IP, TCP) in an IPv6 header. The SRv6 header contains both routing and non-routing information. The compression mechanism MUST NOT cause the loss of non-routing information when delivering a packet from the SR ingress node to the egress/penultimate SR node.</t>

</section>
<section anchor="address-planning" title="Address Planning">

<t>Description: Network operators require addressing plan flexibility, The compression mechanism MUST support flexible IPv6 address planning, it MUST support deployment by using GUA from different address blocks.</t>

<t>Rationale: The address planning of the network may vary based on the addressing scheme of the operator, so the solution MUST support a flexible addressing scheme.  Operators need to deploy the solution based on their own address planning.</t>

<t>Metric: The compression proposal supports locators drawn from different prefixes with the solutions analysis indicating efficiency.</t>

</section>
</section>
<section anchor="scalability-requirements" title="Scalability Requirements">

<section anchor="adjacency-segment-scale" title="Adjacency segment scale">

<t>Description: The compression proposal MUST be capable of representing 65000 adjacency segments per node</t>

<t>Rationale: Typically, network operators deploy networks with tens or hundreds of adjacency segments per node, but some network operators may deploy networks that use more adjacency segments per node.</t>

<t>Metric: A proposal that allows 65000 adjacency segments per node satisfies this requirement.</t>

</section>
<section anchor="prefix-segment-scale" title="Prefix segment scale">

<t>Description: The compression proposal MUST be capable of representing 1 million prefix segments per SID numbering space.</t>

<t>Rationale: Typically, network operators deploy networks with thousands of prefix segments per SID numbering space, but some network operators may deploy networks that use more prefix segments per SID numbering space.</t>

<t>Metric: A proposal that allows 1 million prefix segments per SID numbering space satisfies this requirement.</t>

</section>
<section anchor="service-scale" title="Service Scale">
<t>Description: The compression proposal MUST be capable of representing 1 million services per node.</t>

<t>Rationale: Typically, network operators deploy networks with tens to hundreds of thousands of services per node, but some network operators may deploy networks that use more services per node.</t>

<t>Metric: A proposal that allows 1 million services per node satisfies this requirement.</t>

</section>
<section anchor="compression-levels" title="Compression Levels">

<t>Description: The compression proposal SHOULD be able to support multiple levels of compression.</t>

<t>Rationale: The compression proposal will be deployed in networks of varying size with SID numbering spaces of varying size.  Network and service scale can directly impact SID length and the ability of a proposal to compress the SID list.</t>

<t>Metric: A compression proposal that supports relatively better compression for smaller SID numbering spaces and service scale satisfies this requirement.</t>

</section>
</section>
</section>
<section anchor="protocol-design-requirements" title="Protocol Design Requirements">

<section anchor="srv6-base-coexistence" title="SRv6 Base Coexistence">

<t>Description: The compression proposal MUST support simultaneous deployment with SRv6 networks.</t>

<t>Rationale: SRv6 is deployed today. A compression proposal that interoperates well with SRv6, as deployed, will reduce the overhead and simplify operations. For Network operators who would migrate to compressed SRv6 SID lists, the migration is expected to gradually occur over a period of time as they upgrade networks, domains, device families and software instances.</t>

<t>Metric: A compliant compression proposal provides the following</t>

<t><list style="symbols">
  <t>Supports simultaneous deployment at a node with current SRv6 SIDs.</t>
  <t>Supports simultaneous deployment at a node with current SRv6 control plane.</t>
  <t>Supports simultaneous operation of current SRv6 paths with compressed paths.</t>
  <t>Supports the behaviors in <xref target="RFC8986"/>.</t>
  <t>Does not require removal of existing IPv6 address planning.</t>
</list></t>

</section>
</section>
<section anchor="security-requirements" title="Security Requirements">

<section anchor="security-mechanisms" title="Security Mechanisms">

<t>Description: The compression solution SHOULD be able to address security issues that it introduces, using existing security mechanisms.</t>

<t>Rationale: It is important to identify security issues and how to address them in any specification.</t>

<t>Metric: A compression solution that does not introduce unresolved security issues meets this requirement.</t>

</section>
<section anchor="sr-domain-protection" title="SR Domain Protection">

<t>Description: A compression solution must not require nodes outside the SR domain to know SID values within the SR domain, and it must provide the ability to block nodes outside an SR domain from accessing SIDS.</t>

<t>Rationale: The unauthorized use of SIDs within the SR domain by nodes outside the domain can disrupt an operators' network.</t>

<t>Metric: A compliant solution describes how access to SIDs within the SR domain is denied to nodes outside the SR domain.</t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document has no requests to IANA.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>TBD</t>

</section>
<section anchor="contributors" title="Contributors">
<t>The following individuals contributed to this draft</t>

<t>Sanders Steffann, SJM Steffann Consultancy, sander@steffann.nl</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC2119;
&RFC8174;
&RFC8402;
&RFC8754;
&RFC8986;
&I-D.ietf-spring-segment-routing-policy;
&I-D.ietf-lsr-isis-srv6-extensions;
&I-D.ietf-bess-srv6-services;
&I-D.ietf-idr-bgpls-srv6-ext;
&I-D.ietf-spring-sr-service-programming;
&I-D.ietf-6man-spring-srv6-oam;
&I-D.ietf-lsr-flex-algo;
&I-D.ietf-rtgwg-segment-routing-ti-lfa;


    </references>



<section anchor="proposed-requirements" title="Proposed Requirements">

<t>This appendix contains requirements that the design team discussed
   but could not be agreed upon.</t>

<section anchor="ipv6-based" title="IPv6 Based">

<t>Description: The compression mechanism requires every node along the packet's delivery path to be IPv6-capable. It MUST not require any node along the packet's forwarding path to support any other forwarding plane (e.g., IPv4, MPLS)</t>

<t>Rational: According to RFC 8402, SRv6 is an instantiation of the SR Architecture over the IPv6 data plane.</t>

<t>Metric: A compliant solution requires every node along the packet's delivery path to be IPv6-capable. It does not require any node along the packet's forwarding path to support any other forwarding plane (e.g., IPv4, MPLS)</t>

</section>
<section anchor="point-to-multipoint" title="Point to Multipoint">

<t>Description: The compression mechanism SHOULD support point-to-multipoint SR paths.</t>

<t>Rationale: Many VPN services require point-to-multipoint SR paths.</t>

<t>Metric: A compliant proposal can encode a multicast address in the ultimate segment of the segment list.</t>

</section>
<section anchor="parsability" title="Parsability">

<t>Description: The compression mechanism MUST be parsable. That is, the node that consumes the compressed SID list must be able to decode the active and next segment. Parsing information MAY be conveyed in either the forwarding or control plane.</t>

<t>Rationale: Failure to parse the compressed SID list leads to undesired behaviors.</t>

<t>Metric: In the nominal case the producer and consumer of the SID list agree on the active segment and next segment.
In forseeable failure modes it is possible to determine why the producer and consumer don't agree.</t>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAOpTM2MAA81cW3MbOXZ+569AaR5GqiK5tjPrnVFqqyxLlM2JLowo72yS
ygPYDZJY9YXb6KbM2Zqq/I38vfySnAuABppNSR67UnmZobvRBwcH5/KdcwCN
RqNBretMnYrzMt9UyhiVivnd9q2YTy/ElTa1uFN/b3SlclXUZiAXi0ptT2HI
+e31LH6XlkkhcyCVVnJZj7SqlyOzqXSxGiWWuC6LUdV+M3r1ZpDKWp0OEvjv
qqx2p0IXy3Iw0JvqVNRVY+o3r179BMNkpeSp+KAKVcls8FhWD6uqbDbAyexu
evNh8KB28DA9FdOiVlWh6tEFcjEYJGUKHJyKxoykSbQebPSp+I+6TIbClFVd
qaWBX7vc/mgWyKtM6j8f7ZQ5+s/BQDb1uqxOB2I0EMCdORW/jMX5WhUr+Dcv
+Bel/65lsfKPy2olC/2rrGHBINq1LqS4Lhc6U/BS5VJnpyLBsY/2y3cJjslp
yBg4CGY7H4u/auXnOl+XxWoJn9qnfVPdq0wRETfXZ62S9ZInqfnlOCmCSe7G
4n1Z6ET6ee7Kon0UT/JzU+iNqlry1YIGvvsbvxiD+APaF2Nx0Two40lfyKpS
hX/YWYE2SSnmO1Or3LRTpCmOfpfg230BXelAPigbehAT/thIkHYg/3H2bk3P
OvRmYzFfy3LZeJozJOmfxWT//X7S0tzAwLGhge9+rWknYzmD6nxURaoqnTx8
bvVH5/HjeIqb8kHLdpJHnY/XfvS7At/SEgZFWeXwzRYMSoi7y/M3r1//ZH/+
+PpPP7ifP7x6437+6Y/+6U8/vsWf09HFODRdo1ZkqmBtNf57U2Y62UUjM1ON
tNFmZKrt25H6XKsCLd1EgxZg/jzAqGqrExW/1mk1Wqw2WUukl5nKfT3aVOWq
knmOxh2OfJvLoh0OpEqZ73G7zNTnkcxWZfSmqleP+wuu9ShbShw4GI1GQi5M
XYF/GAzu19oIcHoNDhdmoxK91MqIwMEZsSwr8DNZgztpRF0K5wpbL5uBlzXj
AVHPdZqCkxh8h36sKtMmwQ9xLmU9nUDfB3wJ8n8iVUtdWJ89BNWo1+If/7Cb
/Ntv8NoklV7g+HX5KGokw+sDA6f1ieP53YmQFfiGWiV1UykBywJlrWVRa/AW
qQBPUD+WAjy1HG0yWcDWwXyi3KpKXM+u5khihD+ATpH6V9MZLPAYGTsZ82ob
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
3RM8pWXxveVkPPhftDoGBvBOAAA=

-->

</rfc>

