<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-watal-srv6ops-srv6-sfc-deployment-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="SRv6 SFC Deployment">SRv6 Service Function Chaining Deployment</title>
    <seriesInfo name="Internet-Draft" value="draft-watal-srv6ops-srv6-sfc-deployment-00"/>
    <author initials="W." surname="Mishima" fullname="Wataru Mishima">
      <organization>Kanagawa Institute of Technology</organization>
      <address>
        <postal>
          <country>Japan</country>
        </postal>
        <email>mishima@nw.kanagawa-it.ac.jp</email>
      </address>
    </author>
    <author initials="Y." surname="Fukagawa" fullname="Yuta Fukagawa">
      <organization>Kanagawa Institute of Technology</organization>
      <address>
        <postal>
          <country>Japan</country>
        </postal>
        <email>fukagawa@nw.kanagawa-it.ac.jp</email>
      </address>
    </author>
    <date year="2026" month="July" day="05"/>
    <area>Operations and Management</area>
    <workgroup>srv6ops</workgroup>
    <keyword>SRv6</keyword>
    <keyword>Service Function Chaining</keyword>
    <keyword>Operations</keyword>
    <keyword>Deployment</keyword>
    <keyword>IPv6</keyword>
    <abstract>
      <?line 70?>

<t>This document describes the deployment and operational experience of the SRv6 Service Function Chaining (SFC) architecture defined in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/> on an academic IPv6 backbone network.</t>
      <t>The deployed system integrates SRv6 forwarding, service function management, topology collection, path computation, and flow classification to enable dynamic provisioning of SFC services via a web-based management interface.</t>
      <t>This document summarizes the deployment architecture, operational workflow, experience, and lessons learned, and provides guidance for network operators deploying SRv6 SFC services.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    SRv6 Operations Working Group mailing list (srv6ops@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/srv6ops/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/watal/draft-watal-srv6ops-srv6-sfc-deployment"/>.</t>
    </note>
  </front>
  <middle>
    <?line 78?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing over IPv6 (SRv6) <xref target="RFC8986"/> enables packet steering through a set of instructions called a segment list.</t>
      <t>Service Function Chaining (SFC) <xref target="RFC7665"/> can be implemented using SRv6 to steer traffic through SR-aware service functions.</t>
      <t>The architecture of SRv6 SFC with SR-aware functions is described in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>.</t>
      <t>This document does not define any new protocols or protocol extensions.
It documents the deployment and operational experience of the SRv6 SFC architecture on an academic network.</t>
      <t>On-demand instantiation of service function chains requires forwarding, control, management, and application planes to operate as a single coordinated system.</t>
      <t>This document reports on a deployment that integrates these functions on an academic backbone, and summarizes the resulting operational experience.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <section anchor="terminology-defined-in-related-rfcs-and-internet-drafts">
        <name>Terminology Defined in Related RFCs and Internet-Drafts</name>
        <t>The following terms are used in this document as defined in the related RFCs and Internet-Drafts:</t>
        <ul spacing="normal">
          <li>
            <t>SR and Segment Identifier (SID) defined in <xref target="RFC8402"/>.</t>
          </li>
          <li>
            <t>SRv6 defined in <xref target="RFC8986"/>.</t>
          </li>
          <li>
            <t>Headend, Color, and SR Policy defined in <xref target="RFC9256"/>.</t>
          </li>
          <li>
            <t>SFC, Service Function, and Service Function Chain defined in <xref target="RFC7665"/>.</t>
          </li>
          <li>
            <t>Path Computation Client (PCC) and Path Computation Element (PCE) are defined in <xref target="RFC4655"/> and <xref target="RFC5440"/>, respectively.</t>
          </li>
          <li>
            <t>PCEP extensions for SR are defined in <xref target="RFC8664"/>, with SR Policy candidate path extensions further specified in <xref target="RFC9862"/>.</t>
          </li>
          <li>
            <t>BGP-LS defined in <xref target="RFC9552"/>.</t>
          </li>
          <li>
            <t>BGP Flow Specification defined in <xref target="RFC8955"/>.</t>
          </li>
          <li>
            <t>Forwarding Plane, Control Plane, Management Plane, Application Plane defined in <xref target="RFC7426"/>.</t>
          </li>
          <li>
            <t>NFV Infrastructure (NFVI), Virtualized Infrastructure Manager (VIM), and Virtualized Network Function Manager (VNFM) defined in <xref target="RFC8568"/>.</t>
          </li>
          <li>
            <t>Service Segment described in <xref target="I-D.draft-ietf-spring-sr-service-programming"/>.</t>
          </li>
          <li>
            <t>SRv6 SFC architecture, including the Service Function Manager (SFM) and End.AN, described in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <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 anchor="deployment-objectives">
      <name>Deployment Objectives</name>
      <ul spacing="normal">
        <li>
          <t>Validate the SRv6 SFC architecture on a backbone network in practical use.</t>
        </li>
        <li>
          <t>Demonstrate incremental deployment without modifying existing transit backbone routers.</t>
        </li>
        <li>
          <t>Evaluate the operational feasibility of on-demand SFC provisioning.</t>
        </li>
        <li>
          <t>Evaluate end-to-end service operation across forwarding, control, management, and application planes.</t>
        </li>
      </ul>
    </section>
    <section anchor="deployment-environment">
      <name>Deployment Environment</name>
      <t>Figure 1 shows the physical deployment environment.</t>
      <figure anchor="fig-deployment-environment">
        <name>Deployment Environment</name>
        <sourcecode type="drawing"><![CDATA[
 +------------+ +------------+          +------------+ +------------+
 |Video Source| |Video Source|          |Video Source| |Video Source|
 +-----+------+ +-----+------+          +-----+------+ +-----+------+
       \              |                       |              /
        \             |  SINET IPv6 Backbone  |             /
       +-+------------+--+-----------------+--+------------+-+
       |                 |                 |                 |
 +------------+    +------------+    +------------+         ...
 |  SINET DC  |    |  SINET DC  |    |  SINET DC  |
 +------------+    +------------+    +------------+
       |                 |                 |
 +------------+    +------------+    +------------+
 | OpenStack  |    | OpenStack  |    | OpenStack  |
 +------------+    +------------+    +------------+
       |                 |                 |
 +------------+    +------------+    +------------+
 |  Service   |    |  Service   |    |  Service   |
 |  Function  |    |  Function  |    |  Function  |
 +------------+    +------------+    +------------+
]]></sourcecode>
      </figure>
      <section anchor="ipv6-backbone">
        <name>IPv6 Backbone</name>
        <t>The deployment was conducted on SINET, Japan's research and education network interconnecting universities and research institutions.</t>
        <t>SINET provides native IPv6 connectivity among geographically distributed sites.</t>
      </section>
      <section anchor="data-centers">
        <name>Data Centers</name>
        <t>Three geographically distributed data centers in Sapporo, Kanagawa, and Okinawa were selected to evaluate service chaining over a wide-area network.
Each data center provides NFV Infrastructure (NFVI).</t>
      </section>
      <section anchor="video-source-sites">
        <name>Video Source Sites</name>
        <t>University-operated video source servers were located at Kanagawa, Chiba, Ishikawa, and Okinawa.</t>
      </section>
      <section anchor="nfv-infrastructure-and-virtualized-infrastructure-manager">
        <name>NFV Infrastructure and Virtualized Infrastructure Manager</name>
        <t>A virtualized infrastructure was deployed at each selected data center to host SR-aware service functions.
Each site operates OpenStack as the Virtualized Infrastructure Manager (VIM).</t>
      </section>
    </section>
    <section anchor="deployment-architecture">
      <name>Deployment Architecture</name>
      <t>The deployment follows the SRv6 SFC architecture defined in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>.</t>
      <t>The deployed system is organized into four logical planes: the forwarding plane, control plane, management plane, and application plane.
Each plane is responsible for a distinct aspect of service deployment and operation.</t>
      <t>The following subsections describe the role of each plane and its realization in the deployed system.</t>
      <section anchor="overall-architecture">
        <name>Overall Architecture</name>
        <t>Figure 2 illustrates the logical architecture of the deployed system.</t>
        <ul spacing="normal">
          <li>
            <t>The application plane provides the operator interface.</t>
          </li>
          <li>
            <t>The control plane performs topology collection, path computation, and SR Policy provisioning.</t>
          </li>
          <li>
            <t>The management plane deploys and configures service functions.</t>
          </li>
          <li>
            <t>The forwarding plane forwards traffic through SR-aware service functions.</t>
          </li>
        </ul>
        <t>This architecture enables dynamic deployment and operation of SRv6 service function chains while preserving the existing forwarding infrastructure.</t>
        <figure anchor="fig-plane">
          <name>Logical Architecture of the Deployed System</name>
          <sourcecode type="drawing"><![CDATA[
                      +----------------------+
                      |  Application Plane   |
                      +------+------+--------+
                             |      |
                             |      |
            +----------------+      +-----------------+
            |                                         |
 +----------v-----------+                   +---------v---------+
 |    Control Plane     |                   | Management Plane  |
 +----------+-----------+                   +-------------------+
            |                                         |
            +----------------+      +-----------------+
                             |      |
                      +------v------v------+
                      |  Forwarding Plane  |
                      +--------------------+
]]></sourcecode>
        </figure>
      </section>
      <section anchor="forwarding-plane">
        <name>Forwarding Plane</name>
        <t>The forwarding plane consists of the backbone and the SR-aware service functions deployed at geographically distributed data centers.</t>
        <t>Traffic is steered through a sequence of service functions using SRv6 segment lists.
Service functions implement the End.AN behavior to process packets and forward them to the next segment in the service chain.</t>
        <t>The forwarding infrastructure operates on existing backbone routers without requiring modifications, enabling incremental deployment of SRv6 SFC services.</t>
        <t>The forwarding plane is responsible for packet forwarding and service function execution, while service orchestration and policy decisions are handled by the upper planes.</t>
      </section>
      <section anchor="control-plane">
        <name>Control Plane</name>
        <t>The control plane is responsible for topology collection, path computation, and SR Policy provisioning.</t>
        <t>A Path Computation Element (PCE) uses a Traffic Engineering Database (TED) for topology and resource information.</t>
        <t>A BGP daemon performs two functions:</t>
        <ul spacing="normal">
          <li>
            <t>collecting topology information via BGP-LS, including Service Segment advertisements</t>
          </li>
          <li>
            <t>distributing traffic classification rules via BGP Flow Specification</t>
          </li>
        </ul>
      </section>
      <section anchor="management-plane">
        <name>Management Plane</name>
        <t>The management plane is responsible for deploying, configuring, and managing the lifecycle of SR-aware service functions.</t>
        <t>The management plane consists of the following three logically distinct functions:</t>
        <ul spacing="normal">
          <li>
            <t>Virtualized Network Function Manager (VNFM): defined in <xref target="RFC8568"/>, responsible for the lifecycle management of service functions, including issuing instantiation, scaling, and termination requests.</t>
          </li>
          <li>
            <t>VIM: defined in <xref target="RFC8568"/>, responsible for controlling and managing the underlying NFVI compute, storage, and network resources, and for fulfilling the lifecycle requests issued by the VNFM. Service functions are instantiated on this NFVI, as illustrated in Figure 4.</t>
          </li>
          <li>
            <t>Service Function Manager (SFM): defined in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>, responsible for SRv6-specific service configuration after a service function instance becomes operational, including Service SID assignment and endpoint behavior configuration, as illustrated in Figure 5.</t>
          </li>
        </ul>
        <t>Each service function instance operates its own BGP-LS speaker (e.g., implemented as an embedded agent or sidecar process) and advertises its configured Service SID directly to the control plane once the SFM-driven configuration described above is complete.</t>
        <t>The management plane supports reconfiguration and removal of service functions throughout their operational lifecycle.</t>
      </section>
      <section anchor="application-plane">
        <name>Application Plane</name>
        <t>The application plane consists of an operator-facing web-based management interface together with the service orchestration logic.
Based on operator requests, the application plane translates service requirements into intent-based service requests and coordinates the control and management planes to realize them as deployment operations.</t>
        <t>The application plane MAY include closed-loop automation functions that operate on telemetry feedback from the control and management planes.</t>
        <t>Such mechanisms provide policy refinement and intent optimization based on observed service and network conditions.</t>
        <t>These functions are logically separated from the control and management planes and operate at a higher level of abstraction.</t>
      </section>
    </section>
    <section anchor="operational-workflow">
      <name>Operational Workflow</name>
      <t>This section describes the operational workflow for deploying and activating an SRv6 service function chain.
The workflow begins with an operator service request and concludes with traffic steering through the deployed service functions.</t>
      <t>The workflow is illustrated in Figures 4-6.</t>
      <t>The following abbreviations are used:</t>
      <figure anchor="fig-wf-legend">
        <name>Abbreviations Used in Figures 4-6</name>
        <sourcecode type="drawing"><![CDATA[
 Op   = Operator            SFM  = Service Function Manager
 App  = Application         VNF  = Virtualized Network Function
 VNFM = VNF Manager         Ctrl = Controller
 VIM  = Virtualized         Src  = Headend
        Infrastructure      Dest = Tailend
        Manager
]]></sourcecode>
      </figure>
      <t>In Figures 5 and 6, Ctrl represents the control-plane components described in Section 5.3 (the PCE and the BGP daemon) collectively.
The specific component responsible for each message is identified by the corresponding function (e.g., topology/segment advertisement is handled by the BGP daemon, while path computation and SR Policy provisioning are handled by the PCE).</t>
      <t>Figure 4 shows service function instantiation.
Consistent with <xref target="RFC8568"/>, the VNFM issues the lifecycle request and the VIM allocates and provisions the underlying NFVI resources.</t>
      <figure anchor="fig-wf-4">
        <name>NF Instantiation</name>
        <sourcecode type="drawing"><![CDATA[
 Op           App         VNFM          VIM           VNF
  |            |            |            |             |
  |  Service   |            |            |             |
  |  Request   |            |            |             |
  |----------->|            |            |             |
  |            |   Deploy   |            |             |
  |            |    VNF     |            |             |
  |            |----------->|            |             |
  |            |            |Instantiate |             |
  |            |            |----------->|             |
  |            |            |            |Instantiate  |
  |            |            |            |------------>|
  |            |            |            |Instantiated |
  |            |            |            |<------------|
  |            |            |Instance OK |             |
  |            |            |<-----------|             |
  |            |Instance OK |            |             |
  |            |<-----------|            |             |
  |            |            |            |             |
]]></sourcecode>
      </figure>
      <t>Figure 5 shows SRv6-specific service configuration after the service function becomes operational, followed by Service Segment advertisement.</t>
      <figure anchor="fig-wf-5">
        <name>Service Segment Configuration</name>
        <sourcecode type="drawing"><![CDATA[
 App               SFM               VNF              Ctrl
  |                 |                 |                 |
  |     Deploy      |                 |                 |
  |     Segment     |                 |                 |
  |---------------->|                 |                 |
  |                 |    Configure    |                 |
  |                 |   Service SID   |                 |
  |                 |---------------->|                 |
  |                 |                 |    Advertise    |
  |                 |                 |   Service SID   |
  |                 |                 |---------------->|
  |                 | Service SID OK  |                 | Update TED
  |                 |<----------------|                 |
  |     Deploy      |                 |                 |
  |   Segment OK    |                 |                 |
  |<----------------|                 |                 |
  |                 |                 |                 |
]]></sourcecode>
      </figure>
      <t>Figure 6 shows SFC activation, consisting of path computation, SR Policy provisioning, Flow Specification installation, and traffic steering.</t>
      <figure anchor="fig-wf-6">
        <name>SFC Activation and Traffic Steering</name>
        <sourcecode type="drawing"><![CDATA[
 App              Ctrl               Src              Dest
  |                 |                 |                 |
  |     Request     |                 |                 |
  |   Path Compute  |                 |                 |
  |---------------->|                 |                 |
  |                 | Compute Path    |                 |
  |                 |                 |                 |
  |                 |    Provision    |                 |
  |                 |    SR Policy    |                 |
  |                 |---------------->|                 |
  |                 |                 |                 |
  |                 |  SR Policy OK   |                 |
  |                 |<----------------|                 |
  |   SR Policy OK  |                 |                 |
  |<----------------|                 |                 |
  |     Install     |                 |                 |
  |    Flow Rule    |                 |                 |
  |---------------->|                 |                 |
  |                 |    FlowSpec     |                 |
  |                 |---------------->|                 |
  |                 |                 |   SFC Traffic   |
  |                 |                 |    Steering     |
  |                 |                 |---------------->|
  |                 |   FlowSpec OK   |                 |
  |                 |<----------------|                 |
  |   FlowSpec OK   |                 |                 |
  |<----------------|                 |                 |
  |                 |                 |                 |
]]></sourcecode>
      </figure>
      <section anchor="service-request">
        <name>Service Request</name>
        <t>The operational workflow begins when an operator submits a service request through the web-based management interface.</t>
        <t>A service request typically includes:</t>
        <ul spacing="normal">
          <li>
            <t>headend and tailend nodes</t>
          </li>
          <li>
            <t>optional traffic classification rules</t>
          </li>
          <li>
            <t>the required sequence of service functions</t>
          </li>
          <li>
            <t>optional service constraints, such as latency requirements</t>
          </li>
        </ul>
        <t>The application plane translates these service requirements into deployment requests for the control and management planes.</t>
      </section>
      <section anchor="network-function-deployment">
        <name>Network Function Deployment</name>
        <t>If one or more requested service functions are not currently available, new service functions are deployed.</t>
        <t>Deployment may be triggered either by an explicit operator request or automatically based on operational policies, such as resource utilization or closed-loop service management.</t>
      </section>
      <section anchor="service-sid-allocation">
        <name>Service SID Allocation</name>
        <t>After service function deployment and initialization, Service SID allocation is performed by the management plane before BGP-LS advertisement, as described in Section 9.1.</t>
      </section>
      <section anchor="topology-collection">
        <name>Topology Collection</name>
        <t>Topology information is continuously collected via BGP-LS independently of individual service requests.</t>
        <t>Once the service function has completed initialization and health verification, and the Service SID has been configured with the corresponding End.AN behavior, the VNF itself, acting as a BGP-LS speaker, advertises its Service SID information via the BGP-LS extension defined in <xref target="I-D.draft-ietf-idr-bgp-ls-sr-service-segments"/>, which is currently under standardization.</t>
        <t>Until this advertisement is received, or if the advertisement is withdrawn, the service function is not included in the TED and is not considered during path computation.</t>
        <t>The SFM is responsible for monitoring the operational state of service function instances.
When a service function becomes unavailable or is no longer eligible for traffic steering, the SFM MUST withdraw the corresponding Service SID advertisement via BGP-LS.</t>
        <t>Service SID advertisements SHOULD be withdrawn when the corresponding service function becomes unavailable or is no longer eligible for path computation.</t>
        <t>Failure to withdraw stale Service SID information may result in incorrect path computation. The same applies if service function availability is not reflected in the TED in a timely manner: traffic may be steered to non-operational or invalid service functions.</t>
        <t>The control plane maintains the TED based on received BGP-LS advertisements and withdrawals.</t>
      </section>
      <section anchor="path-computation">
        <name>Path Computation</name>
        <t>When a service request is received, the control plane computes an SR Policy satisfying the requested service chain based on the current network topology and the available service functions stored in the TED.</t>
      </section>
      <section anchor="sr-policy-provisioning">
        <name>SR Policy Provisioning</name>
        <t>As illustrated in Figure 6, the computed SR Policy is provisioned to the SR source node acting as the PCC, using PCEP.
The SR Policy specifies the SRv6 segment list representing the selected service function chain.</t>
      </section>
      <section anchor="flow-classification">
        <name>Flow Classification</name>
        <t>If traffic classification is requested, BGP Flow Specification rules are installed, as shown in Figure 6, associating each traffic flow with its SR Policy by Color, to ensure that only the selected traffic flows traverse the deployed service function chain.
Installation ordering relative to SR Policy provisioning is discussed in Section 9.5.</t>
      </section>
      <section anchor="traffic-steering">
        <name>Traffic Steering</name>
        <t>Once the SR Policy and Flow Specification rules shown in Figure 6 are installed, the SR source node begins steering matching traffic through the selected service functions.</t>
      </section>
      <section anchor="monitoring">
        <name>Monitoring</name>
        <t>Operational status is continuously monitored throughout the service lifecycle using telemetry collected from both the network and infrastructure.</t>
        <t>Monitoring data is used to verify service availability and support operational troubleshooting.</t>
        <t>In addition, operators MAY verify correct traffic steering using SR path tracing or in-band telemetry mechanisms.</t>
      </section>
      <section anchor="service-update-and-removal">
        <name>Service Update and Removal</name>
        <t>The deployed system supports updates throughout the service lifecycle.</t>
        <t>Typical operations include:</t>
        <ul spacing="normal">
          <li>
            <t>modifying service function chains</t>
          </li>
          <li>
            <t>removing service function chains</t>
          </li>
          <li>
            <t>redeploying failed service functions</t>
          </li>
          <li>
            <t>removing service functions</t>
          </li>
        </ul>
        <t>Service updates are performed while maintaining consistency between the forwarding, control, management, and application planes.</t>
      </section>
    </section>
    <section anchor="deployment-experience">
      <name>Deployment Experience</name>
      <t>This section describes the deployment and operational experience of the SRv6 SFC architecture.</t>
      <t>The deployed system supported a remote video production service.</t>
      <t>The following subsections describe the deployed architecture, the deployed service, and the resulting operational observations.</t>
      <section anchor="deployed-system-architecture">
        <name>Deployed System Architecture</name>
        <t>The deployment used the environment described in Section 4.</t>
        <t>The deployed system implements the following components:</t>
        <ul spacing="normal">
          <li>
            <t>Application plane: a web-based management interface and service orchestration component.</t>
          </li>
          <li>
            <t>Control plane: Pola PCE for path computation and SR Policy provisioning, together with GoBGP for BGP-LS topology collection and BGP Flow Specification distribution.</t>
          </li>
          <li>
            <t>Management plane: a VNFM, OpenStack as the VIM, and Ansible as the SFM.</t>
          </li>
          <li>
            <t>Forwarding plane: the existing backbone and distributed SR-aware service functions.</t>
          </li>
        </ul>
      </section>
      <section anchor="service-deployment">
        <name>Service Deployment</name>
        <t>Video streams from the video source sites described in Section 4.3 were dynamically steered through SR-aware service functions deployed in the Sapporo, Kanagawa, and Okinawa data centers.</t>
        <t>The service functions performed video switching, transcoding, and caption insertion before forwarding the processed streams to the production system.</t>
        <t>Operators created service function chains through the web-based management interface.</t>
        <t>The management plane instantiated the distributed service functions, after which Service SIDs were assigned and the corresponding information was advertised via BGP-LS.</t>
      </section>
      <section anchor="operational-benefits">
        <name>Operational Benefits</name>
        <t>The deployed system demonstrated several operational benefits.</t>
        <ul spacing="normal">
          <li>
            <t>No modifications to the existing backbone infrastructure were required for deployment or operation.</t>
          </li>
          <li>
            <t>Service functions were deployed on demand using existing cloud infrastructure.</t>
          </li>
          <li>
            <t>SR Policies and Flow Specification rules were automatically generated.</t>
          </li>
          <li>
            <t>Operators manage services through an intent-based interface, without requiring awareness of low-level network details, thereby reducing operational complexity.</t>
          </li>
          <li>
            <t>Newly deployed service functions became available for path computation once Service SID advertisement (Section 6.4) was completed.</t>
          </li>
        </ul>
      </section>
      <section anchor="scalability-considerations">
        <name>Scalability Considerations</name>
        <t>This deployment demonstrated that the architecture can scale incrementally by deploying additional SRv6-capable service function nodes without changing the overall control architecture.</t>
        <t>Once the application, control, and management components are deployed, additional SR-aware service functions can be instantiated or removed using the VIM's native scaling mechanisms.</t>
        <t>These service functions become available for path computation without requiring manual updates to the controller configuration.</t>
      </section>
    </section>
    <section anchor="lessons-learned">
      <name>Lessons Learned</name>
      <t>This section describes observed operational behaviors.
It does not specify requirements or recommendations.</t>
      <t>During the deployment of the SRv6 SFC system over the backbone, several operational issues and design insights were identified.
This section summarizes key observations obtained from real-world operation.</t>
      <section anchor="service-verification-and-observability">
        <name>Service Verification and Observability</name>
        <t>Verifying end-to-end service correctness required more than monitoring SR Policy status or the operational state of service functions.</t>
        <t>In the deployed video processing service, it also required application-layer verification, comparing input and output video streams at the video source sites in Chiba and Kanagawa with the corresponding output from the service function chain, to confirm that traffic was processed correctly.</t>
        <t>This experience indicates that, for content-modifying services, application-layer verification is a necessary complement to network- and infrastructure-layer monitoring, and cannot be replaced by monitoring SR Policy or service function status alone.</t>
      </section>
      <section anchor="latency-aware-service-function-placement">
        <name>Latency-Aware Service Function Placement</name>
        <t>This section addresses the placement of SR-aware service functions.
For control-, management-, and application-plane component placement, see Section 9.2.</t>
        <t>Because data centers are geographically distributed, inter-site latency has a measurable impact on service performance.</t>
        <t>For latency-sensitive applications such as real-time video processing, cumulative path latency across multiple sites is an important consideration for service function placement.</t>
        <t>In the deployed system, service function placement was determined manually based on operator knowledge of the network topology and latency characteristics.</t>
        <t>While the underlying architecture supports adding service function nodes incrementally (Section 7.4), this manual placement decision process becomes increasingly difficult to manage as the number of deployment sites increases.</t>
        <t>This experience led to the operational recommendations in Section 9.2, which describe latency-aware and topology-aware approaches to service function placement.</t>
      </section>
      <section anchor="service-orchestration-timing-and-consistency-issues">
        <name>Service Orchestration Timing and Consistency Issues</name>
        <t>Correct service operation depends on the relative timing among service function readiness, Service SID advertisement, SR Policy provisioning, and Flow Specification installation.</t>
        <t>Service SID advertisement may occur before control-plane state (e.g., BGP-LS updates and TED synchronization) has fully converged. In such cases, service functions may become eligible for path computation before downstream SR Policy provisioning is completed.</t>
        <t>Similarly, Flow Specification rules may be installed before the corresponding SR Policy becomes operational. This can result in transient traffic misclassification or blackholing, particularly when an existing SR Policy is modified or replaced.</t>
        <t>Synchronization delays between the management plane (VNFM and SFM), control plane (PCE and BGP-LS), and forwarding plane may further introduce temporary inconsistencies in service availability information.</t>
        <t>These issues motivated the operational sequencing recommendations described in Section 9.5.</t>
      </section>
      <section anchor="multi-domain-state-correlation-limitations">
        <name>Multi-domain State Correlation Limitations</name>
        <t>The deployed system spans multiple VIM domains distributed across geographically separated data centers.</t>
        <t>As a result, operational state is distributed across network, cloud, and application layers, each observed using independent monitoring tools.
There is no unified mechanism to correlate SR Policy state, service function status, and application-layer verification results (Section 8.1) across these domains.</t>
        <t>Consequently, troubleshooting required manual correlation of information from multiple sources, including control-plane telemetry, NFVI-level monitoring, and application-level validation.
This lack of integrated observability increased the time required to diagnose service degradation and failure scenarios, particularly when issues spanned multiple layers of the architecture.</t>
        <t>A unified multi-layer observability framework, capable of correlating network, cloud, and application states using consistent identifiers, is essential for efficient operation of SRv6 SFC deployments at scale.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>SRv6 SFC deployments require coordination among the control, management, and application planes to ensure consistent service operations.</t>
      <section anchor="service-sid-allocation-1">
        <name>Service SID Allocation</name>
        <t>Building on the Service SID allocation described in Section 6.3, Service SID uniqueness within the SR domain MUST be ensured.
Uniqueness is ensured at two distinct levels, corresponding to the Locator and Function fields of an SRv6 SID <xref target="RFC8986"/>.</t>
        <t>Reachability to the node hosting a service function is provided by the SRv6 Locator assigned to that node and advertised through normal IGP/BGP routing.
Transit nodes along the path only need to maintain reachability to this Locator; they are not required to be aware of the Service SIDs corresponding to individual service functions providing the End.AN behavior.
Within a given Locator, however, the Function field associated with a specific End.AN behavior MUST be uniquely assigned so as not to collide with other service functions sharing the same Locator.</t>
        <t>Because this Function value assignment is not visible to the routing and forwarding plane, it SHOULD be coordinated by the management plane (e.g., the SFM) prior to advertisement.
It SHOULD also be verified against the current TED maintained by the control plane via BGP-LS, to prevent collisions across data centers and service functions.</t>
        <t>A centralized allocation mechanism SHOULD be used, where the SFM queries the current TED via the control plane to determine available Function space, and assigns Function values accordingly before advertisement, thereby preventing address collisions across data centers and simplifying multi-site service deployment.</t>
      </section>
      <section anchor="system-component-placement">
        <name>System Component Placement</name>
        <t>Because this deployment spans geographically distributed data centers, the placement of service functions and control, management, and application plane components has an impact on system performance and scalability.</t>
        <t>Service function placement affects both path latency and traffic load distribution across the SR domain.
As discussed in Section 8.2, placement SHOULD be based on measured inter-site latency between ingress points (e.g., video source sites), data centers, and egress points (e.g., the production system), rather than static assumptions.
It SHOULD further consider NFVI resource availability at each data center and the current load distribution of already deployed service functions, to avoid overloading specific data centers.
The VIM's native scaling mechanisms (Section 7.4) MAY be used to instantiate or remove service function instances in response to these decisions.</t>
        <t>Placement of control, management, and application plane components also requires careful consideration, but the relevant constraint depends on interaction frequency.
Interactions between the application plane and the control and management planes (e.g., service deployment, configuration, SR Policy provisioning, and path computation requests) occur repeatedly throughout the service lifecycle.</t>
        <t>In contrast, interactions between operators and the application plane (e.g., service requests and status queries) are less frequent, so greater physical separation is acceptable.
Therefore, co-location of the application plane with the control and management planes SHOULD be prioritized over proximity to operators or video source sites.</t>
        <t>In the described deployment, the application plane, VNFM, SFM, and the control plane (Pola PCE and GoBGP) were co-located at the Kanagawa data center to minimize inter-component latency.</t>
        <t>However, each data center operates an independent VIM instance (OpenStack) to manage its local NFVI resources, as described in Section 4.4.</t>
        <t>The VNFM interacts with these per-site VIM instances to issue lifecycle requests, thereby providing operators with a logically centralized management view across the distributed VIM instances.</t>
        <t>A logically centralized controller and management architecture SHOULD be used to ensure consistent path computation, service configuration, and policy enforcement across the SR domain.
For large-scale deployments, a hierarchical controller and management model MAY be used to improve scalability while preserving global policy consistency.</t>
      </section>
      <section anchor="failure-recovery">
        <name>Failure Recovery</name>
        <t>Failure recovery follows the mechanisms defined in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>.</t>
        <t>In operational deployments, fast reroute at the forwarding plane can maintain connectivity, but service-level state consistency is not guaranteed during failover events. During failover, traffic may be redirected to a different service function instance that does not share the same processing state.</t>
        <t>Therefore, service functions MUST be designed to tolerate such state inconsistencies, for example through buffering, state re-synchronization, idempotent processing, or other application-specific recovery mechanisms.</t>
      </section>
      <section anchor="observability">
        <name>Observability</name>
        <t>A multi-layer observability framework SHOULD include:</t>
        <ul spacing="normal">
          <li>
            <t>SRv6 topology and SR Policy state</t>
          </li>
          <li>
            <t>Flow classification and traffic steering behavior</t>
          </li>
          <li>
            <t>Service function health and availability</t>
          </li>
          <li>
            <t>Virtual infrastructure resource utilization</t>
          </li>
        </ul>
        <t>This framework SHOULD include a unified telemetry system spanning both network and cloud domains, enabling cross-layer analysis for rapid fault detection and diagnosis.</t>
        <t>For content-modifying services (e.g., video processing), application-layer verification MAY also be required to compare input and output streams.</t>
      </section>
      <section anchor="operational-sequencing">
        <name>Operational Sequencing</name>
        <t>Automated orchestration SHOULD ensure correct sequencing of:</t>
        <ol spacing="normal" type="1"><li>
            <t>Service function instantiation</t>
          </li>
          <li>
            <t>Service SID assignment and service configuration</t>
          </li>
          <li>
            <t>Readiness verification</t>
          </li>
          <li>
            <t>BGP-LS advertisement</t>
          </li>
          <li>
            <t>SR Policy provisioning</t>
          </li>
          <li>
            <t>Flow Specification installation</t>
          </li>
        </ol>
        <t>In addition, operators SHOULD apply the following practices to avoid impacting existing traffic during deployment or updates.</t>
        <t>New services SHOULD be assigned distinct SR Policy colors whenever possible, so that Flow Specification rules for those services do not affect existing traffic during deployment.</t>
        <t>When an existing SR Policy is modified or replaced, Flow Specification rules SHOULD be updated only after the replacement SR Policy has been successfully provisioned and verified as operational.</t>
        <t>Operators SHOULD verify service readiness and SR Policy operability before enabling or updating Flow Specification rules for traffic steering.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations in <xref target="RFC8402"/>, <xref target="RFC8986"/>, and <xref target="RFC9256"/> apply to this deployment, which relies on the SR domain trust model described in <xref target="RFC8402"/>.
Operators MUST ensure that SRv6 packets originating outside the trusted SR domain are not processed as SRv6 traffic at domain boundaries.</t>
      <t>This deployment provisions SR Policies to SR source nodes directly via PCEP, consistent with the PCE-initiated LSP model described in <xref target="RFC8231"/> and <xref target="RFC8281"/>.
Without adequate protection, an attacker could inject or modify PCEP messages to provision unauthorized SR Policies.
Operators MUST ensure that PCEP sessions used for SR Policy provisioning are protected using appropriate authentication, authorization, and integrity protection mechanisms.</t>
      <t>Because service functions are instantiated dynamically and become eligible for path computation after Service SID advertisement (see Section 6.4), operators SHOULD ensure that Service SID information is advertised only for authenticated and authorized service functions.</t>
      <t>The management plane SHOULD verify the identity and integrity of a service function instance before advertising its Service SID into the SR domain.
If this verification is not performed, a rogue or compromised service function could be selected during path computation, resulting in traffic being steered to an unauthorized function.</t>
      <t>The export of topology and traffic engineering information via BGP-LS, as described in <xref target="RFC9552"/>, may expose commercially sensitive network information.</t>
      <t>Operators MUST ensure that topology and Service SID information advertised via BGP-LS is protected against unauthorized modification or injection.</t>
      <t>Operators SHOULD ensure that BGP-LS topology and Service SID information is distributed only to authorized consumers.</t>
      <t>Management interfaces SHOULD be protected using mutually authenticated secure transport protocols.</t>
      <t>Operators MUST ensure that traffic classification rules and Color values used to associate them with SR Policies are protected against unauthorized modification or injection using appropriate authentication, authorization, and integrity protection mechanisms.</t>
      <t>Unauthorized modification or compromise of traffic classification rules, Color values, or SR Policies may result in unintended traffic steering, service misbehavior, or service disruption.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8568">
          <front>
            <title>Network Virtualization Research Challenges</title>
            <author fullname="CJ. Bernardos" initials="CJ." surname="Bernardos"/>
            <author fullname="A. Rahman" initials="A." surname="Rahman"/>
            <author fullname="JC. Zuniga" initials="JC." surname="Zuniga"/>
            <author fullname="LM. Contreras" initials="LM." surname="Contreras"/>
            <author fullname="P. Aranda" initials="P." surname="Aranda"/>
            <author fullname="P. Lynch" initials="P." surname="Lynch"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document describes open research challenges for network virtualization. Network virtualization is following a similar path as previously taken by cloud computing. Specifically, cloud computing popularized migration of computing functions (e.g., applications) and storage from local, dedicated, physical resources to remote virtual functions accessible through the Internet. In a similar manner, network virtualization is encouraging migration of networking functions from dedicated physical hardware nodes to a virtualized pool of resources. However, network virtualization can be considered to be a more complex problem than cloud computing as it not only involves virtualization of computing and storage functions but also involves abstraction of the network itself. This document describes current research and engineering challenges in network virtualization including the guarantee of quality of service, performance improvement, support for multiple domains, network slicing, service composition, device virtualization, privacy and security, separation of control concerns, network function placement, and testing. In addition, some proposals are made for new activities in the IETF and IRTF that could address some of these challenges. This document is a product of the Network Function Virtualization Research Group (NFVRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8568"/>
          <seriesInfo name="DOI" value="10.17487/RFC8568"/>
        </reference>
        <reference anchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions" target="https://datatracker.ietf.org/doc/html/draft-watal-spring-srv6-sfc-sr-aware-functions-05">
          <front>
            <title>SRv6 SFC Architecture with SR-aware Functions</title>
            <author initials="W." surname="Mishima" fullname="Wataru Mishima">
              <organization/>
            </author>
            <author initials="Y." surname="Fukagawa" fullname="Yuta Fukagawa">
              <organization/>
            </author>
            <date year="2026" month="July" day="04"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-watal-spring-srv6-sfc-sr-aware-functions-05"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7426">
          <front>
            <title>Software-Defined Networking (SDN): Layers and Architecture Terminology</title>
            <author fullname="E. Haleplidis" initials="E." role="editor" surname="Haleplidis"/>
            <author fullname="K. Pentikousis" initials="K." role="editor" surname="Pentikousis"/>
            <author fullname="S. Denazis" initials="S." surname="Denazis"/>
            <author fullname="J. Hadi Salim" initials="J." surname="Hadi Salim"/>
            <author fullname="D. Meyer" initials="D." surname="Meyer"/>
            <author fullname="O. Koufopavlou" initials="O." surname="Koufopavlou"/>
            <date month="January" year="2015"/>
            <abstract>
              <t>Software-Defined Networking (SDN) refers to a new approach for network programmability, that is, the capacity to initialize, control, change, and manage network behavior dynamically via open interfaces. SDN emphasizes the role of software in running networks through the introduction of an abstraction for the data forwarding plane and, by doing so, separates it from the control plane. This separation allows faster innovation cycles at both planes as experience has already shown. However, there is increasing confusion as to what exactly SDN is, what the layer structure is in an SDN architecture, and how layers interface with each other. This document, a product of the IRTF Software-Defined Networking Research Group (SDNRG), addresses these questions and provides a concise reference for the SDN research community based on relevant peer-reviewed literature, the RFC series, and relevant documents by other standards organizations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7426"/>
          <seriesInfo name="DOI" value="10.17487/RFC7426"/>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC8664">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Hardwick" initials="J." surname="Hardwick"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks.</t>
              <t>This document updates RFC 8408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8664"/>
          <seriesInfo name="DOI" value="10.17487/RFC8664"/>
        </reference>
        <reference anchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl"/>
            <author fullname="S. Hares" initials="S." surname="Hares"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="M. Bacher" initials="M." surname="Bacher"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t>This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
        <reference anchor="RFC9552">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="RFC9862">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="S. Sidor" initials="S." surname="Sidor"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="S. Peng" initials="S." surname="Peng"/>
            <author fullname="H. Bidgoli" initials="H." surname="Bidgoli"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>A Segment Routing (SR) Policy is an ordered list of instructions called "segments" that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated. An SR Policy is made of one or more Candidate Paths.</t>
              <t>This document specifies the Path Computation Element Communication Protocol (PCEP) extension to signal Candidate Paths of an SR Policy. Additionally, this document updates RFC 8231 to allow delegation and setup of an SR Label Switched Path (LSP) without using the path computation request and reply messages. This document is applicable to both Segment Routing over MPLS (SR-MPLS) and Segment Routing over IPv6 (SRv6).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9862"/>
          <seriesInfo name="DOI" value="10.17487/RFC9862"/>
        </reference>
        <reference anchor="I-D.draft-ietf-spring-sr-service-programming">
          <front>
            <title>Service Programming with Segment Routing</title>
            <author fullname="Ahmed Abdelsalam" initials="A." surname="Abdelsalam">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Xiaohu Xu" initials="X." surname="Xu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Daniel Bernier" initials="D." surname="Bernier">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Shaowen Ma" initials="S." surname="Ma">
              <organization>Mellanox</organization>
            </author>
            <author fullname="Chaitanya Yadlapalli" initials="C." surname="Yadlapalli">
              <organization>AT&amp;T</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization>Nokia</organization>
            </author>
            <author fullname="Stefano Salsano" initials="S." surname="Salsano">
              <organization>Universita di Roma "Tor Vergata"</organization>
            </author>
            <date day="3" month="November" year="2025"/>
            <abstract>
              <t>   This document defines data plane functionality required to implement
   service segments and achieve service programming in SR-enabled MPLS
   and IPv6 networks, as described in the Segment Routing architecture.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-service-programming-12"/>
        </reference>
        <reference anchor="I-D.draft-ietf-idr-bgp-ls-sr-service-segments">
          <front>
            <title>BGP-LS Advertisement of Segment Routing Service Segments</title>
            <author fullname="Gaurav Dawra" initials="G." surname="Dawra">
              <organization>LinkedIn</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Francois Clad" initials="F." surname="Clad">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Daniel Bernier" initials="D." surname="Bernier">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Jim Uttaro" initials="J." surname="Uttaro">
              <organization>AT&amp;T</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Hani Elmalky" initials="H." surname="Elmalky">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Xiaohu Xu" initials="X." surname="Xu">
              <organization>Capitalonline</organization>
            </author>
            <author fullname="Jim Guichard" initials="J." surname="Guichard">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="5" month="November" year="2022"/>
            <abstract>
              <t>   Service functions are deployed as, physical or virtualized elements
   along with network nodes or on servers in data centers.  Segment
   Routing (SR) brings in the concept of segments which can be
   topological or service instructions.  Service segments are SR
   segments that are associated with service functions.  SR Policies are
   used for the setup of paths for steering of traffic through service
   functions using their service segments.

   BGP Link-State (BGP-LS) enables distribution of topology information
   from the network to a controller or an application in general so it
   can learn the network topology.  This document specifies the
   extensions to BGP-LS for the advertisement of service functions along
   their associated service segments.  The BGP-LS advertisement of
   service function information along with the network nodes that they
   are attached to, or associated with, enables controllers compute and
   setup service paths in the network.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ls-sr-service-segments-02"/>
        </reference>
      </references>
    </references>
    <?line 658?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Mitsuru Maruyama, Katsuhiro Sebayashi, Taisei Tanabe, Ryuta Futami, and Takashi Kurimoto for their valuable reviews.</t>
      <t>This work was partially supported by JST CRONOS (No. JPMJCS24N9).</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
