<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-watal-srv6ops-srv6-sfc-deployment-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="SRv6 SFC Deployment">SRv6 Service Function Chaining Deployment</title>
    <seriesInfo name="Internet-Draft" value="draft-watal-srv6ops-srv6-sfc-deployment-01"/>
    <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="November" day="02"/>
    <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 101?>

<t>This document describes the deployment and operational experience of the SRv6 Service Function Chaining (SFC) architecture described 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 on-demand provisioning of SFC services via a web-based management interface.</t>
      <t>This document summarizes the deployment architecture and operational workflow, reports on deployment experience and lessons learned, and provides guidance for operators deploying SRv6 SFC services.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-watal-srv6ops-srv6-sfc-deployment/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        srv6ops Working Group mailing list (<eref target="mailto:srv6ops@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/srv6ops/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/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 109?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing over IPv6 (SRv6) <xref target="RFC8986"/> enables packet steering through an ordered list of instructions called a segment list.</t>
      <t>Service Function Chaining (SFC) <xref target="RFC7665"/> can be implemented using SRv6 to steer traffic through a sequence of 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 reports on the deployment and operational experience of this architecture on an academic IPv6 backbone network.
It does not define any new protocols or protocol extensions.
It describes the deployment environment, system architecture, and operational workflow, and discusses the operational benefits, challenges, lessons learned, and considerations for operators deploying SRv6 SFC services.</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) are defined in <xref target="RFC8402"/>.</t>
          </li>
          <li>
            <t>SRv6 is defined in <xref target="RFC8986"/>.</t>
          </li>
          <li>
            <t>Headend, Color, and SR Policy are defined in <xref target="RFC9256"/>.</t>
          </li>
          <li>
            <t>SFC, Service Function, and Service Function Chain are defined in <xref target="RFC7665"/>.</t>
          </li>
          <li>
            <t>Path Computation Client (PCC) and Path Computation Element (PCE) are defined in <xref target="RFC4655"/>.</t>
          </li>
          <li>
            <t>The Path Computation Element Communication Protocol (PCEP) is defined in <xref target="RFC5440"/>.</t>
          </li>
          <li>
            <t>PCEP extensions for IPv6 Segment Routing are defined in <xref target="RFC9603"/>.</t>
          </li>
          <li>
            <t>PCEP extensions for SR Policy candidate paths are defined in <xref target="RFC9862"/>.</t>
          </li>
          <li>
            <t>BGP-LS is defined in <xref target="RFC9552"/>.</t>
          </li>
          <li>
            <t>BGP Flow Specification is defined in <xref target="RFC8955"/> and <xref target="RFC8956"/>.</t>
          </li>
          <li>
            <t>Forwarding Plane, Control Plane, Management Plane, and Application Plane are defined in <xref target="RFC7426"/>.</t>
          </li>
          <li>
            <t>NFV Infrastructure (NFVI), Virtualized Infrastructure Manager (VIM), and Virtualized Network Function Manager (VNFM) are defined in <xref target="RFC8568"/>.</t>
          </li>
          <li>
            <t>Service Segment is described in <xref target="I-D.draft-ietf-spring-srv6-service-programming"/>.</t>
          </li>
          <li>
            <t>The SRv6 SFC architecture, including the Service Function Manager (SFM) and End.AN, is 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>Demonstrate the SRv6 SFC architecture on an academic IPv6 backbone spanning geographically distributed sites.</t>
        </li>
        <li>
          <t>Demonstrate the feasibility of incremental deployment without modifying existing transit backbone routers.</t>
        </li>
        <li>
          <t>Evaluate the operational feasibility of on-demand SFC provisioning.</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 Hokkaido, Kanagawa, and Okinawa were selected to evaluate service chaining over a wide-area network.</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>Each data center provides NFV Infrastructure (NFVI) to host SR-aware service functions and operates an independent OpenStack-based Virtualized Infrastructure Manager (VIM).</t>
      </section>
    </section>
    <section anchor="deployment-architecture">
      <name>Deployment Architecture</name>
      <t>The deployment follows the SRv6 SFC architecture described 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.</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, SR Policy provisioning, and flow classification.</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>The deployed system 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 existing IPv6 backbone and SR-aware service functions deployed at geographically distributed data centers.
The backbone's transit routers require no SRv6-specific modifications.</t>
        <t>Traffic is steered through a sequence of service functions using SRv6 segment lists.
Each SR-aware service function is associated with an End.AN SID to process packets and forward them to the next segment in the service chain.</t>
      </section>
      <section anchor="control-plane">
        <name>Control Plane</name>
        <t>The control plane is responsible for topology collection, path computation, SR Policy provisioning, and flow classification.</t>
        <t>It consists of a Path Computation Element (PCE), a Classification Rule Controller, and a BGP daemon.</t>
        <t>The PCE uses a Traffic Engineering Database (TED) containing topology and resource information to compute paths and provision SR Policies.</t>
        <t>The Classification Rule Controller generates BGP Flow Specification rules based on flow classification requirements received from the application plane.</t>
        <t>The BGP daemon provides the following functions:</t>
        <ul spacing="normal">
          <li>
            <t>Collecting topology information via BGP-LS, including Service SID advertisements.</t>
          </li>
          <li>
            <t>Distributing BGP Flow Specification rules generated by the Classification Rule Controller to the SR source nodes.</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>It consists of three logically distinct functions:</t>
        <ul spacing="normal">
          <li>
            <t>Virtualized Network Function Manager (VNFM): defined in <xref target="RFC8568"/>, responsible for managing the lifecycle of service functions, including instantiation, scaling, and termination.</t>
          </li>
          <li>
            <t>Virtualized Infrastructure Manager (VIM): defined in <xref target="RFC8568"/>, responsible for managing NFVI compute, storage, and network resources. Each data center has an independent VIM. A single VNFM manages the lifecycle of service functions across all data centers, interacting with the corresponding VIMs.</t>
          </li>
          <li>
            <t>Service Function Manager (SFM): defined in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>, responsible for configuring SRv6-specific service parameters, including Service SID allocation and End.AN behavior, after the service function instance becomes operational (Figure 5). The allocation procedure is described in Section 9.1.</t>
          </li>
        </ul>
        <t>Each service function instance operates its own BGP-LS speaker (e.g., an embedded agent or sidecar process).
After receiving the Service SID and End.AN configuration from the SFM, the instance advertises its Service SID to the control plane.
The instance also reports the configuration result to the SFM.</t>
        <t>The management plane also supports service function reconfiguration and removal throughout the operational lifecycle of each service function.</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 could be extended with closed-loop automation functions that use telemetry feedback from the control and management planes.
These functions would operate at a higher level of abstraction and remain logically separate from the control and management planes.</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 = Control Plane
 VIM  = Virtualized         Src  = Headend
        Infrastructure      Dest = Endpoint
        Manager
]]></sourcecode>
      </figure>
      <t>In Figures 5 and 6, Ctrl represents the control-plane components described in Section 5.3 collectively.
The BGP daemon handles BGP-LS topology collection and BGP Flow Specification distribution, while the PCE handles path computation and SR Policy provisioning.</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 SID advertisement.</t>
      <figure anchor="fig-wf-5">
        <name>Service SID Configuration and Advertisement</name>
        <sourcecode type="drawing"><![CDATA[
 App               SFM               VNF              Ctrl
  |                 |                 |                 |
  |    Configure    |                 |                 |
  |   Service SID   |                 |                 |
  |---------------->|                 |                 |
  |                 |    Configure    |                 |
  |                 |   Service SID   |                 |
  |                 |---------------->|                 |
  |                 |                 |    Advertise    |
  |                 |                 |   Service SID   |
  |                 |                 |---------------->|
  |                 |                 |                 | Update TED
  |                 |Configuration OK |                 |
  |                 |<----------------|                 |
  |Configuration OK |                 |                 |
  |<----------------|                 |                 |
  |                 |                 |                 |
]]></sourcecode>
      </figure>
      <t>Figure 6 shows SFC activation, including path computation and SR Policy provisioning, followed by optional 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  |                 |                 |
  |<----------------|                 |                 |
  |  Request Flow   |                 |                 |
  | Classification  |                 |                 |
  |---------------->|                 |                 |
  |                 |    FlowSpec     |                 |
  |                 |---------------->|                 |
  |                 |                 |   SFC Traffic   |
  |                 |                 |    Steering     |
  |                 |                 |---------------->|
  |                 |                 |                 |
]]></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 endpoint nodes</t>
          </li>
          <li>
            <t>optional flow classification rules</t>
          </li>
          <li>
            <t>the required sequence of service functions</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.
Deployment is triggered by an explicit operator request.</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>After a service function instance becomes operational, the management plane configures its Service SID and End.AN behavior.
Once the configuration has been applied, the instance advertises its Service SID via the BGP-LS extension described in <xref target="I-D.draft-ietf-idr-bgp-ls-sr-service-segments"/>.
The instance also reports the configuration result to the SFM.</t>
        <t>A service function is included in the TED only after its advertisement is received and is excluded when the advertisement is withdrawn.
The SFM monitors service function availability and eligibility for traffic steering.
When an instance becomes unavailable or is no longer eligible for traffic steering, the SFM SHOULD initiate withdrawal of the corresponding Service SID advertisement without delay.</t>
        <t>For an Anycast Service SID, the affected node SHOULD withdraw only its own advertisement.
The shared SID SHOULD remain available while at least one eligible instance advertises it.</t>
        <t>Stale or delayed Service SID updates may cause incorrect path computation and steer traffic to unavailable or invalid service functions.</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 candidate path is provisioned to the SR source node acting as the PCC, using PCEP <xref target="RFC9603"/> <xref target="RFC9862"/>.
The candidate path contains the SRv6 segment list representing the selected service function chain.</t>
      </section>
      <section anchor="flow-classification">
        <name>Flow Classification</name>
        <t>If flow classification is requested, the application plane submits the classification requirements to the Classification Rule Controller in the control plane.</t>
        <t>The Classification Rule Controller generates the corresponding BGP Flow Specification rules, which are distributed to the SR source node by the BGP daemon.</t>
        <t>The rules associate matching traffic with an SR Policy identified by the (Color, Endpoint) tuple, following the procedures specified in <xref target="I-D.draft-ietf-idr-ts-flowspec-srv6-policy"/>.</t>
      </section>
      <section anchor="traffic-steering">
        <name>Traffic Steering</name>
        <t>Once the SR Policy is operational, the SR source node can steer traffic through the selected service functions.
When flow classification is requested, traffic steering begins after the corresponding Flow Specification rules are installed.
Only traffic matching the installed rules is steered through the service function chain.</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>Operators may also verify traffic steering using SR path tracing or in-band telemetry mechanisms.</t>
        <t>For content-modifying services, application-layer verification may be required in addition to network and infrastructure monitoring, as discussed in Sections 8.1 and 9.3.</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 or removing service function chains</t>
          </li>
          <li>
            <t>redeploying failed service functions</t>
          </li>
          <li>
            <t>removing service functions</t>
          </li>
        </ul>
        <t>When a service function becomes unavailable, the affected Service Function Node MUST stop processing packets using its Service SID, as specified in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>.
The SFM SHOULD withdraw the corresponding Service SID advertisement as described in Section 6.3.</t>
        <t>Service updates require coordination among the forwarding, control, management, and application planes to maintain operational consistency.
The ordering and verification of update operations are discussed in Section 9.4.</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.
The system was deployed to support remote video production.</t>
      <t>The following subsections describe its architecture, the service it supported, and the operational behaviors and design insights observed during the deployment.
This section does not specify requirements or recommendations.</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, a Classification Rule Controller for generating flow classification rules, and 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 source sites described in Section 4.3 were dynamically steered through SR-aware service functions deployed in the Hokkaido, Kanagawa, and Okinawa data centers.</t>
        <t>The service functions performed video switching, transcoding, color correction, 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 to the instances 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 the existing NFV 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 configuring low-level network details.</t>
          </li>
        </ul>
      </section>
      <section anchor="scalability-considerations">
        <name>Scalability Considerations</name>
        <t>This deployment demonstrated that additional SR-aware service functions can be introduced without changing the overall control architecture.</t>
        <t>Once instantiated, configured, and advertised via BGP-LS, these service functions become available for path computation without requiring manual updates to the PCE's service-function configuration.</t>
      </section>
    </section>
    <section anchor="lessons-learned">
      <name>Lessons Learned</name>
      <t>This section presents operational observations and design insights gained from the deployment.
It focuses on service verification and orchestration timing and consistency.</t>
      <section anchor="service-verification-and-observability">
        <name>Service Verification and Observability</name>
        <t>Verifying end-to-end service correctness requires more than monitoring SR Policy status or the operational state of service functions.</t>
        <t>For the deployed video processing service, network-layer monitoring alone could not verify processing correctness; application-layer comparison of input and output video streams was needed.</t>
        <t>For service chains containing multiple content-modifying service functions, checking only the original source and final destination was insufficient to identify which function caused an incorrect result.
This experience demonstrated the value of per-function application-layer verification (see Section 9.3).</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 ordering and timing of service function readiness, Service SID advertisement, SR Policy provisioning, and Flow Specification installation.</t>
        <t>Delays in BGP-LS propagation and TED synchronization may cause discrepancies between the actual service function state and the state used for path computation.</t>
        <t>Installing Flow Specification rules before the corresponding SR Policy becomes operational may leave the intended traffic-steering state unavailable.
As specified in <xref target="I-D.draft-watal-spring-srv6-sfc-sr-aware-functions"/>, a PCC does not activate the associated traffic-steering state until the SR Policy is available.</t>
        <t>Therefore, provisioning and verifying the SR Policy before distributing the corresponding Flow Specification rules is RECOMMENDED to reduce transient inconsistencies and simplify operational verification.</t>
        <t>These observations motivate the operational sequencing recommendations described in Section 9.4.</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">
        <name>Service SID Allocation</name>
        <t>Service SID allocation MUST ensure that distinct service functions within the same SRv6 Locator do not inadvertently use the same Function value.</t>
        <t>When multiple service function instances are intentionally configured to share an Anycast Service SID, the shared SID MUST be treated as a single logical service endpoint.
Such sharing MUST be explicitly coordinated to ensure that all instances provide compatible service behavior.</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.</t>
        <t>In this deployment, the SFM checked which Function values were already in use and selected an available value before configuring the corresponding End.AN behavior.</t>
        <t>This approach reduces the risk of collisions with already allocated Service SIDs and provides a consistent allocation procedure across the distributed data centers.</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>Fast reroute at the forwarding plane can maintain network connectivity, but does not necessarily preserve service-level state.
During failover, traffic may be redirected to a different service function instance that does not share the processing state of the original instance.</t>
        <t>For stateful service functions using Anycast SIDs, operators need to consider session affinity and service-state consistency across instances.
The required mechanisms depend on the service function and its processing model.
Where failover is expected to preserve session or processing state, the deployment MUST provide appropriate mechanisms.</t>
      </section>
      <section anchor="observability">
        <name>Observability</name>
        <t>Effective observability for SRv6 SFC involves monitoring multiple aspects of the system, including:</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>
          <li>
            <t>Application-level service processing results</t>
          </li>
        </ul>
        <t>For content-modifying services, application-layer verification of individual service functions SHOULD compare each function's input and output (see Section 8.1).</t>
        <t>Packet mirroring capabilities at SRv6 endpoints may provide additional information for service-level monitoring and troubleshooting.
The applicability of such capabilities to SRv6 SFC deployments requires further investigation.</t>
      </section>
      <section anchor="operational-sequencing">
        <name>Operational Sequencing</name>
        <t>Automated orchestration SHOULD ensure that service functions are instantiated and configured before their Service SIDs are advertised via BGP-LS.
The SFM SHOULD monitor and record the configuration results reported by service function instances.</t>
        <t>The corresponding SR Policy SHOULD be provisioned and verified before Flow Specification rules are installed to steer traffic through the service chain.</t>
        <t>When an existing SR Policy is modified or replaced, flow classification rules SHOULD be updated only after the replacement policy has been successfully provisioned and verified.</t>
        <t>These procedures help avoid transient traffic misclassification and blackholing during service deployment and updates.</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 SHOULD 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.3), 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>Operators SHOULD 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 SHOULD ensure that flow 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 flow 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="RFC9603">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <author fullname="P. Kaladharan" initials="P." surname="Kaladharan"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="Y. Zhu" initials="Y." surname="Zhu"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>Segment Routing (SR) can be used to steer packets through a network using the IPv6 or MPLS data plane, employing the source routing paradigm.</t>
              <t>An SR Path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), explicit configuration, or a Path Computation Element (PCE).</t>
              <t>Since SR can be applied to both MPLS and IPv6 data planes, a PCE should be able to compute an SR Path for both MPLS and IPv6 data planes. The Path Computation Element Communication Protocol (PCEP) extension and mechanisms to support SR-MPLS have been defined. This document outlines the necessary extensions to support SR for the IPv6 data plane within PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9603"/>
          <seriesInfo name="DOI" value="10.17487/RFC9603"/>
        </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-idr-ts-flowspec-srv6-policy">
          <front>
            <title>Traffic Steering using BGP FlowSpec with SR Policy</title>
            <author fullname="Jiang Wenying" initials="J." surname="Wenying">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yisong Liu" initials="Y." surname="Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Shunwan Zhuang" initials="S." surname="Zhuang">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Communications Inc.</organization>
            </author>
            <author fullname="Shuanglong Chen" initials="S." surname="Chen">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   BGP Flow Specification (FlowSpec) provides mechanisms to distribute
   traffic filtering and steering rules across BGP networks.  This
   document specifies BGP FlowSpec procedures to steer matching traffic
   flows into Segment Routing (SR) Policies.  It defines two modes of
   operation: transport steering into an SR Policy ("Mode 1"), in SR-
   MPLS and SRv6 networks, using BGP Extended Communities; and, in SRv6
   networks, transport steering combined with an egress service action
   at the egress node ("Mode 2"), signaled with the BGP Prefix-SID
   Attribute.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-ts-flowspec-srv6-policy-20"/>
        </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-06">
          <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="November" day="02"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-watal-spring-srv6-sfc-sr-aware-functions-06"/>
        </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="RFC8956">
          <front>
            <title>Dissemination of Flow Specification Rules for IPv6</title>
            <author fullname="C. Loibl" initials="C." role="editor" surname="Loibl"/>
            <author fullname="R. Raszuk" initials="R." role="editor" surname="Raszuk"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>"Dissemination of Flow Specification Rules" (RFC 8955) provides a Border Gateway Protocol (BGP) extension for the propagation of traffic flow information for the purpose of rate limiting or filtering IPv4 protocol data packets.</t>
              <t>This document extends RFC 8955 with IPv6 functionality. It also updates RFC 8955 by changing the IANA Flow Spec Component Types registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8956"/>
          <seriesInfo name="DOI" value="10.17487/RFC8956"/>
        </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="I-D.draft-ietf-spring-srv6-service-programming" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-service-programming">
          <front>
            <title>SRv6 Service Programming</title>
            <author initials="A." surname="Abdelsalam, Ed" fullname="Ahmed Abdelsalam">
              <organization/>
            </author>
            <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
              <organization/>
            </author>
            <author initials="D." surname="Bernier" fullname="Daniel Bernier">
              <organization/>
            </author>
            <author initials="C." surname="Li" fullname="Cheng Li">
              <organization/>
            </author>
            <author initials="B." surname="Decraene" fullname="Bruno Decraene">
              <organization/>
            </author>
            <date year="2026" month="July" day="06"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-service-programming-00"/>
        </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 621?>

<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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
V5ahxdTuTEfXLR6ahV5QckwXpqKECDJHRTNvvRjUAgZ1c9E3QrD9bnI/A+oK
MkYf8ZCuwdHmahKMweLNb7RTewsZdOc28xSsUOi+iUanNUOca5wC+tGiIjn/
9uophjtqvhN7ive70MUwVMxEKEa7wKijCQQgzgiinHVnLkCpJuoP2HhjK3+s
w8VX/7IDYAKMvj8aKh06zNsprvGiAMQWo7A65S94cq8JfRNX+EAIh8o6EJSE
Mmy8rwJtMtYIkcBzGEynbYRfacBgRCtS36nq6tEukQR1QDvUFZ7fZuXJUSJA
gTfIJQxT6cNunJbUdJkjcVnIw+CHLYSvW3qP/+trF+IoQhSGwUw0TBcbfAT9
CnIFwN18UutPgusBXV7p99+6gOhWUAqdLi7Coo4wVm8KHdAjMPJp/Fj/gsxx
Mmu932SAzwFwweYvNuYKNrtttTdMtnc6OuUFxYwNTnXs5SB1yivLa3vVpQBW
zuey9hV6t/CL9bKNLpOy88JOzvLrnWIhuOnBgH58aN727RCOS1j1CeIx9n6j
wWxp80MO0AH9gB8mjLAiaOOHfidMi+flGdGxSpDTAnazBxKAmNhA4m5RlL4q
0Zs5uCeyoHQzxuU02xPtFRg+e2vGhFd1h3vjOOdBWt6oa9p4IIFUBOBnQjF4
FbqpZ5RFw3tXK/8L/QsBGirk5W1V3JKLan1CawoFokh3DRhHvryjFPqnJuj3
Vry6mtCxlRg47ol49x2SsHqmJ5iFxaxFwzfV+kVp7tKZOHZm73cCm2FutAxT
CmbPmItP3FKwY6d+d4a5v97SCbzOI7IXLflODPPtV6rrTwcu4evpc3QJr/hn
eFZ5XfMCpmLNzCH02vASGQzB2XgrTy7S5YdJ58431zzyYwa0clWLF0ouq0ob
ZFe9465lV4hWAmqaKtkGUxVMvm6WVKlzi376wsaXQux7bfHzaHTMUUcZx3o0
b30M1F+5G4Sng8s6M897y+vIbtVyKJQcZYk17/TtFGBgTZS6WyaqdCEpY6dh
LDo1l731O5R64JkMCspcBtdNbLdCluEfVPL1oylNMQWgNrYcOIAcCKfVwskW
IsU452BSzJsLRyYzvyaWKwGpE8438DC2ZBgkELc0WJtiM8gL67t5pU9LWaxB
z1R55nmG1ojmqkebzYCKm2VF0QCdqDWciVLYOsRKHh1sZni2N0yNnNVfRr9d
FP5mz9j/eZ6x+8UV/s0d2pYO8frgksFkLYtc2vgPrFVWUWkq/QwuG7a4YNr7
uSAX2O/4cLTTTWGGRgP862Jtg7Oh8WgUrorU4xoU7tJZQv+QnOE/4RB6dla1
4DjX5jq+MLDv3brg5zFIBwW3xiUMhoBLuIuxkHLs41B7PRB8MzGlx1ny/vpq
mDsvXj4PfvzmxevnyK2fdNRdZKDAqBKzrhqX64OZNfRDlDokm5f4Ux98agFt
Dxd5rhAELngm7mrCtuTflaSbSYJ7Ct0S9ahE6lHjEeWCXf2BO1obTbI0aSQf
kyAJ6B+n+tilIcn8WXJeZ0FC7eYeYpm3kuN3O2hrP8lLe5BzH0E1eTeZT6pj
uEAnMLKH05ePfRDaw0K/p+iAhmcgSGshPR6PtCLyFm7oHp5OTlXTYSrqMEZI
gWuNgh2X6SrObcc5yA4YQnuqp/hwTqAbpljSS+okQDs5uwY2240hxLpatFQ8
jitQV6tc9czS3TllPVatQbsXk7Kh5MSu1QgzyQBap/kr3EvBhvAuGNu6HUIk
O7CwvWZfBz701hCYugL1GRDh54C5uvHvcieq4kqQbcTlKnCMOSNS+TKGqq1d
saN80ZPGVyF+CDb7qkWojbstkGIyVDqIStVU9vcC75vasOHnVAYWROgoB5cd
VV4ddIMXnOkfZfQS1YGS2m8l/l067Ydto7utgbt1S32Qz45x4qnpXB/z0IeN
MARUxjkD7ziN2X8wpLu10cvHgQDV7dqmds+PPxwPpNHND2Uh4iorflJYzTWZ
TKi0ATs5Tm/K6g7AJB+jGv1yVLarGe7Xbx7MRaHkg9/YiyA+mavfivxG6khh
eZNcgGpq8aevRd1uxEpgUQ58ssxrsOlyJjZCLfNx8kkAK3P4pxQzcKg/bvgn
rxswFbxen8QNPpn8GZTMqqKfZqg1xqdf/ZjRtU63ubyzuIJiM5gvBEcNjA9V
FZmaPsTq3wP4Ofl4+eHyOnn0oZom319dfH9y/eLgwxvw0f4Hu1efxQWBAAA=

-->

</rfc>
