<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-spring-resource-aware-segments-19"
     ipr="trust200902">
  <front>
    <title abbrev="Resource-Aware SR Segments">Introducing Resource Awareness
    to SR Segments</title>

    <author fullname="Jie Dong" initials="J." surname="Dong">
      <organization>Huawei Technologies</organization>

      <address>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>

    <author fullname="Takuya Miyasaka" initials="T." surname="Miyasaka">
      <organization>KDDI Corporation</organization>

      <address>
        <email>ta-miyasaka@kddi.com</email>
      </address>
    </author>

    <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
      <organization>China Telecom</organization>

      <address>
        <email>zhuyq8@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Fengwei Qin" initials="F." surname="Qin">
      <organization>China Mobile</organization>

      <address>
        <email>qinfengwei@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Zhenqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>

      <address>
        <email>li_zhenqiang@hotmail.com</email>
      </address>
    </author>

    <date day="26" month="August" year="2026"/>

    <workgroup>SPRING Working Group</workgroup>

    <abstract>
      <t>This document describes a mechanism to allocate network resources to
      one or a set of Segment Routing Identifiers (SIDs). Such SIDs are
      referred to as resource-aware SIDs. The resource-aware SIDs retain their
      original forwarding semantics, with the additional semantics to identify
      the set of network resources available for the packet processing and
      forwarding action. This mechanism is applicable to both segment routing
      with MPLS data plane (SR-MPLS) and segment routing with IPv6 data plane
      (SRv6).</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>The Segment Routing (SR) Architecture <xref target="RFC8402"/>
      specifies a mechanism to steer packets through an ordered list of
      segments. A segment is referred to by its Segment Identifier (SID). With
      SR, explicit source routing can be achieved without introducing per-path
      state into the network. The base SR specifications <xref
      target="RFC8402"/> do not have the capability of identifying or
      reserving a set of network resources. Although a centralized controller
      can have a global view of network state and can provision different
      services using different SR paths, in data packet forwarding it still
      relies on the DiffServ QoS mechanism <xref target="RFC2474"/> <xref
      target="RFC2475"/> to provide coarse-grained traffic differentiation in
      the network. While such a mechanism may be sufficient for some types of
      services, others (e.g., those described in <xref target="RFC9543"/>) may
      require a set of dedicated network resources to achieve resource
      isolation in the same network. Also, the number of such services could
      be larger than the number of traffic classes available with DiffServ
      QoS. Some mechanisms to identify the service flows on each hop and map
      them to specific set of resources is needed. This may be done by
      classifying flows based on the combination of multiple fields in the
      packet, while a more concise and consistent approach would be
      preferred.</t>

      <t>Without needing to define new SID types, this document extends the SR
      mechanism by associating SIDs with network resource attributes, so that
      network resources can be allocated to one or a set of SIDs. Such SIDs
      are referred to as resource-aware SIDs. These resource-aware SIDs retain
      their original functionality, with the additional semantics of
      identifying the set of network resources available for the packet
      processing action. Typical types of network resources include link
      bandwidth, buffers, and queues that are associated with class of
      service, scheduling weights or time cycles, and it is also possible to
      associate SR SIDs with other types of resources (e.g., the processing
      and storage resources). For a particular SR segment, multiple
      resource-aware SIDs can be allocated, each of which represents a subset
      of network resources allocated in the network to meet the requirements
      of one or a group of customers or services. Each subset of the network
      resources may be associated with one or multiple resource-aware SIDs.
      The allocation of network resources to segments can be done either via
      local configuration or via a centralized controller. Other approaches
      are possible such as the use of a control plane signaling protocol, but
      they are out of the scope of this document.</t>

      <t>The candidate path of an SR Policy <xref target="RFC9256"/> that
      requires dedicated network resources can be composed of segment lists
      built with resource-aware SIDs. This can be useful for service that
      requires dedicated network resources along an SR path. In addition, a
      Network Resource Partition (NRP) <xref target="RFC9543"/> <xref
      target="RFC9732"/> which consists of a subset of network resources in
      the underlay network can be represented by a group of resource-aware
      SIDs that meet the connectivity and resource goals. The amount of
      resources (e.g. bandwidth) associated with each segment in the NRP can
      be the same or different. This mechanism is applicable to SR with both
      MPLS data plane (SR-MPLS) and IPv6 data plane (SRv6). The reader is
      expected to be familiar with the terminology in <xref
      target="RFC8402"/>, <xref target="RFC8660"/> and <xref
      target="RFC8986"/>.</t>

      <section 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>

    <section title="Terminology">
      <t>The following terminology is used in this document:</t>

      <t><list style="symbols">
          <t>Network Resource Partition (NRP): refer to the definition in
          <xref target="RFC9543"/>.</t>
        </list>The following terms are introduced by this document.</t>

      <t><list style="symbols">
          <t>Resource-aware segment: An SR segment which not only represents a
          specific instruction, but also identifies the set of network
          resources used for executing the action.</t>

          <t>Global resource-aware segment: A resource-aware segment which is
          associated with the full set of the resources allocated to an NRP.
          It aligns with the topological global segment as defined in <xref
          target="RFC8402"/>, with additional resource semantics.</t>

          <t>Local resource-aware segment: A resource-aware segment which is
          only associated with a specific set of local resource on a network
          node or link participating in an NRP. It aligns with the topological
          local segment as defined in <xref target="RFC8402"/>, with
          additional resource semantics.</t>
        </list></t>
    </section>

    <section title="Segments with Resource Awareness">
      <t>In the Segment Routing architecture <xref target="RFC8402"/>, several
      types of segments are defined to represent either topological or service
      instructions. A topological segment can be a node segment or an
      adjacency segment. A service segment may be associated with specific
      service functions for service-chaining purposes. This document
      introduces additional resource semantics to the existing types of SIDs.
      A resource-aware SID retains its original functionality, with the
      additional semantics of identifying a set of network resources allocated
      in the underlay network for the packet processing action. A
      resource-aware SID is considered local resource-aware if it is
      associated with the network resource on a specific node or link in the
      network. A resource-aware SID is considered global resource-aware if it
      is associated with a set of network resources on all the nodes and links
      participating in an NRP. A local resource-aware SID may be allocated
      with a dedicated set of network resources, while for global
      resource-aware SIDs, the same set of network resources of an NRP are
      shared by a group of global resource-aware SIDs which are associated
      with the NRP.</t>

      <t>This section describes the mechanisms of using resource-aware SR SIDs
      to indicate the network resource information associated with the SR
      paths or NRPs based on the two SR data plane instantiations: SR-MPLS and
      SRv6. The mechanisms to identify the forwarding path or network topology
      with SIDs as defined in <xref target="RFC8402"/> do not change. Aligning
      with the SR architecture, the control plane for resource-aware segments
      can be centralized, distributed, or hybrid. When resource-aware segments
      are associated with an NRP, the control plane for distributing the
      resource-aware SIDs and the associated topology or Flexible-Algorithm
      can be based on <xref target="RFC4915"/>, <xref target="RFC5120"/> and
      <xref target="RFC9350"/>.</t>

      <section title="SR-MPLS">
        <t>The MPLS instantiation of Segment Routing is specified in <xref
        target="RFC8660"/>. <xref target="RFC8402"/> specifies several types
        of SIDs, including IGP Adjacency Segment (Adj-SID), IGP-Prefix Segment
        (Prefix-SID), and IGP-Node Segment (Node-SID). It also introduces BGP
        Peer Adjacency Segment (PeerAdj SID). Resource semantics can be added
        to these types of SIDs, so that they represent both the topological
        instructions and the set of network resources allocated for packet
        processing following the instructions.</t>

        <t>A resource-aware Adj-SID is a local resource-aware segment, it
        represents a subset of the local resources (e.g., bandwidth, buffer
        and queuing resources) on a given link, thus each resource-aware
        Adj-SID can be associated with a subset of the link's traffic
        engineering (TE) capabilities and resources (known as TE attributes
        <xref target="RFC2702"/>).</t>

        <t>For one IGP link, multiple resource-aware Adj-SIDs can be assigned,
        each of which is associated with a subset of the link resources
        allocated from the link. For one inter-domain link, multiple BGP
        PeerAdj SIDs may be assigned, each of which is associated with a
        subset of the link resources allocated from the inter-domain link. In
        the scope of this document, the inter-domain link MUST be between
        network domains managed by the same administrative entity and aligns
        with the trust model described in <xref target="RFC8402"/>. The
        resource-aware Adj-SIDs may be associated with a specific network
        topology and/or algorithm, so that it is used only for resource-aware
        SR paths computed within the topology and/or algorithm.</t>

        <t>Several approaches can be used to partition and reserve the link
        resources, such as <xref target="FLEXE"/>, logical sub-interfaces with
        reserved bandwidth, dedicated queues, etc. The detailed mechanism of
        link resource partitioning is out of scope of this document.</t>

        <t>A resource-aware prefix-SID is a global resource-aware segment
        which is associated with an NRP. More specifically, it is associated
        with the network topology and/or an algorithm of the NRP which the
        attached node participates in, and it is associated with the set of
        network resources (e.g., bandwidth, buffer and queuing resources) on
        the nodes and links participating in the NRP. Such set of network
        resources can be used for forwarding packets which are encapsulated
        with this resource-aware prefix-SID, along the paths computed in the
        associated topology and/or algorithm of the NRP.</t>

        <t>Although it is possible that each resource-aware prefix-SID is
        allocated with a set of dedicated resources on every node and link in
        the associated NRP, the overhead of per-prefix resource reservation is
        usually considered unacceptable in terms of the overhead in both
        control plane signaling and data plane states, and it is likely some
        of the allocated resources will be wasted. One option in deployment is
        that an aggregated set of network resources be allocated by the
        network nodes and links participating in the NRP, and this aggregated
        set of network resources is shared by all of the resource-aware
        Prefix-SIDs which are associated with the NRP. The association between
        the SR SIDs and an NRP can be provisioned using the management plane
        or a control plane.</t>

        <t>The option above helps to reduce the dynamics in per-prefix
        resource allocation and adjustment, so that the network resource can
        be allocated based on planning and does not have to rely on dynamic
        signaling. When the set of nodes and links that participate in an NRP
        change, the set of network resources allocated from specific nodes and
        links may need to be adjusted. When the set of network resources are
        locally configured on the network links, this means that the resources
        allocated to resource-aware Adj-SIDs on those links may have to be
        adjusted, and new TE attributes for the associated Adj-SIDs
        re-advertised.</t>

        <t>For one IGP prefix, multiple resource-aware Prefix-SIDs can be
        allocated. Each resource-aware prefix-SID may be associated with a
        unique &lt;topology, algorithm&gt; tuple, in this case different
        &lt;topology, algorithm&gt; tuples can be used to distinguish the
        resource-aware prefix-SIDs of the same prefix. In another case, for
        one IGP prefix, multiple resource-aware prefix-SIDs may be associated
        with the same &lt;topology, algorithm&gt; tuple but different NRPs.
        Then an additional control plane distinguisher for NRP needs to be
        introduced to distinguish different resource-aware prefix-SIDs
        associated with the same &lt;topology, algorithm&gt; but different
        NRPs. The first approach is simpler and does not require extensions to
        control plane protocols, while there can be scalability concerns when
        the number of NRPs is large, as it would require a large number of
        topologies or Flex-Algorithms. The second approach is more scalable,
        while it requires additional extensions to the control plane
        protocols. The exact control plane extensions are out of the scope of
        this document, but see Section 7 for more discussion of the
        scalability concerns.</t>

        <t>A group of resource-aware Adj-SID and resource-aware Prefix-SIDs
        can be used to construct the SID lists of an SR Policy candidate path,
        which can be used to steer the traffic to be forwarded along the
        explicit paths (either strict or loose) and processed using the set of
        network resources identified by the resource-aware SIDs.</t>

        <t>In SR-MPLS packet forwarding, each resource-aware Adj-SID
        identifies both the next-hop of the node and the set of resources used
        for packet processing on the outgoing interface. Each resource-aware
        Prefix-SID identifies the path to the node which the prefix is
        attached to, and the NRP which consists of the set of network
        resources to be used for packet forwarding on the transit nodes along
        the path. The transit nodes use the resource-aware Prefix-SIDs to
        determine the next-hop of the packet and the set of local resources in
        the identified NRP, then forward the packet to the next-hop using the
        set of local resources. If a transit node cannot find local resources
        associated with the identified NRP, by default it SHOULD discard the
        packet. The behavior can be changed to best effort forwarding using a
        knob.</t>

        <t>When the set of network resources allocated from the egress node
        also needs to be determined, it is RECOMMENDED that Penultimate Hop
        Popping (PHP) <xref target="RFC3031"/> be disabled, otherwise the
        inner service label needs to be used to infer the set of resources to
        be used for packet processing on the egress node of the SR path, which
        would over-complicate the assignment of the service label and
        potentially require multiple service labels to be assigned for the
        same service to identify the different NRPs. According to the control
        plane mechanisms defined in <xref target="RFC8665"/> and <xref
        target="RFC8667"/>, PHP can be disabled for resource-aware SIDs
        only.</t>

        <t>This mechanism requires the allocation of additional prefix-SIDs or
        adj-SIDs to identify different sets of network resources. As the
        number of NRP increases, the number of SIDs would increase
        accordingly, while it should be noted that there is still no per-path
        state introduced into the network.</t>
      </section>

      <section title="SRv6">
        <t><xref target="RFC8986"/> defines the SRv6 SID format
        (LOC:FUNCT:ARG) and the base set of SRv6 behaviors bound to the SRv6
        SIDs. When the LOC (Locator) part of the SRv6 SIDs is routable, it
        leads to the node which instantiates the SID, and the SID is called
        SRv6 routed SID. An SRv6 SID may be non-routable, which needs to be
        preceded by another routed SID in packet forwarding, and the SID is
        called SRv6 non-routed SID.</t>

        <t>The approach of introducing resource-awareness to SRv6 is by
        firstly making the SRv6 Locators resource-aware. For one SRv6 node,
        multiple resource-aware SRv6 Locators can be assigned. A
        resource-aware Locator is associated with a network topology and/or
        algorithm in which the originating node participates, as well as a set
        of network resources (e.g., bandwidth, buffer, and queueing resources)
        on each node and the attached links participating in the same topology
        and/or algorithm. Then resource-aware SRv6 SIDs are allocated using
        the resource-aware SRv6 Locator as the prefix, and the resource-aware
        SRv6 SIDs are associated with a subset of the local resources which
        belong to the NRP associated with the resource-aware SRv6 Locator. The
        set of network resources allocated to the resource-aware SRv6 Locators
        and SRv6 SIDs are used for forwarding packets in which the
        resource-aware SRv6 SIDs are encoded as the destination IPv6
        addresses.</t>

        <t>An SRv6 non-routed SID can be associated with a subset of the local
        resources (e.g., bandwidth, buffer and queuing resources) on a given
        node, which make it a local resource-aware segment. An SRv6 routed SID
        can be associated with the set of network resources of an NRP, which
        makes it a global resource-aware segment.</t>

        <t>Similar to the approach used with resource-aware prefix-SIDs in
        SR-MPLS, one option in deployment is that an aggregated set of network
        resources are allocated by the network nodes and links participating
        in an NRP, and this aggregated set of network resources are shared by
        a group of resource-aware Locators and SIDs which are associated with
        the NRP.</t>

        <t>For one IGP link, multiple resource-aware SRv6 End.X SIDs can be
        allocated to identify different sets of link resources allocated from
        the link. SRv6 SIDs for other types of behaviors MAY also be assigned
        as resource-aware SIDs, which identifies the set of network resources
        allocated by the node for executing the behavior. All resource-aware
        SRv6 SIDs MUST use a resource-aware locator as its prefix.</t>

        <t>A group of resource-aware SRv6 SIDs can be used to construct the
        SID lists of an SR Policy candidate path, which can be used to steer
        the traffic to be forwarded along the explicit paths (either strict or
        loose), and be processed using the set of network resources identified
        by the resource-aware SRv6 Locators and SIDs.</t>

        <t>In SRv6 packet forwarding, the transit nodes use the resource-aware
        Locator of the SRv6 SID carried in the destination IPv6 address field
        to determine the next-hop of the packet, and the NRP which consists of
        the set of network resources to be used for packet forwarding along
        the path. On the segment endpoint nodes, the resource-aware End.X SID
        identifies both the next-hop and the set of resources used for packet
        forwarding on the outgoing interface of the node which instantiates
        the SID. If a transit node cannot find local resources associated with
        the identified NRP, by default it SHOULD discard the packet. The
        behavior can be changed to best effort forwarding using a knob.</t>

        <t>This mechanism requires the allocation of additional SRv6 Locators
        and SIDs to identify different set of network resources. As the number
        of NRP increases, the number of SRv6 Locators and SIDs would increase
        accordingly, while it should be noted that there is still no per-path
        state introduced into the network.</t>
      </section>
    </section>

    <section title="Control Plane Considerations">
      <t>The mechanism described in this document assumes the use of a
      centralized controller to collect the information about the network
      (configuration, state, routing databases, etc.) as well as the service
      information (traffic matrix, performance statistics, etc.) for the
      planning of network resources based on the service requirements. A
      centralized controller can also be used to instruct the network nodes to
      allocate the network resources and associate the resources to
      resource-aware SIDs. The resource-aware SIDs can be either explicitly
      provisioned by the controller, or can be dynamically allocated by
      network nodes. The distributed control plane is complementary to the
      centralized controller. When the resource-aware SIDs are locally
      configured or dynamically allocated, a distributed control plane can be
      used for the collection and distribution of the resource-aware SIDs
      among network nodes, together with the set of associated local network
      resource information. Then some of the network nodes can distribute the
      collected information to a centralized controller. The mechanisms as
      defined in <xref target="RFC8665"/><xref target="RFC8667"> </xref> <xref
      target="RFC9085"/> <xref target="RFC9352"/> <xref target="RFC9513"/> and
      <xref target="RFC9514"/> can be reused with possible extensions to
      improve the efficiency and scalability. It is anticipated that
      augmentations to the SR YANG models would provide a way to configure and
      learn about the relationship between resource-aware SIDs and the
      resources on specific nodes. The details are out of the scope of this
      document. If an attempt to associate a resource-aware SID with resources
      on a router fails (for example, due to an error in the amount of
      resource requested) the control plane solution MUST report this so that
      the situation can be corrected.</t>

      <t>The support for an NRP and the SR SIDs or SRv6 locators information
      to associate packets to it MUST be aligned among the network nodes in
      that NRP, so as to ensure that packets are processed consistently within
      an NRP. This task can be accomplished via local configuration or via a
      centralized controller. Other approaches may be possible. <xref
      target="I-D.ietf-teas-nrp-yang"> </xref> provides some guidance on the
      provisioning of resource-aware segments for network resource partitions
      (NRPs) <xref target="RFC9543"/>, which is one use case of resource-aware
      segment in support of network slice services. A centralized controller
      or management system is responsible for consistent provisioning of NRPs,
      and should be able to roll back in case of partial provisioning failure.
      An NRP SHOULD NOT be used for any service until it is fully provisioned.
      Similarly, an update to an NRP is finished until all changes to the
      involved network nodes are successfully made. A controller is
      responsible for confirming the completion of NRP provisioning and update
      process.</t>

      <t>To indicate the support for a given NRP, a node needs to advertise
      the identifier of the NRP, the associated topology and algorithm, the
      resource-aware SIDs and the TE attributes representing the resources
      allocated to the resource-aware SIDs in the NRP. New TE attributes may
      be introduced to represent different types of network resources. The TE
      attributes of an NRP may be used as constraints in path computation. The
      details of the definition and usage of the TE attributes are out of the
      scope of this document.</t>

      <t>The controller is responsible for the centralized computation and
      optimization of the SR paths taking the topology, algorithm and network
      resource constraints into consideration. The network nodes may also
      perform constrained based computation taking the NRP topology, algorithm
      and resource information into consideration. The interaction between the
      controller and the network nodes can be based on Netconf/YANG <xref
      target="RFC6241"/> <xref target="RFC7950"/> <xref
      target="I-D.ietf-spring-sr-policy-yang"/>, BGP SR Policy <xref
      target="RFC9830"/> or PCEP <xref target="RFC8664"/> <xref
      target="RFC9603"/>. In some scenarios, extensions to some of these
      protocols may be needed to improve the efficiency and scalability of the
      control plane, but these are out of the scope of this document.
      Distributed computation of resource-aware SR paths is also possible, the
      topology, algorithm and/or resource constraints need to be taken into
      consideration by network nodes. The distributed control plane may be
      based on <xref target="RFC4915"/>, <xref target="RFC5120"/>, <xref
      target="RFC9350"/> with necessary extensions.</t>

      <t>When a network node is instructed to associate a SID with specific
      resources, its actions will depend on the operational mechanisms of the
      network. In some cases the association between SIDs and resources is
      configured on the individual network nodes, and the control plane (e.g.
      IGP) is used to distribute the SID information and the allocated
      resource information to the controller and the ingress nodes for TE
      constraint-based path computation. In network cases with SR and other TE
      mechanisms (such as RSVP-TE) co-existing in the network, the IGP
      advertisements of available resources may need to be updated to indicate
      that there has been a change to the available resources resulting from
      the instantiation of a new resource-aware SID, it is RECOMMENDED that
      such updates be rate-limited to avoid overloading the IGP system using
      suppression mechanisms as described in <xref target="RFC8570"/> <xref
      target="RFC7471"/>. In still other cases the association between SIDs
      and network resources is provisioned by the central controller which is
      responsible for all TE management, then the distributed control plane
      does not need to take any additional action. The specific control
      protocol extensions are out of the scope of this document</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document makes no request of IANA.</t>

      <t>Note to RFC Editor: this section may be removed on publication as an
      RFC.</t>
    </section>

    <section title="Implementation Status">
      <t>This section is to be removed before publishing as an RFC.</t>

      <t>RFC-Editor: Please clean up the references cited by this section
      before publication.</t>

      <t>This section records the status of known implementations of the
      protocol defined by this specification at the time of posting of this
      Internet-Draft, and is based on a proposal described in <xref
      target="RFC7942"/>. The description of implementations in this section
      is intended to assist the IETF in its decision processes in progressing
      drafts to RFCs. Please note that the listing of any individual
      implementation here does not imply endorsement by the IETF. Furthermore,
      no effort has been spent to verify the information presented here that
      was supplied by IETF contributors. This is not intended as, and must not
      be construed to be, a catalog of available implementations or their
      features. Readers are advised to note that other implementations may
      exist.</t>

      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and
      working groups to assign due consideration to documents that have the
      benefit of running code, which may serve as evidence of valuable
      experimentation and feedback that have made the implemented protocols
      more mature. It is up to the individual working groups to use this
      information as they see fit".</t>

      <t>This section is provided in compliance with the SPRING working group
      policies (<xref target="SPRING-WG-POLICIES"/>).</t>

      <section title="Huawei Technologies">
        <t>Huawei Technologies reported the following implementations of the
        resource-aware segments (Section 2). The resource-aware segments are
        used to build SR based NRPs and resource guaranteed SR Policies.</t>

        <t><list style="symbols">
            <t>Huawei ATN9XX, CX600 routers.</t>

            <t>Huawei NE40E, NE8000, NE5000E routers.</t>
          </list>At the time of this report, all the implementations listed
        above are in production and follow the specification in the latest
        version of this document, including all the "MUST" and "SHOULD"
        clauses for the resource-aware segments.</t>

        <t>This report was last updated on August 28, 2025.</t>
      </section>
    </section>

    <section title="Operational Considerations">
      <t>Resource-aware segments can coexist with the existing SR segments.
      Network operators may introduce resource-aware segments into a portion
      of their SR networks to support services which require guaranteed
      network resources (e.g. bandwidth). The use of either base SR segments
      or resource-aware SR segments for specific service is based on
      operators' local policy.</t>

      <t>Resource-aware segments require introducing additional SR-MPLS SIDs
      or SRv6 Locators/SIDs for different subsets of network resources. This
      would increase the amount of SR SIDs to be managed, and would also
      increase the amount of state to be maintained by network nodes. Although
      with the SR paradigm, per-path state can be avoided in the network. The
      scalability of the deployed solution may also depend on the control
      plane solution that is available in implementations. If no additional
      control plane features are available, the only choice is to use
      different &lt;topology, algorithm&gt; tuples to distinguish the
      resource-aware prefix-SIDs of the same prefix. This approach may be
      suitable for small numbers of NRPs (less than ten or so), but with more
      NRPs, this approach will require more topologies or Flex-Algorithms,
      each of which requires separate management and can stress operational
      systems. If a larger number of NRPs are required, then operators should
      use the alternate method to allocate additional prefix-SIDs or adj-SIDs
      to identify the NRPs, but must utilize additional control plane
      mechanisms to distribute the association of SIDs to NRPs. The control
      plane extensions for such mechanism needs to be done in relevant WGs.
      Operators need to be aware of the additional cost of introducing
      resource-aware segments, and provide careful planning of the NRPs, so
      that the resource-aware segments can meet the service requirements
      without introducing unacceptable complexity to network operation and
      management.</t>

      <t>The consistency in the binding between resource-aware segments and
      NRPs across all participating nodes in the network is crucial for
      correct and consistent treatment to packets so as to meet the resource
      guarantee and SLA requirements. If this is not the case, it may cause
      problems including service quality degradation or packet drop. Such
      issues could be detected and diagnosed using performance measurement or
      packet trace mechanisms with the same resource-aware segments as in the
      data packets used for forwarding. Control plane mechanisms need to
      include consistency checks to allow the configured state of resource
      allocation in network nodes to be verified against the intended state.
      If inconsistency in resource binding is detected by a network node, by
      default the impacted resource-aware SIDs MUST NOT be used for traffic
      forwarding, and an error SHOULD be logged and reported for trouble
      shooting.</t>

      <t>Operators need to specify the policy for traffic which exceeds the
      allocated resources of the resource-aware SID carried. The options
      include: drop the traffic, lower the priority and treat as best-effort,
      etc. When fallback to best-effort is chosen, the event of fallback
      SHOULD be logged and reported.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The security considerations of segment routing and SRv6 in <xref
      target="RFC8402"/> <xref target="RFC8660"/> <xref target="RFC8754"/>,
      <xref target="RFC8986"/> and <xref
      target="I-D.ietf-spring-srv6-security"/> are applicable to this
      document.</t>

      <t>The allocation of network resources, the association of
      resource-aware SIDs with the allocated network resources, and the
      distribution of information of the resource-aware SIDs together with the
      associated TE attributes MUST be performed over control or management
      protocol channels that provide mutual authentication, authorization,
      integrity protection, and replay protection, and SHOULD provide
      confidentiality where the channel carries network topology or
      resource-capacity information. The specifications of the control or
      management plane protocols for resource-aware segments MUST specify how
      these security properties are provided. When the control plane of
      resource-aware segments is based on Flex-Algo, the security threats
      described in section 17 of <xref target="RFC9350"/> need to be
      considered, as the hijack of a Flex-Algo which associates with an NRP
      would compromise not just path selection but also resource isolation
      correctness.</t>

      <t>A compromised or misconfigured controller, or a node with local
      configuration authority, could allocate sufficient network resources and
      resource-aware SIDs to exhaust link or node resources, thereby starving
      the base SR forwarding plane. The allocation of network resources and
      resource-aware SIDs MUST be under some admission control, and
      implementations MUST reject network resource and resource-aware SIDs
      allocation when it would exceed a configurable threshold, ensuring that
      base SR forwarding plane availability cannot be compromised by resource
      exhaustion.</t>

      <t>The resource-aware SIDs may be used for provisioning of SR paths or
      NRPs to carry traffic with specific SLA requirements (such as latency).
      By disrupting the SLA of such traffic an attack can be directly targeted
      at the customer application, or can be targeted at the network operator
      by causing them to violate their SLA, triggering commercial
      consequences. Dynamic attacks of this sort are not something that
      networks have conventionally guarded against, and the mechanisms
      described in earlier this section need to be used to defend against this
      type of attack. By rigorously policing ingress traffic and carefully
      provisioning network resources provided to such services, this type of
      attack can be prevented. However care needs to be taken when providing
      shared resources, and when the network needs to be reconfigured as part
      of ongoing maintenance or in response to a failure.</t>

      <t>A compromised network node may choose not to actually allocate the
      claimed resources to the resource-aware SIDs, overstate the available
      resources, or selectively degrade specific NRPs, this may result in the
      expected SLA being disrupted due to lack of resource guarantee.</t>

      <t>The resource-aware SIDs carried in data packets can reveal not just
      where the packets go, but also the corresponding NRPs. The details about
      resource allocation in the underlay network MUST NOT be exposed to third
      parties, so as to prevent attacks aimed at exploiting shared network
      resources.</t>
    </section>

    <section title="Contributors">
      <t><figure>
          <artwork><![CDATA[Stewart Bryant
Email: stewart.bryant@gmail.com

Francois Clad
Email: fclad@cisco.com

Zhenbin Li
Email: lizhenbin@huawei.com

Zhibo Hu
Email: huzhibo@huawei.com

Joel Halpern
Email: jmh@joelhalpern.com
]]></artwork>
        </figure></t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors would like to thank Mach Chen, Stefano Previdi, Charlie
      Perkins, Bruno Decraene, Loa Andersson, Alexander Vainshtein, John Drake
      and Alvaro Retana for the valuable discussion and suggestions to this
      document.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.2119'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.3031'?>

      <?rfc include='reference.RFC.8402'?>

      <?rfc include='reference.RFC.8660'?>

      <?rfc include='reference.RFC.8754'?>

      <?rfc include='reference.RFC.8986'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.2702'?>

      <?rfc include='reference.RFC.2474'?>

      <?rfc include='reference.RFC.2475'?>

      <?rfc include='reference.RFC.4915'?>

      <?rfc include='reference.RFC.5120'?>

      <?rfc include='reference.RFC.6241'?>

      <?rfc include='reference.RFC.7942'?>

      <?rfc include='reference.RFC.7950'?>

      <?rfc include='reference.RFC.8570'?>

      <?rfc include='reference.RFC.7471'?>

      <?rfc include='reference.RFC.8664'?>

      <?rfc include='reference.RFC.8665'?>

      <?rfc include='reference.RFC.8667'?>

      <?rfc include='reference.RFC.9085'?>

      <?rfc include='reference.RFC.9256'?>

      <?rfc include='reference.RFC.9350'?>

      <?rfc include='reference.RFC.9352'?>

      <?rfc include='reference.RFC.9513'?>

      <?rfc include='reference.RFC.9514'?>

      <?rfc include='reference.RFC.9543'?>

      <?rfc include='reference.RFC.9603'?>

      <?rfc include='reference.RFC.9732'?>

      <?rfc include='reference.RFC.9830'?>

      <?rfc include='reference.I-D.ietf-spring-sr-policy-yang'?>

      <?rfc include='reference.I-D.ietf-teas-nrp-yang'?>

      <?rfc include='reference.I-D.ietf-spring-srv6-security'?>

      <reference anchor="FLEXE"
                 target="https://www.oiforum.com/wp-content/uploads/2019/01/OIF-FLEXE-01.0.pdf">
        <front>
          <title>Flex Ethernet Implementation Agreement</title>

          <author>
            <organization/>
          </author>

          <date month="March" year="2016"/>
        </front>
      </reference>

      <reference anchor="SPRING-WG-POLICIES"
                 target="https://wiki.ietf.org/en/group/spring/WG_Policies">
        <front>
          <title>SPRING Working Group Policies</title>

          <author fullname="SPRING Working Group Chairs">
            <organization/>
          </author>

          <date day="14" month="October" year="2022"/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
