<?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.30 (Ruby 3.4.8) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-teas-actn-poi-assurance-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ACTN POI Assurance">Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) for Packet Optical Integration (POI) service assurance</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-poi-assurance-04"/>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="J.-F." surname="Bouquier" fullname="Jean-Francois Bouquier">
      <organization>Vodafone</organization>
      <address>
        <email>jeff.bouquier@vodafone.com</email>
      </address>
    </author>
    <author initials="F." surname="Peruzzini" fullname="Fabio Peruzzini">
      <organization>FiberCop</organization>
      <address>
        <email>fabio.peruzzini@fibercop.com</email>
      </address>
    </author>
    <author initials="P." surname="Volpato" fullname="Paolo Volpato">
      <organization>Huawei Technologies</organization>
      <address>
        <email>paolo.volpato@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Manna" fullname="Prasenjit Manna">
      <organization>Cisco</organization>
      <address>
        <email>prmanna@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="24"/>
    <workgroup>TEAS Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 93?>

<t>This document extends the analysis of the applicability of Abstraction and Control of TE Networks (ACTN) architecture to Packet Optical Integration (POI) to cover multi-layer service assurance scenarios. Specifically, the ACTN architecture enables the detection and handling of different failures that may happen either at the optical or the packet layer. It is assumed that the underlying transport optical network carries end-to-end IP services such as L2VPN or L3VPN connectivity services, with specific Service Level Agreement (SLA) requirements.</t>
      <t>Existing IETF protocols and data models are identified for each
   multi-layer (packet over optical) service assurance scenario with a specific focus on
   the MPI (Multi-Domain Service Coordinator to Provisioning Network
   Controllers Interface) in the ACTN architecture.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://IETF-TEAS-WG.github.io/actn-poi-assurance/draft-ietf-teas-actn-poi-assurance.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-teas-actn-poi-assurance/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Traffic Engineering Architecture and Signaling Working Group mailing list (<eref target="mailto:teas@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/teas/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/teas/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/IETF-TEAS-WG/actn-poi-assurance"/>.</t>
    </note>
  </front>
  <middle>
    <?line 102?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Service assurance is a critical aspect of Operations, Administration and Management (OAM). It consists of activities and processes intended to guarantee a specified Service Level Agreement (SLA) for the customer of a telecommunication service. Service assurance includes both fault management, to correct service anomalies and network faults, and performance management, to monitor service and network parameters and provide early warning of potential service-related issues.</t>
      <t>Within the scope of this document, service assurance is discussed in the context of a multi-layer, multi-domain network. This document leverages the Abstraction and Control of TE Networks (ACTN) framework <xref target="RFC8453"/> and further expands the analysis of its applicability to multi-layer packet-optical integrated networks <xref target="I-D.ietf-teas-actn-poi-applicability"/>, adding considerations specific to fault and performance management scenarios.</t>
      <t>As already highlighted in <xref target="I-D.ietf-teas-actn-poi-applicability"/>, a multi-layer network is composed of an IP layer and an optical transport layer. A multi-domain network is composed of at least two different administrative domains (e.g. core and edge) under the control of the same organization (e.g. the same network operator). Service assurance applies to end-to-end L2VPN or L3VPN connectivity services configured over underlying transport optical paths that require multi-layer coordination.</t>
      <t>To guarantee the SLAs associated with VPN services, service assurance is performed through collaboration among the ACTN control entities <xref target="RFC8453"/>: the Multi-Domain Service Coordinator (MDSC), acting as the top-level controller, and the Provisioning Network Controllers (PNCs) deployed in both the packet (P-PNC) and optical (O-PNC) layers.</t>
      <t>This document aligns with current field operational procedures in optical networks and assumes that the O-PNC provides the MDSC with enough information for Root Cause Analysis (RCA), correlating an event/alarm related to an optical-network failure with impacted services at the IP layer.</t>
      <t>The set of information shared by the O-PNC to the MDSC depends on local configuration adopted at the MDSC-PNC Interface (MPI) <xref target="RFC8453"/>. In general, this may include information about the optical path, tunnel, or fiber where the failure happened, together with its location and operational state (e.g., "down"), while hiding further topology details. This data is sufficient for the MDSC to perform multi-layer correlation and discover which IP links, Label Switched Paths (LSPs), and VPNs are affected.</t>
      <t>The analysis of the YANG data models applicable to service assurance (fault and performance) is in scope of this document. The development of new YANG models/modules to support the missing functions is instead not in scope of the present document. To this extent, this document acts as a framework that provides a gap analysis and identifies topics for future work to be addressed in other documents.</t>
      <t>A related effort is described in <xref target="I-D.ietf-ccamp-actn-optical-transport-mgmt"/>, which enhances the ACTN architecture for optical networks with FCAPS (Fault, Configuration, Accounting, Performance, and Security) management capabilities, including the addition of rich-detail network management (RDNM) to the MPI. While that document addresses the general integration of YANG-based FCAPS capabilities into ACTN for optical networks, the present document focuses on multi-layer (packet and optical) service assurance in Packet Optical Integration (POI) scenarios, specifically analyzing fault detection, performance monitoring, and resiliency coordination across the packet and optical layers.</t>
      <t>The document has the following organization. Section 2 lists the conventions and definitions used in the text. Section 3 discusses the reference network in scope for the relevant service assurance cases. Section 4 identifies the YANG data models applicable to service assurance and provides a gap analysis for modules that are still missing.</t>
      <t>Section 5 identifies the possible faults, either in the optical layer, the IP layer, or both. Section 6 deals with performance management aspects of service assurance in a packet-optical integrated network. Finally, Section 7 discusses the protection mechanisms available for the most typical fault scenarios of a multi-layer, multi-domain network.</t>
      <t>For each multi-technology scenario, the document analyzes how to use the interfaces and the data models of the ACTN architecture.</t>
      <t>A summary of the gaps identified in this analysis is provided in Section 8.</t>
      <t>Understanding the degree of standardization and the identified gaps will help assess the feasibility of integration between packet and optical Dense Wavelength Division Multiplexing (DWDM) domains (and optionally the Optical Transport Network (OTN) layer) from an end-to-end, multi-vendor service assurance perspective.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <section anchor="terminology">
        <name>Terminology</name>
        <dl>
          <dt>TCA (Threshold Crossing Alert)</dt>
          <dd>
            <t>A notification generated by a network element or controller when a monitored performance parameter crosses a pre-configured threshold value. TCAs are used to signal potential SLA violations or network degradation conditions to higher-layer management systems. In the context of this document, TCAs are generated at the router or PNC level and propagated upward through the MDSC to the Orchestrator layer.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="ref-architecture">
      <name>Reference Network Architecture</name>
      <t>This document analyses several scenarios for service assurance in Packet and
Optical Integration (POI) in which ACTN hierarchy is deployed to
control a multi-layer and multi-domain network with two optical
domains and two packet domains, as shown in Figure 1 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>, which is copied in <xref target="fig-ref-architecture"/> below.</t>
      <figure anchor="fig-ref-architecture">
        <name>Reference Network (copy of Figure 1 of RFC YYYY)</name>
        <artset>
          <artwork type="svg" name="reference-architecture.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="552" viewBox="0 0 552 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 88,128 L 88,160" fill="none" stroke="black"/>
              <path d="M 128,96 L 128,128" fill="none" stroke="black"/>
              <path d="M 128,160 L 128,200" fill="none" stroke="black"/>
              <path d="M 168,128 L 168,160" fill="none" stroke="black"/>
              <path d="M 184,128 L 184,160" fill="none" stroke="black"/>
              <path d="M 224,32 L 224,64" fill="none" stroke="black"/>
              <path d="M 224,96 L 224,128" fill="none" stroke="black"/>
              <path d="M 224,160 L 224,176" fill="none" stroke="black"/>
              <path d="M 240,224 L 240,328" fill="none" stroke="black"/>
              <path d="M 264,128 L 264,160" fill="none" stroke="black"/>
              <path d="M 272,64 L 272,96" fill="none" stroke="black"/>
              <path d="M 288,128 L 288,160" fill="none" stroke="black"/>
              <path d="M 304,240 L 304,328" fill="none" stroke="black"/>
              <path d="M 312,32 L 312,64" fill="none" stroke="black"/>
              <path d="M 328,96 L 328,128" fill="none" stroke="black"/>
              <path d="M 328,160 L 328,176" fill="none" stroke="black"/>
              <path d="M 368,128 L 368,160" fill="none" stroke="black"/>
              <path d="M 384,128 L 384,160" fill="none" stroke="black"/>
              <path d="M 424,96 L 424,128" fill="none" stroke="black"/>
              <path d="M 424,160 L 424,200" fill="none" stroke="black"/>
              <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
              <path d="M 224,32 L 312,32" fill="none" stroke="black"/>
              <path d="M 224,64 L 312,64" fill="none" stroke="black"/>
              <path d="M 128,96 L 424,96" fill="none" stroke="black"/>
              <path d="M 88,128 L 168,128" fill="none" stroke="black"/>
              <path d="M 184,128 L 264,128" fill="none" stroke="black"/>
              <path d="M 288,128 L 368,128" fill="none" stroke="black"/>
              <path d="M 384,128 L 464,128" fill="none" stroke="black"/>
              <path d="M 88,160 L 168,160" fill="none" stroke="black"/>
              <path d="M 184,160 L 264,160" fill="none" stroke="black"/>
              <path d="M 288,160 L 368,160" fill="none" stroke="black"/>
              <path d="M 384,160 L 464,160" fill="none" stroke="black"/>
              <path d="M 48,208 L 208,208" fill="none" stroke="black"/>
              <path d="M 344,208 L 504,208" fill="none" stroke="black"/>
              <path d="M 16,240 L 24,240" fill="none" stroke="black"/>
              <path d="M 40,240 L 56,240" fill="none" stroke="black"/>
              <path d="M 200,240 L 216,240" fill="none" stroke="black"/>
              <path d="M 248,240 L 296,240" fill="none" stroke="black"/>
              <path d="M 336,240 L 352,240" fill="none" stroke="black"/>
              <path d="M 496,240 L 512,240" fill="none" stroke="black"/>
              <path d="M 528,240 L 536,240" fill="none" stroke="black"/>
              <path d="M 72,288 L 184,288" fill="none" stroke="black"/>
              <path d="M 368,288 L 480,288" fill="none" stroke="black"/>
              <path d="M 496,288 L 512,288" fill="none" stroke="black"/>
              <path d="M 72,336 L 184,336" fill="none" stroke="black"/>
              <path d="M 200,336 L 248,336" fill="none" stroke="black"/>
              <path d="M 296,336 L 352,336" fill="none" stroke="black"/>
              <path d="M 368,336 L 480,336" fill="none" stroke="black"/>
              <path d="M 496,336 L 512,336" fill="none" stroke="black"/>
              <path d="M 48,416 L 248,416" fill="none" stroke="black"/>
              <path d="M 296,416 L 512,416" fill="none" stroke="black"/>
              <path d="M 28,376 L 48,416" fill="none" stroke="black"/>
              <path d="M 28,248 L 48,288" fill="none" stroke="black"/>
              <path d="M 240,320 L 268,376" fill="none" stroke="black"/>
              <path d="M 276,376 L 296,416" fill="none" stroke="black"/>
              <path d="M 208,208 L 228,248" fill="none" stroke="black"/>
              <path d="M 224,192 L 244,232" fill="none" stroke="black"/>
              <path d="M 324,248 L 344,288" fill="none" stroke="black"/>
              <path d="M 512,336 L 532,376" fill="none" stroke="black"/>
              <path d="M 504,208 L 524,248" fill="none" stroke="black"/>
              <path d="M 28,248 L 48,208" fill="none" stroke="black"/>
              <path d="M 28,376 L 48,336" fill="none" stroke="black"/>
              <path d="M 208,288 L 228,248" fill="none" stroke="black"/>
              <path d="M 304,240 L 328,192" fill="none" stroke="black"/>
              <path d="M 324,248 L 344,208" fill="none" stroke="black"/>
              <path d="M 248,416 L 268,376" fill="none" stroke="black"/>
              <path d="M 276,376 L 304,320" fill="none" stroke="black"/>
              <path d="M 508,280 L 524,248" fill="none" stroke="black"/>
              <path d="M 512,416 L 532,376" fill="none" stroke="black"/>
              <circle cx="8" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="64" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="64" cy="368" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="192" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="192" cy="368" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="360" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="488" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="488" cy="368" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="544" cy="240" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="268" y="52">MDSC</text>
                <text x="120" y="148">P-PNC</text>
                <text x="152" y="148">1</text>
                <text x="216" y="148">O-PNC</text>
                <text x="248" y="148">1</text>
                <text x="320" y="148">O-PNC</text>
                <text x="352" y="148">2</text>
                <text x="416" y="148">P-PNC</text>
                <text x="448" y="148">2</text>
                <text x="16" y="228">CE1</text>
                <text x="64" y="228">PE1</text>
                <text x="192" y="228">BR1</text>
                <text x="360" y="228">BR2</text>
                <text x="488" y="228">PE2</text>
                <text x="536" y="228">CE2</text>
                <text x="232" y="244">-</text>
                <text x="316" y="244">--</text>
                <text x="64" y="260">:</text>
                <text x="192" y="260">:</text>
                <text x="360" y="260">:</text>
                <text x="488" y="260">:</text>
                <text x="64" y="276">:</text>
                <text x="88" y="276">PKT</text>
                <text x="132" y="276">domain</text>
                <text x="168" y="276">1</text>
                <text x="192" y="276">:</text>
                <text x="360" y="276">:</text>
                <text x="384" y="276">PKT</text>
                <text x="428" y="276">domain</text>
                <text x="464" y="276">2</text>
                <text x="488" y="276">:</text>
                <text x="60" y="292">-:</text>
                <text x="196" y="292">:-</text>
                <text x="356" y="292">-:</text>
                <text x="488" y="292">:</text>
                <text x="64" y="308">:</text>
                <text x="192" y="308">:</text>
                <text x="360" y="308">:</text>
                <text x="488" y="308">:</text>
                <text x="64" y="324">:</text>
                <text x="192" y="324">:</text>
                <text x="360" y="324">:</text>
                <text x="488" y="324">:</text>
                <text x="60" y="340">-:</text>
                <text x="192" y="340">:</text>
                <text x="360" y="340">:</text>
                <text x="488" y="340">:</text>
                <text x="64" y="356">:</text>
                <text x="192" y="356">:</text>
                <text x="360" y="356">:</text>
                <text x="488" y="356">:</text>
                <text x="128" y="372">...............</text>
                <text x="420" y="372">o...............</text>
                <text x="104" y="388">optical</text>
                <text x="164" y="388">domain</text>
                <text x="200" y="388">1</text>
                <text x="368" y="388">optical</text>
                <text x="428" y="388">domain</text>
                <text x="464" y="388">2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" name="reference-architecture.txt"><![CDATA[
                              +----------+
                              |   MDSC   |
                              +-----+----+
                                    |
                  +-----------+-----+------+-----------+
                  |           |            |           |
             +----+----+ +----+----+  +----+----+ +----+----+
             | P-PNC 1 | | O-PNC 1 |  | O-PNC 2 | | P-PNC 2 |
             +----+----+ +----+----+  +----+----+ +----+----+
                  |           |            |           |
                  |           \            /           |
        +-------------------+  \          /  +-------------------+
   CE1 / PE1             BR1 \  |        /  / BR2             PE2 \ CE2
   o--/---o               o---\-|-------|--/---o               o---\--o
      \   :               :   / |       |  \   :               :   /
       \  : PKT domain 1  :  /  |       |   \  : PKT domain 2  :  /
        +-:---------------:-+   |       |    +-:---------------:--+
          :               :     |       |      :               :
          :               :     |       |      :               :
        +-:---------------:------+     +-------:---------------:--+
       /  :               :       \   /        :               :   \
      /   o...............o        \ /         o...............o    \
      \     optical domain 1       / \       optical domain 2       /
       \                          /   \                            /
        +------------------------+     +--------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>EDITORS NOTE: Replace RFC YYYY with the RFC number of <xref target="I-D.ietf-teas-actn-poi-applicability"/> once it has been published.</t>
      <t>In general, service assurance involves fault detection and localization; performance monitoring as well as re-routing (protection).</t>
      <t>Two cases will be considered:</t>
      <ol spacing="normal" type="1"><li>
          <t>using grey interfaces on routers' ports, as outlined in <xref target="I-D.ietf-teas-actn-poi-applicability"/></t>
        </li>
        <li>
          <t>using colored optical interfaces on routers' ports, as outlined in <xref target="I-D.mix-teas-actn-poi-extension"/></t>
        </li>
      </ol>
      <t>NOTE: It is not fully clear how many commonalities there are in service assurance for these two cases. This draft will start addressing both cases. At a later stage it will be assessed whether it is worthwhile keeping everything in a single draft or to split into two drafts.</t>
      <t>The MDSC is responsible for coordinating the whole multi-domain, multi-layer (packet and optical) network. MDSC interacts with different Provisioning Network Controllers (O/P-PNCs) through the MPI interface.
The MPI interface presents an abstracted topology to MDSC, hiding the technology-specific aspects of the network and the topology details (depending on the policy chosen regarding the level of abstraction supported).</t>
      <t>Following the assumptions of section 2.1.2 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>, this document analyses scenarios where
the MDSC uses the partial summarization approach to coordinate multi-domain/multi-layer path computation.</t>
      <t>This document assumes that the basic configuration of the L2/L3 VPN services, and in particular of the multi-domain TE path in the packet layer, is the same as described in section 5 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>. The only exception is that section <xref target="resiliency"/> defines additional multi-layer mechanisms besides the local protection in the packet layer described in section 5.2.3 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
      <t>In this approach, the MDSC has complete visibility of the TE topology of the packet network domains and an abstracted
view of the TE topology of the optical network domains.
That means the MDSC has the capability of performing multi-domain/single-layer path computation for the packet layer. The MDSC needs to delegate the O-PNCs to perform local path computation within their respective domains.
It uses the information received by the O-PNCs and its TE topology view of the multi-domain packet layer to perform multi-layer/multi-domain path computation.</t>
      <t>P-PNCs are responsible for setting up the TE paths between any two PEs or BRs in their respective controlled domains,
as requested by MDSC, and providing topology information to the MDSC.</t>
      <t>O-PNCs are responsible for providing to the MDSC an abstract TE topology view of their underlying optical network resources.
They perform single-domain local path computation, when requested by the MDSC. They also perform optical tunnel setup, when requested by the MDSC.</t>
      <t>No GMPLS-UNI interaction between IP and Optical equipment is considered.
This is also the assumption followed in this document: the MDSC performs the function of multi-layer/multi-domain path computation
through the same mechanisms described in <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
      <ul empty="true">
        <li>
          <t>TO DO: Complete the description of the pre-requisites of MDSC in the cases discussed.</t>
        </li>
      </ul>
      <t>The following list summarizes the main assumptions about how MDSC can handle the service assurance cases described in this document. Most of them have already been described in <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
      <ol spacing="normal" type="1"><li>
          <t>MDSC has acquired all the topology and status information of both the IP and optical layers.</t>
        </li>
        <li>
          <t>MDSC is fully aware of any multi-layer connections between the IP and the optical layers. It is also
aware of the multi-domain interconnection links between different IP domains.</t>
        </li>
        <li>
          <t>MDSC is aware of any topology or resource utilization change obtained in real time through coordination with the O/P-PNCs. This applies in the case of a fault or a maintenance activity involving either the IP or the DWDM layer.</t>
        </li>
        <li>
          <t>MDSC coordinates the IP and DWDM protections and, as a result, the re-routing of traffic at both the IP and DWDM layer.</t>
        </li>
        <li>
          <t>Before planned maintenance operation at the DWDM layer, MDSC instructs the P-PNC to move the affected IP traffic to another link in a hitless way. This is done before the event takes place. MDSC also coordinates with P-PNC to revert
back the traffic on the original path when the maintenance event is concluded.</t>
        </li>
        <li>
          <t>When the O-PNC detects a degradation of optical performance (e.g. a Threshold Crossing Alert (TCA) on PRE-FEC BER values sustained over a certain period of time), it alerts the MDSC so that the MDSC relates the warning to an IP link.</t>
        </li>
        <li>
          <t>MDSC distinguishes between IP and Optical failures. For example, in the case of the failure of an IP port of a router,
the IP traffic may be switched to a stand-by port, reusing the same Reconfigurable Optical Add-Drop Multiplexer (ROADM) optical resources (lambda, optical path) and keeping the end-to-end IP connection. If a remote IP node fails, then a re-route of optical resources takes place together with a switch of the local IP port in order to establish a new connection with a different IP node used for protection.</t>
        </li>
      </ol>
      <section anchor="ref-network">
        <name>Reference Network</name>
        <t>The following network topology will be considered to analyze and discuss the scenarios in <xref target="resiliency"/>.</t>
        <figure anchor="fig-ref-network">
          <name>Reference Network</name>
          <artset>
            <artwork type="svg" name="reference-network.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="528" viewBox="0 0 528 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,64 L 80,128" fill="none" stroke="black"/>
                <path d="M 104,64 L 104,128" fill="none" stroke="black"/>
                <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
                <path d="M 200,128 L 200,144" fill="none" stroke="black"/>
                <path d="M 224,208 L 224,272" fill="none" stroke="black"/>
                <path d="M 224,304 L 224,368" fill="none" stroke="black"/>
                <path d="M 232,168 L 232,200" fill="none" stroke="black"/>
                <path d="M 232,280 L 232,296" fill="none" stroke="black"/>
                <path d="M 296,168 L 296,200" fill="none" stroke="black"/>
                <path d="M 296,280 L 296,296" fill="none" stroke="black"/>
                <path d="M 304,208 L 304,272" fill="none" stroke="black"/>
                <path d="M 304,304 L 304,368" fill="none" stroke="black"/>
                <path d="M 328,128 L 328,144" fill="none" stroke="black"/>
                <path d="M 352,64 L 352,128" fill="none" stroke="black"/>
                <path d="M 424,64 L 424,128" fill="none" stroke="black"/>
                <path d="M 448,64 L 448,128" fill="none" stroke="black"/>
                <path d="M 520,48 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
                <path d="M 104,64 L 176,64" fill="none" stroke="black"/>
                <path d="M 352,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 448,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 80,128" fill="none" stroke="black"/>
                <path d="M 104,128 L 176,128" fill="none" stroke="black"/>
                <path d="M 352,128 L 424,128" fill="none" stroke="black"/>
                <path d="M 448,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 224,208 L 304,208" fill="none" stroke="black"/>
                <path d="M 224,272 L 304,272" fill="none" stroke="black"/>
                <path d="M 224,304 L 304,304" fill="none" stroke="black"/>
                <path d="M 224,368 L 304,368" fill="none" stroke="black"/>
                <path d="M 176,96 L 200,144" fill="none" stroke="black"/>
                <path d="M 176,64 L 204,120" fill="none" stroke="black"/>
                <path d="M 276,88 L 284,104" fill="none" stroke="black"/>
                <path d="M 316,104 L 328,128" fill="none" stroke="black"/>
                <path d="M 200,128 L 212,104" fill="none" stroke="black"/>
                <path d="M 244,104 L 252,88" fill="none" stroke="black"/>
                <path d="M 324,120 L 352,64" fill="none" stroke="black"/>
                <path d="M 328,144 L 352,96" fill="none" stroke="black"/>
                <path d="M 252,88 L 276,88" fill="none" stroke="black"/>
                <path d="M 212,104 L 244,104" fill="none" stroke="black"/>
                <path d="M 284,104 L 316,104" fill="none" stroke="black"/>
                <path d="M 212,168 L 316,168" fill="none" stroke="black"/>
                <g class="text">
                  <text x="108" y="52">&lt;xxxxxxxxxxxxxxxxxxxxxxx</text>
                  <text x="220" y="52">IP</text>
                  <text x="252" y="52">Link</text>
                  <text x="296" y="52">R1-R2</text>
                  <text x="420" y="52">xxxxxxxxxxxxxxxxxxxxxxx&gt;</text>
                  <text x="68" y="84">P1</text>
                  <text x="92" y="84">--</text>
                  <text x="116" y="84">P1</text>
                  <text x="164" y="84">P3</text>
                  <text x="364" y="84">P3</text>
                  <text x="412" y="84">P1</text>
                  <text x="436" y="84">--</text>
                  <text x="460" y="84">P1</text>
                  <text x="36" y="100">R1</text>
                  <text x="140" y="100">ROADM1</text>
                  <text x="388" y="100">ROADM2</text>
                  <text x="484" y="100">R2</text>
                  <text x="68" y="116">P2</text>
                  <text x="92" y="116">--</text>
                  <text x="116" y="116">P2</text>
                  <text x="164" y="116">P4</text>
                  <text x="364" y="116">P4</text>
                  <text x="412" y="116">P2</text>
                  <text x="436" y="116">--</text>
                  <text x="460" y="116">P2</text>
                  <text x="264" y="132">Optical</text>
                  <text x="264" y="148">Network</text>
                  <text x="20" y="164">|&lt;xx</text>
                  <text x="52" y="164">IP</text>
                  <text x="84" y="164">Link</text>
                  <text x="128" y="164">R1-R3</text>
                  <text x="164" y="164">xx</text>
                  <text x="208" y="164">\</text>
                  <text x="320" y="164">/</text>
                  <text x="356" y="164">xx</text>
                  <text x="380" y="164">IP</text>
                  <text x="412" y="164">Link</text>
                  <text x="456" y="164">R3-R2</text>
                  <text x="504" y="164">xxx&gt;|</text>
                  <text x="176" y="180">x</text>
                  <text x="344" y="180">x</text>
                  <text x="184" y="196">x</text>
                  <text x="336" y="196">x</text>
                  <text x="200" y="212">x</text>
                  <text x="328" y="212">x</text>
                  <text x="208" y="228">x</text>
                  <text x="236" y="228">P3</text>
                  <text x="292" y="228">P4</text>
                  <text x="320" y="228">x</text>
                  <text x="208" y="244">x</text>
                  <text x="260" y="244">ROADM3</text>
                  <text x="320" y="244">x</text>
                  <text x="208" y="260">x</text>
                  <text x="236" y="260">P1</text>
                  <text x="292" y="260">P2</text>
                  <text x="320" y="260">x</text>
                  <text x="208" y="276">x</text>
                  <text x="320" y="276">x</text>
                  <text x="208" y="292">x</text>
                  <text x="320" y="292">x</text>
                  <text x="208" y="308">x</text>
                  <text x="320" y="308">x</text>
                  <text x="208" y="324">x</text>
                  <text x="236" y="324">P1</text>
                  <text x="292" y="324">P2</text>
                  <text x="320" y="324">x</text>
                  <text x="208" y="340">x</text>
                  <text x="260" y="340">R3</text>
                  <text x="320" y="340">x</text>
                  <text x="208" y="356">V</text>
                  <text x="320" y="356">V</text>
                  <text x="208" y="372">-</text>
                  <text x="320" y="372">-</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="reference-network.txt"><![CDATA[

|<xxxxxxxxxxxxxxxxxxxxxxx IP Link R1-R2 xxxxxxxxxxxxxxxxxxxxxxx>|
+--------+  +--------+                     +--------+  +--------+
|      P1|--|P1    P3|\        ___        /|P3    P1|--|P1      |
|  R1    |  | ROADM1 | \  ____/   \____  / | ROADM2 |  |   R2   |
|      P2|--|P2    P4|\ \/             \/ /|P4    P2|--|P2      |
+--------+  +--------+ \|    Optical    |/ +--------+  +--------+
                        |    Network    |
|<xx IP Link R1-R3 xx    \_____________/   xx IP Link R3-R2 xxx>|
                     x      |       |     x
                      x     |       |    x
                        x  +---------+  x
                         x |P3     P4| x
                         x | ROADM3  | x
                         x |P1     P2| x
                         x +---------+ x
                         x  |       |  x
                         x +---------+ x
                         x |P1     P2| x
                         x |   R3    | x
                         V |         | V
                         - +---------+ -





]]></artwork>
          </artset>
        </figure>
        <t>The network consists of three Points of Presence (POPs) geographically distributed.
It is assumed that every POP hosts a Router (R1, R2, and R3 respectively) connected to a ROADM (ROADM1, ROADM2, and ROADM3).
All the routers connect to their co-located ROADMs with two Ethernet links (e.g. 100GE) for redundancy.
In their normal operations, the routers may employ any local policy for traffic steering. For the scope of this document,
it is assumed that the path that R1 uses to steer the IP traffic to R2 goes from port P1 of R1 to port P1 of R2
(thus going through port P1 of R1, ports P1 and P3 of ROADM1, ports P3 and P1 of ROADM2, port P1 of R2).
R1 uses port P2 to steer the traffic to R3 instead. The IP link between R1 and R3 carries the IP services that are
directed to R3 and is used by R1 as a detour path (backup path) to reach R2 if a failure occurs in the primary path
across ROADM1 and ROADM2. The detour path also includes a second leg from R3 to R2. The detour path from R1 to R2, then includes: port P2 of R1, ports P2 and P4 of ROADM1, ports P3 and P1 of ROADM3, ports P1 and P2 of R3, ports P2 and P4 of ROADM3, ports P4 and P2 of ROADM2, and port P2 of R2.
The connection between all ROADMs is based on two fibers. The optical paths all cross an optical network.
For the scope of this document, it is assumed that some coordination mechanisms are employed at the optical layer so that
when a failure happens on an optical path (for example, between ROADM1 and ROADM2), an optical backup path
is activated. The mechanisms are assumed to be coordinated by O-PNC and MDSC, even if other methods may be also
considered (e.g. Generalized MPLS (G-MPLS) based). Further details are given in the use cases described in <xref target="resiliency"/>.</t>
      </section>
    </section>
    <section anchor="yang">
      <name>YANG Data Models for the MPIs</name>
      <t>The analysis of the data models potentially of interest for this document is still on-going. The set of YANG models identified so far includes the following items:</t>
      <ul spacing="normal">
        <li>
          <t>ietf-alarms defined in <xref target="RFC8632"/></t>
        </li>
        <li>
          <t>ietf-performance-monitoring defined in <xref target="I-D.yu-performance-monitoring-yang"/></t>
        </li>
        <li>
          <t>A YANG Data Model for Service Assurance <xref target="RFC9418"/></t>
        </li>
        <li>
          <t>A YANG Data Model for Network and VPN Service Performance Monitoring <xref target="RFC9375"/></t>
        </li>
        <li>
          <t>YANG Data Model for Layer-2 Network Model (L2NM) <xref target="RFC9291"/></t>
        </li>
        <li>
          <t>A YANG Data Model for Layer-3 Network Model (L3NM) <xref target="RFC9182"/></t>
        </li>
      </ul>
      <t>The list will be progressively updated as the document evolves.</t>
    </section>
    <section anchor="fault">
      <name>Multi-layer Fault Management</name>
      <t>This section deals with the actions taken by the MDSC and the PNCs at the IP and optical layers to handle the occurrence of a failure in a multi-layer network. This set of actions is referred to as fault management and consists of steps such as fault detection, fault localization, and fault recovery. Specifically, this section analyzes failure detection and localization, while <xref target="resiliency"/> further details fault recovery mechanisms.
Depending on the point where a failure occurs, three use cases are considered:
1. The failure occurs in the optical layer, for example a fiber cut that triggers a Loss of Signal (LOS) alarm. This is discussed in section <xref target="optical-fault"/>.
2. The failure occurs at the connection between a router and a ROADM (cross-layer link). Such a case is analyzed in section <xref target="edge-fault"/>.
3. The failure occurs in the IP layer, for example a router experiences a hardware failure on a port that connects to its optical counterpart. This case is discussed in section <xref target="router-fault"/>.</t>
      <section anchor="fault-reference-scenario">
        <name>Reference scenario for multi-layer faults</name>
        <t>The following figure illustrates the reference scenario used to discuss the fault management cases.</t>
        <figure anchor="fig-failure-reference">
          <name>Reference scenario for multi-layer fault management</name>
          <artset>
            <artwork type="svg" name="multi-layer-failure-reference-network.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="528" viewBox="0 0 528 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,288" fill="none" stroke="black"/>
                <path d="M 32,96 L 32,120" fill="none" stroke="black"/>
                <path d="M 32,192 L 32,232" fill="none" stroke="black"/>
                <path d="M 40,96 L 40,120" fill="none" stroke="black"/>
                <path d="M 40,192 L 40,232" fill="none" stroke="black"/>
                <path d="M 64,128 L 64,160" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 120,240 L 120,288" fill="none" stroke="black"/>
                <path d="M 152,192 L 152,232" fill="none" stroke="black"/>
                <path d="M 160,192 L 160,232" fill="none" stroke="black"/>
                <path d="M 176,240 L 176,288" fill="none" stroke="black"/>
                <path d="M 256,96 L 256,120" fill="none" stroke="black"/>
                <path d="M 264,96 L 264,120" fill="none" stroke="black"/>
                <path d="M 352,240 L 352,288" fill="none" stroke="black"/>
                <path d="M 408,128 L 408,160" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 464,240 L 464,288" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,64" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 64,128" fill="none" stroke="black"/>
                <path d="M 120,128 L 408,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 64,160" fill="none" stroke="black"/>
                <path d="M 120,160 L 408,160" fill="none" stroke="black"/>
                <path d="M 464,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 120,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 352,240 L 408,240" fill="none" stroke="black"/>
                <path d="M 464,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 72,256 L 112,256" fill="none" stroke="black"/>
                <path d="M 416,256 L 456,256" fill="none" stroke="black"/>
                <path d="M 72,272 L 112,272" fill="none" stroke="black"/>
                <path d="M 416,272 L 456,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,288 L 176,288" fill="none" stroke="black"/>
                <path d="M 352,288 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,288 L 520,288" fill="none" stroke="black"/>
                <path d="M 276,216 L 284,232" fill="none" stroke="black"/>
                <path d="M 340,232 L 352,256" fill="none" stroke="black"/>
                <path d="M 176,256 L 188,232" fill="none" stroke="black"/>
                <path d="M 228,232 L 236,216" fill="none" stroke="black"/>
                <path d="M 236,216 L 276,216" fill="none" stroke="black"/>
                <path d="M 188,232 L 228,232" fill="none" stroke="black"/>
                <path d="M 284,232 L 340,232" fill="none" stroke="black"/>
                <path d="M 188,296 L 340,296" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,256 452,250.4 452,261.6" fill="black" transform="rotate(0,456,256)"/>
                <polygon class="arrowhead" points="424,272 412,266.4 412,277.6" fill="black" transform="rotate(180,416,272)"/>
                <polygon class="arrowhead" points="120,256 108,250.4 108,261.6" fill="black" transform="rotate(0,112,256)"/>
                <polygon class="arrowhead" points="80,272 68,266.4 68,277.6" fill="black" transform="rotate(180,72,272)"/>
                <g class="text">
                  <text x="260" y="52">MDSC</text>
                  <text x="36" y="84">/\</text>
                  <text x="260" y="84">/\</text>
                  <text x="56" y="100">1</text>
                  <text x="280" y="100">2</text>
                  <text x="32" y="148">P-PNC</text>
                  <text x="256" y="148">O-PNC</text>
                  <text x="488" y="148">P-PNC</text>
                  <text x="36" y="180">/\</text>
                  <text x="156" y="180">/\</text>
                  <text x="260" y="180">/\</text>
                  <text x="56" y="196">a</text>
                  <text x="176" y="196">b</text>
                  <text x="260" y="196">||</text>
                  <text x="280" y="196">c</text>
                  <text x="36" y="260">R1</text>
                  <text x="148" y="260">ROADM1</text>
                  <text x="256" y="260">Optical</text>
                  <text x="380" y="260">ROADM2</text>
                  <text x="492" y="260">R2</text>
                  <text x="256" y="276">Network</text>
                  <text x="184" y="292">\</text>
                  <text x="344" y="292">/</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="multi-layer-failure-reference-network.txt"><![CDATA[
+---------------------------------------------------------------+
|                             MDSC                              |
+---------------------------------------------------------------+
   /\                          /\
   || 1                        || 2
   ||                          ||
+------+      +-----------------------------------+      +------+
|P-PNC |      |              O-PNC                |      |P-PNC |
+------+      +-----------------------------------+      +------+
   /\             /\           /\
   || a           || b         || c
   ||             ||         _____
   ||             ||   _____/     \_______ 
+------+      +------+/                   \+------+      +------+
|  R1  |----->|ROADM1|      Optical        |ROADM2|----->|  R2  |
|      |<-----|      |      Network        |      |<-----|      |
+------+      +------+\___________________/+------+      +------+
]]></artwork>
          </artset>
        </figure>
        <t>The MDSC is responsible for the correlation of the events. The notification about a failure (alarm, state change, etc.) is sent from the P-PNC (upstream arrow labelled "1" in the figure) and/or the O-PNC (upstream arrow labelled "2"), depending on the case considered. It should be noted that only a single P-PNC is present in the network. The second box marked with the label "P-PNC" is represented only to simplify the schematics. Actually the P-PNC on the left and the P-PNC on the right are the same element.</t>
        <t>In case of a failure in the IP layer, the router that detects it sends a corresponding notification message to the P-PNC. This is represented by the upstream arrow labelled "a". Similarly, a failure in the optical layer can be notified through messages sent by a ROADM (upstream arrow "b") or by a node within the optical core network (upstream arrow "c"). Again, depending on the specific case, multiple messages can be sent by IP and/or optical nodes to the corresponding PNC.</t>
        <t>For simplicity, a router is connected to a ROADM via two unidirectional fibers, represented by the two arrows between them. ROADM 1 and ROADM 2 are considered to be the edge nodes of a larger optical core that may include several other components.
The two connections between a router and a ROADM carry, in addition to data traffic, the signaling messages generated by the physical transmission layer, for example Local Failure Indication (LFI) or Remote Failure Indication (RFI). These messages provide supplementary information that an IP or an optical node may consider for failure detection and for providing further details in the upstream notification to a PNC.</t>
      </section>
      <section anchor="optical-fault">
        <name>Optical Network Failures</name>
        <t>In this case, the O-PNC is fully responsible for the fault management (including failure detection, location and repair) within the optical domain.</t>
        <t>The detailed mechanisms used by the O-PNC for intra-domain fault management are outside the scope of this document. Optical data plane standards provide a comprehensive set of OAM tools, defined in <xref target="ITU-T_G.709"/> and <xref target="ITU-T_G.798"/>, that would assist O-PNC fault management, as described in <xref target="ITU-T_G.7710"/> and <xref target="ITU-T_G.874"/>.</t>
        <t>It is worth noting that the OAM tools, defined in <xref target="ITU-T_G.709"/> and <xref target="ITU-T_G.798"/>, are fully standardized for the ODU, OTU and FlexO sub-layers but only functionally standardized for the optical media layer (i.e., OCh and OTSiA). This is not an issue since it is assumed that the optical NEs and O-PNC within a single domain are single-vendor.</t>
        <t>However, the level of standardization of the OAM tools management requirements is sufficient to define standard requirements and data models at the MPI for multi-vendor, multi-domain and multi-layer fault management.</t>
        <t>Even if in this case the fault management is fully under the responsibility of the O-PNC, it is still needed to inform the MDSC that there is a failure within the optical domain and that the O-PNC is working on it.</t>
        <t>A failure within the optical network can cause secondary failures on multiple optical tunnels, which can in turn cause failures on the multi-layer IP links and on the L2VPN and L3VPN services whose traffic is sent over the failed tunnels.</t>
        <t>For example, with a reference to Figure 7 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>, a failure within the optical network can cause a failure on the optical tunnel between NE11 and NE12. As a consequence, also the IP link between PE13 and BR11 is failed and the L2VPN/L3VPN xxx is also affected.</t>
        <t>The O-PNC can report the operational status of the optical tunnels to the MDSC to let the MDSC know that the optical tunnel is down. The MDSC can then correlate the failure of the optical tunnel (e.g., the optical tunnel between NE11 and NE12 in Figure 7 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>) with the secondary failures on the L2VPN/L3VPN whose traffic has been routed through that optical tunnel.</t>
        <ul empty="true">
          <li>
            <t>Comment: Need to discuss here why reporting the operational status of the optical tunnel is not sufficient to motivate the need for a more enhanced incident management as proposed in <xref target="I-D.feng-opsawg-incident-management"/></t>
          </li>
        </ul>
        <t>The MDSC should also inform the OSS/orchestration layer about the failures on the affected L2VPN/L3VPN services through mechanisms that are outside the scope of this document.</t>
        <ul empty="true">
          <li>
            <t>Comment: Need further discussion about the behavior of P-PNC. The P-PNC can also discover that the multi-layer IP link is down (e.g., using BFD). However, I think that the fault management process in P-PNC should be different from the case where the failed IP link is a single-layer IP link under P-PNC responsibility.</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>Comment: The assumption in this text is that there are grey interfaces between the routers and the optical NEs. More investigation is needed for the scenarios where optical pluggable interfaces are used in the router. Three scenarios for WDM networks: grey interfaces, colored interfaces option 1 and colored interfaces option 2. To consider also the case with ODU switching.</t>
          </li>
        </ul>
      </section>
      <section anchor="edge-fault">
        <name>Cross-layer Link Failures</name>
        <t>The failures discussed in this section occur on the connection between a router and a ROADM.
A first case concerns the Tx fiber used by R1 to send traffic to ROADM1 (<xref target="fig-failure-ingress-link"/>).</t>
        <figure anchor="fig-failure-ingress-link">
          <name>Failure on the optical ingress link</name>
          <artset>
            <artwork type="svg" name="multi-layer-failure-ingress-link.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="528" viewBox="0 0 528 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,288" fill="none" stroke="black"/>
                <path d="M 32,96 L 32,120" fill="none" stroke="black"/>
                <path d="M 32,192 L 32,232" fill="none" stroke="black"/>
                <path d="M 40,96 L 40,120" fill="none" stroke="black"/>
                <path d="M 40,192 L 40,232" fill="none" stroke="black"/>
                <path d="M 64,128 L 64,160" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 120,240 L 120,288" fill="none" stroke="black"/>
                <path d="M 152,192 L 152,232" fill="none" stroke="black"/>
                <path d="M 160,192 L 160,232" fill="none" stroke="black"/>
                <path d="M 176,240 L 176,288" fill="none" stroke="black"/>
                <path d="M 256,96 L 256,120" fill="none" stroke="black"/>
                <path d="M 264,96 L 264,120" fill="none" stroke="black"/>
                <path d="M 352,240 L 352,288" fill="none" stroke="black"/>
                <path d="M 408,128 L 408,160" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 464,240 L 464,288" fill="none" stroke="black"/>
                <path d="M 488,192 L 488,232" fill="none" stroke="black"/>
                <path d="M 496,192 L 496,232" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,64" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 64,128" fill="none" stroke="black"/>
                <path d="M 120,128 L 408,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 64,160" fill="none" stroke="black"/>
                <path d="M 120,160 L 408,160" fill="none" stroke="black"/>
                <path d="M 464,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 120,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 352,240 L 408,240" fill="none" stroke="black"/>
                <path d="M 464,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 184,256 L 240,256" fill="none" stroke="black"/>
                <path d="M 272,256 L 344,256" fill="none" stroke="black"/>
                <path d="M 416,256 L 456,256" fill="none" stroke="black"/>
                <path d="M 72,272 L 112,272" fill="none" stroke="black"/>
                <path d="M 184,272 L 240,272" fill="none" stroke="black"/>
                <path d="M 272,272 L 344,272" fill="none" stroke="black"/>
                <path d="M 416,272 L 456,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,288 L 176,288" fill="none" stroke="black"/>
                <path d="M 352,288 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,288 L 520,288" fill="none" stroke="black"/>
                <path d="M 88,240 L 100,264" fill="none" stroke="black"/>
                <path d="M 276,216 L 284,232" fill="none" stroke="black"/>
                <path d="M 340,232 L 352,256" fill="none" stroke="black"/>
                <path d="M 84,264 L 96,240" fill="none" stroke="black"/>
                <path d="M 176,256 L 188,232" fill="none" stroke="black"/>
                <path d="M 228,232 L 236,216" fill="none" stroke="black"/>
                <path d="M 236,216 L 276,216" fill="none" stroke="black"/>
                <path d="M 188,232 L 228,232" fill="none" stroke="black"/>
                <path d="M 284,232 L 340,232" fill="none" stroke="black"/>
                <path d="M 188,296 L 340,296" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,256 452,250.4 452,261.6" fill="black" transform="rotate(0,456,256)"/>
                <polygon class="arrowhead" points="424,272 412,266.4 412,277.6" fill="black" transform="rotate(180,416,272)"/>
                <polygon class="arrowhead" points="352,256 340,250.4 340,261.6" fill="black" transform="rotate(0,344,256)"/>
                <polygon class="arrowhead" points="192,272 180,266.4 180,277.6" fill="black" transform="rotate(180,184,272)"/>
                <polygon class="arrowhead" points="80,272 68,266.4 68,277.6" fill="black" transform="rotate(180,72,272)"/>
                <g class="text">
                  <text x="260" y="52">MDSC</text>
                  <text x="36" y="84">/\</text>
                  <text x="260" y="84">/\</text>
                  <text x="60" y="100">IP</text>
                  <text x="92" y="100">Link</text>
                  <text x="132" y="100">down</text>
                  <text x="312" y="100">R1-ROADM1</text>
                  <text x="372" y="100">Link</text>
                  <text x="412" y="100">Down</text>
                  <text x="32" y="148">P-PNC</text>
                  <text x="256" y="148">O-PNC</text>
                  <text x="488" y="148">P-PNC</text>
                  <text x="36" y="180">/\</text>
                  <text x="156" y="180">/\</text>
                  <text x="492" y="180">/\</text>
                  <text x="64" y="196">RFI</text>
                  <text x="108" y="196">status</text>
                  <text x="184" y="196">LOS</text>
                  <text x="224" y="196">alarm</text>
                  <text x="408" y="196">LFI</text>
                  <text x="452" y="196">status</text>
                  <text x="64" y="212">BFD</text>
                  <text x="100" y="212">Down</text>
                  <text x="424" y="212">BFD</text>
                  <text x="460" y="212">Down</text>
                  <text x="440" y="244">LFI</text>
                  <text x="36" y="260">R1</text>
                  <text x="76" y="260">--</text>
                  <text x="108" y="260">-&gt;</text>
                  <text x="148" y="260">ROADM1</text>
                  <text x="256" y="260">CSF</text>
                  <text x="380" y="260">ROADM2</text>
                  <text x="492" y="260">R2</text>
                  <text x="256" y="276">CSF</text>
                  <text x="96" y="292">RFI</text>
                  <text x="184" y="292">\</text>
                  <text x="344" y="292">/</text>
                  <text x="440" y="292">RFI</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="multi-layer-failure-ingress-link.txt"><![CDATA[
+---------------------------------------------------------------+
|                             MDSC                              |
+---------------------------------------------------------------+
   /\                          /\
   || IP Link down             || R1-ROADM1 Link Down
   ||                          ||
+------+      +-----------------------------------+      +------+
|P-PNC |      |              O-PNC                |      |P-PNC |
+------+      +-----------------------------------+      +------+
   /\             /\                                        /\
   || RFI status  || LOS alarm                   LFI status ||
   || BFD Down    ||         _____                 BFD Down ||
   ||             ||   _____/     \_______                  ||
+------+  \/  +------+/                   \+------+  LFI +------+
|  R1  |--/\->|ROADM1|--------CSF--------->|ROADM2|----->|  R2  |
|      |<-----|      |<-------CSF----------|      |<-----|      |
+------+  RFI +------+\___________________/+------+  RFI +------+
]]></artwork>
          </artset>
        </figure>
        <t>The failure on that fiber is physically detected by ROADM1 that sends a corresponding notification to O-PNC and generates a Client Signal Fail (CSF) message along the optical path. Upon receiving CSF, ROADM2 sends a LFI to R2. If R2 is instructed to decode physical transmission messages, upon receiving LFI it generates a corresponding message to P-PNC, also informing of the loss of IP connectivity due to missed Bidirectional Forwarding Detection (BFD) messages <xref target="RFC5880"/>.
At the physical level, R2 may generate on its Tx interface an RFI indication that is propagated downstream to the optical network (where a CSF is generated) and to R1. When receiving RFI on its Rx interface, R1 can also send a notification to P-PNC.
When O-PNC and P-PNC get the notifications sent by the network elements, they also instruct MDSC. O-PNC informs MDSC of the link R1-ROADM1 down, while P-PNC informs MDSC that the corresponding IP link is down due to missed BFD signalling in addition to the RFI status.
It is up to the MDSC to correlate the events and determine what IP services are affected (VPNs, P2P links, etc.).</t>
        <t>A second case is depicted in figure <xref target="fig-failure-egress-link"/>. The failure happens on the Rx fiber used by R2 to receive traffic from ROADM2.</t>
        <figure anchor="fig-failure-egress-link">
          <name>Failure on the optical egress link</name>
          <artset>
            <artwork type="svg" name="multi-layer-failure-egress-link.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="528" viewBox="0 0 528 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,288" fill="none" stroke="black"/>
                <path d="M 32,96 L 32,120" fill="none" stroke="black"/>
                <path d="M 32,192 L 32,232" fill="none" stroke="black"/>
                <path d="M 40,96 L 40,120" fill="none" stroke="black"/>
                <path d="M 40,192 L 40,232" fill="none" stroke="black"/>
                <path d="M 64,128 L 64,160" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 120,240 L 120,288" fill="none" stroke="black"/>
                <path d="M 176,240 L 176,288" fill="none" stroke="black"/>
                <path d="M 256,96 L 256,120" fill="none" stroke="black"/>
                <path d="M 264,96 L 264,120" fill="none" stroke="black"/>
                <path d="M 352,240 L 352,288" fill="none" stroke="black"/>
                <path d="M 376,192 L 376,232" fill="none" stroke="black"/>
                <path d="M 384,192 L 384,232" fill="none" stroke="black"/>
                <path d="M 408,128 L 408,160" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 464,240 L 464,288" fill="none" stroke="black"/>
                <path d="M 480,192 L 480,232" fill="none" stroke="black"/>
                <path d="M 488,192 L 488,232" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,64" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 64,128" fill="none" stroke="black"/>
                <path d="M 120,128 L 408,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 64,160" fill="none" stroke="black"/>
                <path d="M 120,160 L 408,160" fill="none" stroke="black"/>
                <path d="M 464,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 120,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 352,240 L 408,240" fill="none" stroke="black"/>
                <path d="M 464,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 72,256 L 112,256" fill="none" stroke="black"/>
                <path d="M 184,256 L 344,256" fill="none" stroke="black"/>
                <path d="M 72,272 L 112,272" fill="none" stroke="black"/>
                <path d="M 184,272 L 240,272" fill="none" stroke="black"/>
                <path d="M 272,272 L 344,272" fill="none" stroke="black"/>
                <path d="M 416,272 L 456,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,288 L 176,288" fill="none" stroke="black"/>
                <path d="M 352,288 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,288 L 520,288" fill="none" stroke="black"/>
                <path d="M 276,216 L 284,232" fill="none" stroke="black"/>
                <path d="M 340,232 L 352,256" fill="none" stroke="black"/>
                <path d="M 432,240 L 444,264" fill="none" stroke="black"/>
                <path d="M 176,256 L 188,232" fill="none" stroke="black"/>
                <path d="M 228,232 L 236,216" fill="none" stroke="black"/>
                <path d="M 428,264 L 440,240" fill="none" stroke="black"/>
                <path d="M 236,216 L 276,216" fill="none" stroke="black"/>
                <path d="M 188,232 L 228,232" fill="none" stroke="black"/>
                <path d="M 284,232 L 340,232" fill="none" stroke="black"/>
                <path d="M 188,296 L 340,296" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="424,272 412,266.4 412,277.6" fill="black" transform="rotate(180,416,272)"/>
                <polygon class="arrowhead" points="352,256 340,250.4 340,261.6" fill="black" transform="rotate(0,344,256)"/>
                <polygon class="arrowhead" points="192,272 180,266.4 180,277.6" fill="black" transform="rotate(180,184,272)"/>
                <polygon class="arrowhead" points="120,256 108,250.4 108,261.6" fill="black" transform="rotate(0,112,256)"/>
                <polygon class="arrowhead" points="80,272 68,266.4 68,277.6" fill="black" transform="rotate(180,72,272)"/>
                <g class="text">
                  <text x="260" y="52">MDSC</text>
                  <text x="36" y="84">/\</text>
                  <text x="260" y="84">/\</text>
                  <text x="88" y="100">R2-ROADM2</text>
                  <text x="148" y="100">Link</text>
                  <text x="188" y="100">Down</text>
                  <text x="312" y="100">R2-ROADM2</text>
                  <text x="372" y="100">Link</text>
                  <text x="412" y="100">Down</text>
                  <text x="32" y="148">P-PNC</text>
                  <text x="256" y="148">O-PNC</text>
                  <text x="488" y="148">P-PNC</text>
                  <text x="36" y="180">/\</text>
                  <text x="380" y="180">/\</text>
                  <text x="484" y="180">/\</text>
                  <text x="64" y="196">RFI</text>
                  <text x="108" y="196">status</text>
                  <text x="296" y="196">RFI</text>
                  <text x="340" y="196">status</text>
                  <text x="408" y="196">LOS</text>
                  <text x="448" y="196">alarm</text>
                  <text x="64" y="212">BFD</text>
                  <text x="100" y="212">Down</text>
                  <text x="36" y="260">R1</text>
                  <text x="148" y="260">ROADM1</text>
                  <text x="380" y="260">ROADM2</text>
                  <text x="420" y="260">--</text>
                  <text x="452" y="260">-&gt;</text>
                  <text x="492" y="260">R2</text>
                  <text x="256" y="276">CSF</text>
                  <text x="96" y="292">RFI</text>
                  <text x="184" y="292">\</text>
                  <text x="344" y="292">/</text>
                  <text x="440" y="292">RFI</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="multi-layer-failure-egress-link.txt"><![CDATA[
+---------------------------------------------------------------+
|                             MDSC                              |
+---------------------------------------------------------------+
   /\                          /\
   || R2-ROADM2 Link Down      || R2-ROADM2 Link Down
   ||                          ||
+------+      +-----------------------------------+      +------+
|P-PNC |      |              O-PNC                |      |P-PNC |
+------+      +-----------------------------------+      +------+
   /\                                         /\           /\
   || RFI status                   RFI status || LOS alarm ||
   || BFD Down               _____            ||           ||
   ||                  _____/     \_______    ||           ||
+------+      +------+/                   \+------+  \/  +------+
|  R1  |----->|ROADM1|-------------------->|ROADM2|--/\->|  R2  |
|      |<-----|      |<-------CSF----------|      |<-----|      |
+------+  RFI +------+\___________________/+------+  RFI +------+
]]></artwork>
          </artset>
        </figure>
        <t>R2 physically detects the absence of signal generating a corresponding LOS alarm to P-PNC. In turn, P-PNC signals MDSC of the corresponding event affecting the link between ROADM2 and R2.
R2 also propagates an RFI indication on the return fiber.
Upon detecting it, ROADM2 also informs O-PNC of the failure with a corresponding RFI status indication.
ROADM2 also propagates a CSF indication across the optical domain, translated to an RFI by ROADM1 towards R1.
The RFI is detected by R1 that may inform P-PNC about the remote failure with an RFI status indication, if instructed to do so, and with a BFD down event notification when detecting missing connectivity.
As noted, MDSC correlates the events to determine the affected services.</t>
        <t>A failure may also occur when the two unidirectional fibers connecting a router, e.g. R1, to a ROADM, e.g. ROADM2, are affected, for example for a simultaneous fiber cut, as shown in figure <xref target="fig-failure-bidir-link"/>.</t>
        <figure anchor="fig-failure-bidir-link">
          <name>Failure on the access link</name>
          <artset>
            <artwork type="svg" name="multi-layer-failure-bidir-link.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="528" viewBox="0 0 528 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,288" fill="none" stroke="black"/>
                <path d="M 32,96 L 32,120" fill="none" stroke="black"/>
                <path d="M 32,192 L 32,232" fill="none" stroke="black"/>
                <path d="M 40,96 L 40,120" fill="none" stroke="black"/>
                <path d="M 40,192 L 40,232" fill="none" stroke="black"/>
                <path d="M 64,128 L 64,160" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 120,240 L 120,288" fill="none" stroke="black"/>
                <path d="M 144,192 L 144,232" fill="none" stroke="black"/>
                <path d="M 152,192 L 152,232" fill="none" stroke="black"/>
                <path d="M 176,240 L 176,288" fill="none" stroke="black"/>
                <path d="M 256,96 L 256,120" fill="none" stroke="black"/>
                <path d="M 264,96 L 264,120" fill="none" stroke="black"/>
                <path d="M 352,240 L 352,288" fill="none" stroke="black"/>
                <path d="M 408,128 L 408,160" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 464,240 L 464,288" fill="none" stroke="black"/>
                <path d="M 480,192 L 480,232" fill="none" stroke="black"/>
                <path d="M 488,192 L 488,232" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,64" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 64,128" fill="none" stroke="black"/>
                <path d="M 120,128 L 408,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 64,160" fill="none" stroke="black"/>
                <path d="M 120,160 L 408,160" fill="none" stroke="black"/>
                <path d="M 464,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 120,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 352,240 L 408,240" fill="none" stroke="black"/>
                <path d="M 464,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 184,256 L 240,256" fill="none" stroke="black"/>
                <path d="M 272,256 L 344,256" fill="none" stroke="black"/>
                <path d="M 416,256 L 456,256" fill="none" stroke="black"/>
                <path d="M 184,272 L 240,272" fill="none" stroke="black"/>
                <path d="M 272,272 L 344,272" fill="none" stroke="black"/>
                <path d="M 416,272 L 456,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 120,288 L 176,288" fill="none" stroke="black"/>
                <path d="M 352,288 L 408,288" fill="none" stroke="black"/>
                <path d="M 464,288 L 520,288" fill="none" stroke="black"/>
                <path d="M 88,256 L 96,272" fill="none" stroke="black"/>
                <path d="M 340,232 L 352,256" fill="none" stroke="black"/>
                <path d="M 88,272 L 96,256" fill="none" stroke="black"/>
                <path d="M 176,256 L 188,232" fill="none" stroke="black"/>
                <path d="M 188,232 L 228,232" fill="none" stroke="black"/>
                <path d="M 284,232 L 340,232" fill="none" stroke="black"/>
                <path d="M 188,296 L 340,296" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,256 452,250.4 452,261.6" fill="black" transform="rotate(0,456,256)"/>
                <polygon class="arrowhead" points="424,272 412,266.4 412,277.6" fill="black" transform="rotate(180,416,272)"/>
                <polygon class="arrowhead" points="352,256 340,250.4 340,261.6" fill="black" transform="rotate(0,344,256)"/>
                <polygon class="arrowhead" points="192,272 180,266.4 180,277.6" fill="black" transform="rotate(180,184,272)"/>
                <g class="text">
                  <text x="260" y="52">MDSC</text>
                  <text x="36" y="84">/\</text>
                  <text x="260" y="84">/\</text>
                  <text x="88" y="100">R1-ROADM1</text>
                  <text x="148" y="100">Link</text>
                  <text x="188" y="100">Down</text>
                  <text x="312" y="100">R1-ROADM1</text>
                  <text x="372" y="100">Link</text>
                  <text x="412" y="100">Down</text>
                  <text x="32" y="148">P-PNC</text>
                  <text x="256" y="148">O-PNC</text>
                  <text x="488" y="148">P-PNC</text>
                  <text x="36" y="180">/\</text>
                  <text x="148" y="180">/\</text>
                  <text x="484" y="180">/\</text>
                  <text x="64" y="196">LOS</text>
                  <text x="104" y="196">alarm</text>
                  <text x="176" y="196">LOS</text>
                  <text x="216" y="196">alarm</text>
                  <text x="400" y="196">LFI</text>
                  <text x="444" y="196">status</text>
                  <text x="416" y="212">BFD</text>
                  <text x="452" y="212">down</text>
                  <text x="232" y="228">/</text>
                  <text x="280" y="228">\</text>
                  <text x="440" y="244">LFI</text>
                  <text x="36" y="260">R1</text>
                  <text x="76" y="260">--</text>
                  <text x="108" y="260">-&gt;</text>
                  <text x="148" y="260">ROADM1</text>
                  <text x="256" y="260">CSF</text>
                  <text x="380" y="260">ROADM2</text>
                  <text x="492" y="260">R2</text>
                  <text x="76" y="276">&lt;-</text>
                  <text x="108" y="276">--</text>
                  <text x="256" y="276">CSF</text>
                  <text x="184" y="292">\</text>
                  <text x="344" y="292">/</text>
                  <text x="440" y="292">RFI</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="multi-layer-failure-bidir-link.txt"><![CDATA[
+---------------------------------------------------------------+
|                             MDSC                              |
+---------------------------------------------------------------+
   /\                          /\
   || R1-ROADM1 Link Down      || R1-ROADM1 Link Down
   ||                          ||
+------+      +-----------------------------------+      +------+
|P-PNC |      |              O-PNC                |      |P-PNC |
+------+      +-----------------------------------+      +------+
   /\            /\                                        /\
   || LOS alarm  || LOS alarm                   LFI status ||
   ||            ||                               BFD down ||
   ||            ||    _____/     \_______                 ||
+------+      +------+/                   \+------+  LFI +------+
|  R1  |--\/->|ROADM1|--------CSF--------->|ROADM2|----->|  R2  |
|      |<-/\--|      |<-------CSF----------|      |<-----|      |
+------+      +------+\___________________/+------+  RFI +------+
]]></artwork>
          </artset>
        </figure>
        <t>Both Tx and Rx fibers are affected, then R1 and ROADM1 immediately detect physical LOS and inform P-PNC and O-PNC respectively.
ROADM1 also triggers a CSF indication towards the optical core that eventually gets to ROADM2, which sends a LFI to R2.
R2 may detect this signal, informing P-PNC. From the IP connectivity standpoint, based on the configured BFD detection parameters, R2 also signals to P-PNC the lack of end-to-end connectivity. It then generates a RFI indication back to ROADM2, which in turn sends a CSF indication on the optical return path.
Both P-PNC and O-PNC inform MDSC of the event affecting the link between R1 and ROADM1 for its successive correlation.</t>
      </section>
      <section anchor="router-fault">
        <name>Router Node Failures</name>
        <t>In this case it is assumed that a router port experiences a hardware failure, for example R1's port connecting to ROADM1.
R1 may have internal mechanisms that detect the failure and trigger the relevant notification to P-PNC.
At the IP level, the missing reception of the BFD messages against R2 triggers a BFD down notification to P-PNC. The same notification is sent by R2, confirming that the IP connectivity is lost.</t>
      </section>
      <section anchor="vpn-fault-remedial-action">
        <name>VPN Service Fault Monitoring</name>
        <t>The fault detection and localization mechanisms described in the preceding subsections feed into a broader process in which the MDSC takes remedial action to restore affected VPN services and, once resolution is achieved, notifies the Orchestrator layer.</t>
        <t>When a failure occurs, it is detected by a network element (router, ROADM, or a node within the optical core) and the corresponding notification (alarm, BFD down, LOS, RFI, etc.) is sent to the responsible PNC (P-PNC or O-PNC), which in turn notifies the MDSC via the MPI. The MDSC then correlates the incoming notifications from the P-PNC(s) and O-PNC, determines the root cause and scope of the failure, and identifies which VPN services (L2VPN/L3VPN) are affected. The subsequent remedial actions are described in <xref target="vpn-fault-remedial-resolution"/>.</t>
        <section anchor="vpn-fault-remedial-resolution">
          <name>Remedial Action and Resolution</name>
          <t>Based on the failure type and layer, the MDSC requests new connectivity from the appropriate PNC or combination of PNCs:</t>
          <ul spacing="normal">
            <li>
              <t>If the failure is confined to the IP layer (e.g. a router port failure), the MDSC requests the P-PNC to reroute the affected IP traffic to an alternative IP path.</t>
            </li>
            <li>
              <t>If the failure is at the optical layer (e.g. a fiber cut or ROADM failure), the MDSC requests the O-PNC to establish a new optical path (via restoration or protection mechanisms) and subsequently instructs the P-PNC to steer IP traffic over the newly available optical connection.</t>
            </li>
            <li>
              <t>If the failure spans both layers, the MDSC coordinates sequential actions on both the O-PNC (new optical path) and the P-PNC (IP traffic switch), ensuring consistency across layers.</t>
            </li>
          </ul>
          <t>Once connectivity is restored and the VPN services are operational again, the P-PNC and/or O-PNC notify the MDSC of the successful recovery. The MDSC then informs the Orchestrator layer of the updated service status and the resolution of the fault. The specific mechanisms used for this notification between the MDSC and the Orchestrator are outside the scope of this document.</t>
          <t>The detailed step-by-step sequences for each failure scenario and the corresponding multi-layer recovery procedures are described in <xref target="resiliency"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="performance">
      <name>Multi-layer Performance Management</name>
      <t>Network performance management refers to the set of operational actions taken to resolve issues affecting network performance that may degrade the quality of services offered to customers.</t>
      <t>For the scope of the present document, which focuses on multi-layer, multi-domain networks, two cases are of interest:
1. The optical layer detects, through performance data measurement, collection, and analysis, that an abnormal condition (e.g., physical signal degradation) has arisen or is likely to happen in either of the optical domains considered in <xref target="fig-ref-architecture"/>. The O-PNC provides relevant information to the MDSC (e.g., the fiber where the degradation was detected), which triggers correlation analysis by the MDSC to detect whether any services are impacted at the IP level and, if so, to take corrective actions through the P-PNC (e.g., traffic rerouting).
2. The IP layer detects, through performance data measurement, collection, and analysis, that the SLA associated with transport of a VPN service is not compliant in at least one of the two IP domains represented in <xref target="fig-ref-architecture"/>. The P-PNC provides relevant information to the MDSC (e.g., the IP tunnel carrying the VPN service), which enables the MDSC to take reactive measures with support from the P-PNC (e.g., rerouting IP traffic onto a different IP path). The MDSC can take further steps, such as verifying through the O-PNC whether any failure or degradation has happened in the optical layer, but this is out of scope for case 2. The focus here is on IP multi-domain, end-to-end performance management.</t>
      <t>The two cases are further detailed in the relevant subsections.</t>
      <section anchor="optical-performance-management">
        <name>Optical performance management</name>
        <t>Optical devices employ mechanisms for monitoring the condition of an
OTN link. Among others, pre-Forward Error Correction (pre-FEC) Bit Error Rate (BER) allows tracking bit errors on the optical wire,
notifying the transmitter side or a controlling agent when a
specified threshold is reached or passed.  The advantage of this
mechanism is to get an early warning on the optical path performance:
exceeding the specified threshold means that the receiver is
no longer able to correct all the errors on the channel.  As a
result, the transmitter or the controlling entity (e.g. an SDN
controller) may trigger counter-actions such as the switch to a
different optical path.</t>
        <t>In the context of multi-layer performance management, it is assumed that:
1. The O-PNC is capable of monitoring the optical performance of DWDM links and generating a TCA toward the MDSC when the pre-FEC BER value exceeds a user-specified threshold.
2. The MDSC is capable of correlating the pre-FEC BER TCA with a related IP link and taking appropriate corrective actions, if programmed to do so.</t>
        <t>In this context, the assumption is that pre-FEC BER measurement is
done on the optical path between ROADM1 and ROADM2 of <xref target="fig-ref-network"/>.  Some IP services
(e.g.  L2/L3 VPNs) are active between R1 and R2, using the optical
path between ROADM1 and ROADM2 as a transport.  The sequence of steps
to handle the exception detected by the optical performance management is expected to
be the following:</t>
        <ul spacing="normal">
          <li>
            <t>step 1. ROADM2 detects a pre-FEC BER value at an ingress interface higher than the defined threshold. A corresponding alarm is sent to the O-PNC</t>
          </li>
          <li>
            <t>step 2.  O-PNC forwards the alarm to MDSC</t>
          </li>
          <li>
            <t>step 3.  MDSC correlates the information of the optical path subject to pre-FEC BER issues and the IP services active on it.</t>
          </li>
        </ul>
        <t>Depending on how the MDSC is instructed to react, different choices
are possible. At one extreme of the spectrum, the MDSC notes the
event and simply triggers a notification to the operator. At the
other extreme, the MDSC may start the multi-layer resiliency
mechanisms described in <xref target="optical-fault"/>, as the case is equivalent to the handling of an optical failure.</t>
      </section>
      <section anchor="end-to-end-ip-performance-management">
        <name>End-to-end IP performance management</name>
        <t>Performance measurement at the IP layer may be based on a multiplicity of methods, including interface counters, passive and active mechanisms <xref target="RFC7799"/>. While the utilization of those mechanisms is not constrained by network topology, for example by the number of IP domains crossed by a measurement flow, in practice they are often enabled in limited environments (controlled domains) <xref target="RFC8799"/>.</t>
        <t>As a result, the applicability of such methods is often limited to a single IP domain due to the necessity of avoiding the exchange and disclosure of sensitive data across multiple administrative organizations.
With reference to <xref target="fig-ref-architecture"/>, it is then assumed that both IP domains, namely Packet domain 1 and 2, run separate performance measurements.
It is the responsibility of each P-PNC to inform the MDSC in the case of service SLA degradation so that the MDSC enables a corrective action.</t>
      </section>
    </section>
    <section anchor="resiliency">
      <name>Multi-layer Resiliency</name>
      <t>The coordination of both the IP and the optical layer in the cases discussed in <xref target="resiliency"/>
requires the MDSC to be aware of some network capabilities and to exchange the corresponding information with
both the P-PNC and the O-PNC.</t>
      <t>To achieve maximum flexibility, a network operator may enable or disable these capabilities.
Once the network operator has configured the capabilities described in this section, the MDSC exchanges
the relevant configuration with the PNCs present in the network before the use cases described in <xref target="resiliency"/>
take place.</t>
      <t>The list of parameters that the MDSC may need to communicate to the PNCs includes:</t>
      <ul spacing="normal">
        <li>
          <t>IP service reversion: on/off</t>
        </li>
        <li>
          <t>Optical service reversion: on/off</t>
        </li>
        <li>
          <t>Hold-off time: time in ms (0 for immediate fast re-routing)</t>
        </li>
        <li>
          <t>Wait time before reversion: time in s</t>
        </li>
        <li>
          <t>Recovery method used in the optical layer: protection/restoration</t>
        </li>
      </ul>
      <section anchor="optical-resiliency">
        <name>Optical Network Failures</name>
        <t>Failures in the optical domain can be recovered by packet-based protection mechanisms as described in <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
        <t>This use case is characterized by a fault happening on the upper fiber connecting ROADM1 and ROADM2
(port P3 to port P3 as depicted in <xref target="fig-ref-network"/>), affecting the IP traffic between R1 and R2.
As a result, the MDSC and the domain controllers cooperate to find a backup path for the IP traffic.
If the optical layer does not employ any mechanisms, the case is typically solved through the Fast Rerouting
Mechanisms (FRR) enabled by the IP/MPLS control plane. With reference to figure <xref target="fig-ref-network"/>, this corresponds
to using the combination of the two detour paths R1-R3 and R3-R2.
For the scope of this document, the assumption is instead that the optical layer supports its own mechanisms that have
to interact with the IP layer. Two sub-cases are possible:</t>
        <ol spacing="normal" type="1"><li>
            <t>The optical layer supports restoration</t>
          </li>
          <li>
            <t>The optical layer supports protection.</t>
          </li>
        </ol>
        <section anchor="restoration">
          <name>Optical restoration</name>
          <t>As restoration typically sets an alternative path on the fly based on the availability of sufficient optical resources,
the time taken by the process to create an optical backup tends to be longer than the time taken by the IP/MPLS FRR process.
As a result, the interaction between the two layers follows the mimics shown in the next figure.</t>
          <figure anchor="fig-fault-restoration">
            <name>Fault detection with optical restoration</name>
            <artset>
              <artwork type="svg" name="restoration.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="552" viewBox="0 0 552 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,176 L 8,208" fill="none" stroke="black"/>
                  <path d="M 8,400 L 8,432" fill="none" stroke="black"/>
                  <path d="M 24,48 L 24,168" fill="none" stroke="black"/>
                  <path d="M 24,216 L 24,272" fill="none" stroke="black"/>
                  <path d="M 24,336 L 24,392" fill="none" stroke="black"/>
                  <path d="M 24,440 L 24,496" fill="none" stroke="black"/>
                  <path d="M 32,288 L 32,320" fill="none" stroke="black"/>
                  <path d="M 64,176 L 64,208" fill="none" stroke="black"/>
                  <path d="M 80,400 L 80,432" fill="none" stroke="black"/>
                  <path d="M 88,48 L 88,96" fill="none" stroke="black"/>
                  <path d="M 88,136 L 88,160" fill="none" stroke="black"/>
                  <path d="M 88,248 L 88,280" fill="none" stroke="black"/>
                  <path d="M 88,328 L 88,384" fill="none" stroke="black"/>
                  <path d="M 88,472 L 88,496" fill="none" stroke="black"/>
                  <path d="M 144,288 L 144,320" fill="none" stroke="black"/>
                  <path d="M 152,72 L 152,96" fill="none" stroke="black"/>
                  <path d="M 152,128 L 152,160" fill="none" stroke="black"/>
                  <path d="M 152,240 L 152,272" fill="none" stroke="black"/>
                  <path d="M 152,360 L 152,384" fill="none" stroke="black"/>
                  <path d="M 152,464 L 152,496" fill="none" stroke="black"/>
                  <path d="M 216,64 L 216,128" fill="none" stroke="black"/>
                  <path d="M 216,336 L 216,384" fill="none" stroke="black"/>
                  <path d="M 216,448 L 216,464" fill="none" stroke="black"/>
                  <path d="M 280,48 L 280,64" fill="none" stroke="black"/>
                  <path d="M 280,96 L 280,128" fill="none" stroke="black"/>
                  <path d="M 280,448 L 280,464" fill="none" stroke="black"/>
                  <path d="M 288,288 L 288,320" fill="none" stroke="black"/>
                  <path d="M 344,48 L 344,64" fill="none" stroke="black"/>
                  <path d="M 344,96 L 344,160" fill="none" stroke="black"/>
                  <path d="M 344,240 L 344,280" fill="none" stroke="black"/>
                  <path d="M 344,328 L 344,384" fill="none" stroke="black"/>
                  <path d="M 344,448 L 344,496" fill="none" stroke="black"/>
                  <path d="M 400,288 L 400,320" fill="none" stroke="black"/>
                  <path d="M 408,48 L 408,160" fill="none" stroke="black"/>
                  <path d="M 408,224 L 408,272" fill="none" stroke="black"/>
                  <path d="M 408,336 L 408,384" fill="none" stroke="black"/>
                  <path d="M 408,448 L 408,496" fill="none" stroke="black"/>
                  <path d="M 472,48 L 472,160" fill="none" stroke="black"/>
                  <path d="M 472,224 L 472,272" fill="none" stroke="black"/>
                  <path d="M 472,336 L 472,384" fill="none" stroke="black"/>
                  <path d="M 472,448 L 472,496" fill="none" stroke="black"/>
                  <path d="M 536,48 L 536,160" fill="none" stroke="black"/>
                  <path d="M 536,224 L 536,272" fill="none" stroke="black"/>
                  <path d="M 536,336 L 536,384" fill="none" stroke="black"/>
                  <path d="M 536,448 L 536,496" fill="none" stroke="black"/>
                  <path d="M 96,64 L 208,64" fill="none" stroke="black"/>
                  <path d="M 224,96 L 272,96" fill="none" stroke="black"/>
                  <path d="M 32,128 L 144,128" fill="none" stroke="black"/>
                  <path d="M 160,160 L 272,160" fill="none" stroke="black"/>
                  <path d="M 8,176 L 64,176" fill="none" stroke="black"/>
                  <path d="M 8,208 L 64,208" fill="none" stroke="black"/>
                  <path d="M 32,240 L 144,240" fill="none" stroke="black"/>
                  <path d="M 160,272 L 272,272" fill="none" stroke="black"/>
                  <path d="M 40,288 L 136,288" fill="none" stroke="black"/>
                  <path d="M 296,288 L 392,288" fill="none" stroke="black"/>
                  <path d="M 152,304 L 280,304" fill="none" stroke="black"/>
                  <path d="M 40,320 L 144,320" fill="none" stroke="black"/>
                  <path d="M 288,320 L 392,320" fill="none" stroke="black"/>
                  <path d="M 96,352 L 208,352" fill="none" stroke="black"/>
                  <path d="M 224,352 L 336,352" fill="none" stroke="black"/>
                  <path d="M 224,384 L 272,384" fill="none" stroke="black"/>
                  <path d="M 8,400 L 72,400" fill="none" stroke="black"/>
                  <path d="M 8,432 L 80,432" fill="none" stroke="black"/>
                  <path d="M 32,464 L 144,464" fill="none" stroke="black"/>
                  <path d="M 160,496 L 272,496" fill="none" stroke="black"/>
                  <path d="M 40,288 C 31.16936,288 24,280.83064 24,272" fill="none" stroke="black"/>
                  <path d="M 136,288 C 144.83064,288 152,280.83064 152,272" fill="none" stroke="black"/>
                  <path d="M 296,288 C 287.16936,288 280,280.83064 280,272" fill="none" stroke="black"/>
                  <path d="M 392,288 C 400.83064,288 408,280.83064 408,272" fill="none" stroke="black"/>
                  <path d="M 40,320 C 31.16936,320 24,327.16936 24,336" fill="none" stroke="black"/>
                  <path d="M 392,320 C 400.83064,320 408,327.16936 408,336" fill="none" stroke="black"/>
                  <path d="M 72,400 C 80.83064,400 88,392.83064 88,384" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="288,304 276,298.4 276,309.6" fill="black" transform="rotate(0,280,304)"/>
                  <polygon class="arrowhead" points="280,496 268,490.4 268,501.6" fill="black" transform="rotate(0,272,496)"/>
                  <polygon class="arrowhead" points="280,384 268,378.4 268,389.6" fill="black" transform="rotate(0,272,384)"/>
                  <polygon class="arrowhead" points="280,272 268,266.4 268,277.6" fill="black" transform="rotate(0,272,272)"/>
                  <polygon class="arrowhead" points="280,160 268,154.4 268,165.6" fill="black" transform="rotate(0,272,160)"/>
                  <polygon class="arrowhead" points="280,96 268,90.4 268,101.6" fill="black" transform="rotate(0,272,96)"/>
                  <polygon class="arrowhead" points="232,352 220,346.4 220,357.6" fill="black" transform="rotate(180,224,352)"/>
                  <polygon class="arrowhead" points="216,352 204,346.4 204,357.6" fill="black" transform="rotate(0,208,352)"/>
                  <polygon class="arrowhead" points="216,64 204,58.4 204,69.6" fill="black" transform="rotate(0,208,64)"/>
                  <polygon class="arrowhead" points="160,304 148,298.4 148,309.6" fill="black" transform="rotate(180,152,304)"/>
                  <polygon class="arrowhead" points="152,464 140,458.4 140,469.6" fill="black" transform="rotate(0,144,464)"/>
                  <polygon class="arrowhead" points="152,240 140,234.4 140,245.6" fill="black" transform="rotate(0,144,240)"/>
                  <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(0,144,128)"/>
                  <g class="text">
                    <text x="28" y="36">R1</text>
                    <text x="92" y="36">ROADM1</text>
                    <text x="160" y="36">P-PNC</text>
                    <text x="224" y="36">O-PNC</text>
                    <text x="284" y="36">MDSC</text>
                    <text x="348" y="36">ROADM2</text>
                    <text x="412" y="36">R2</text>
                    <text x="476" y="36">ROADM3</text>
                    <text x="540" y="36">R3</text>
                    <text x="124" y="52">1a.Fault</text>
                    <text x="212" y="52">notification</text>
                    <text x="252" y="84">2a.Fault</text>
                    <text x="340" y="84">notification</text>
                    <text x="60" y="116">1b.Fault</text>
                    <text x="148" y="116">notification</text>
                    <text x="188" y="148">2b.Fault</text>
                    <text x="276" y="148">notification</text>
                    <text x="280" y="164">|</text>
                    <text x="32" y="196">3.FRR</text>
                    <text x="44" y="228">4.IP</text>
                    <text x="96" y="228">service</text>
                    <text x="164" y="228">switched</text>
                    <text x="232" y="228">(backup</text>
                    <text x="284" y="228">path</text>
                    <text x="336" y="228">through</text>
                    <text x="384" y="228">R3)</text>
                    <text x="216" y="244">|</text>
                    <text x="280" y="244">|</text>
                    <text x="172" y="260">5.IP</text>
                    <text x="224" y="260">service</text>
                    <text x="292" y="260">switched</text>
                    <text x="88" y="308">6.Restoration</text>
                    <text x="344" y="308">6.Restoration</text>
                    <text x="116" y="340">7.Path</text>
                    <text x="168" y="340">ready</text>
                    <text x="268" y="340">7.Path</text>
                    <text x="320" y="340">ready</text>
                    <text x="276" y="372">8.Notification</text>
                    <text x="280" y="388">|</text>
                    <text x="44" y="420">9.Revert</text>
                    <text x="48" y="452">10.IP</text>
                    <text x="104" y="452">service</text>
                    <text x="172" y="452">reverted</text>
                    <text x="176" y="484">11.IP</text>
                    <text x="232" y="484">service</text>
                    <text x="300" y="484">reverted</text>
                    <text x="280" y="500">|</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" name="restoration.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
  |       |1a.Fault notification  |       |       |       |       |
  |       |-------------->|       |       |       |       |       |
  |       |       |       |2a.Fault notification  |       |       |
  |       |       |       |------>|       |       |       |       |
  |1b.Fault notification  |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |2b.Fault notification  |       |       |       |
  |       |       |-------------->|       |       |       |       |
+------+
|3.FRR |
+------+
  |4.IP service switched (backup path through R3) |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |5.IP service switched  |       |       |       |
  |       |       |-------------->|       |       |       |       |
   +-------------+                 +-------------+
   |6.Restoration|<--------------->|6.Restoration|
   +-------------+                 +-------------+
  |       |7.Path ready   |   7.Path ready|       |       |       |
  |       |-------------->|<--------------|       |       |       |
  |       |       |       |8.Notification |       |       |       |
  |       |       |       |------>|       |       |       |       |
+--------+
|9.Revert|
+--------+
  |10.IP service reverted |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |11.IP service reverted |       |       |       |
  |       |       |-------------->|       |       |       |       |
]]></artwork>
            </artset>
          </figure>
          <t>More in details:</t>
          <ul spacing="normal">
            <li>
              <t>step 1a. The fault on the optical path (e.g. fiber cut, loss of signal, etc.) is detected by ROADM1 and notified to O-PNC</t>
            </li>
            <li>
              <t>step 2a. O-PNC notifies the fault to MDSC</t>
            </li>
            <li>
              <t>step 1b. R1 detects loss of end-to-end connectivity (e.g. 3 missed BFD messages) and notifies P-PNC. This step takes place almost simultaneously to 1a.</t>
            </li>
            <li>
              <t>step 2b. P-PNC notifies the issue to MDSC</t>
            </li>
            <li>
              <t>step 3. R1 starts a fast reroute process to enable a backup path at the IP/MPLS layer, using the already established detour through R3</t>
            </li>
            <li>
              <t>step 4. R1 notifies P-PNC of the IP service switch through the alternate path (R1-R3 and R3-R2)</t>
            </li>
            <li>
              <t>step 5. P-PNC notifies MDSC of the switch</t>
            </li>
            <li>
              <t>step 6. ROADM1 and ROADM2 enable the restoration process. Based on the mechanism adopted, there may be interaction between them</t>
            </li>
            <li>
              <t>step 7. Both ROADM1 and ROADM2 notify O-PNC of the availability of an optical backup path</t>
            </li>
            <li>
              <t>step 8. O-PNC notifies MDSC of the availability of an optical backup path</t>
            </li>
            <li>
              <t>step 9. R1 detects again end-to-end connectivity through the initial path R1-R2 and, if configured to do so, revert the service</t>
            </li>
            <li>
              <t>step 10. R1 notifies P-PNC of the switch to the initial path</t>
            </li>
            <li>
              <t>step 11. P-PNC notifies the switch to MDSC.</t>
            </li>
          </ul>
          <t>As noted in step 6., the restoration process may require an exchange of messages between ROADM1 and ROADM2.
This is not detailed in the present document as it is assumed that the relevant signaling is handled through O-PNC.</t>
          <t>In step 9., R1 detects again control traffic from R2. The decision whether to revert the service on the initial path
is local, e.g. it depends on the configuration made by the network operator.
Often, the IP equipment is configured to operate the reversion automatically, but there are cases where the network
operator may prefer differently.</t>
          <t>At the end of the process, multi-layer hitless reversion may take place, again based on the configuration adopted by the
network operator. If multi-layer hitless reversion is adopted, then the process described in <xref target="ref-hitless-reversion"/>
takes place.</t>
        </section>
        <section anchor="protection">
          <name>Optical protection</name>
          <t>Differently from the previous case, here optical protection is considered. The duration of this process is comparable
with IP/MPLS FRR, as it is pre-computed. As a consequence, when multi-layer coordination is enabled it is preferable
to hold-off FRR on R1 and wait that optical protection is completed.
The process is shown in the next figure.</t>
          <figure anchor="fig-fault-protection">
            <name>Fault detection with optical protection</name>
            <artset>
              <artwork type="svg" name="protection.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="552" viewBox="0 0 552 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,176 L 8,208" fill="none" stroke="black"/>
                  <path d="M 8,336 L 8,368" fill="none" stroke="black"/>
                  <path d="M 24,48 L 24,168" fill="none" stroke="black"/>
                  <path d="M 24,272 L 24,328" fill="none" stroke="black"/>
                  <path d="M 32,224 L 32,256" fill="none" stroke="black"/>
                  <path d="M 64,176 L 64,208" fill="none" stroke="black"/>
                  <path d="M 80,336 L 80,368" fill="none" stroke="black"/>
                  <path d="M 88,48 L 88,96" fill="none" stroke="black"/>
                  <path d="M 88,136 L 88,160" fill="none" stroke="black"/>
                  <path d="M 88,264 L 88,320" fill="none" stroke="black"/>
                  <path d="M 144,224 L 144,256" fill="none" stroke="black"/>
                  <path d="M 152,72 L 152,96" fill="none" stroke="black"/>
                  <path d="M 152,128 L 152,160" fill="none" stroke="black"/>
                  <path d="M 152,296 L 152,320" fill="none" stroke="black"/>
                  <path d="M 216,64 L 216,128" fill="none" stroke="black"/>
                  <path d="M 216,272 L 216,320" fill="none" stroke="black"/>
                  <path d="M 280,48 L 280,64" fill="none" stroke="black"/>
                  <path d="M 280,96 L 280,128" fill="none" stroke="black"/>
                  <path d="M 344,48 L 344,64" fill="none" stroke="black"/>
                  <path d="M 344,96 L 344,160" fill="none" stroke="black"/>
                  <path d="M 344,272 L 344,320" fill="none" stroke="black"/>
                  <path d="M 408,48 L 408,160" fill="none" stroke="black"/>
                  <path d="M 408,272 L 408,320" fill="none" stroke="black"/>
                  <path d="M 472,48 L 472,160" fill="none" stroke="black"/>
                  <path d="M 472,272 L 472,320" fill="none" stroke="black"/>
                  <path d="M 536,48 L 536,160" fill="none" stroke="black"/>
                  <path d="M 536,272 L 536,320" fill="none" stroke="black"/>
                  <path d="M 96,64 L 208,64" fill="none" stroke="black"/>
                  <path d="M 224,96 L 272,96" fill="none" stroke="black"/>
                  <path d="M 32,128 L 144,128" fill="none" stroke="black"/>
                  <path d="M 160,160 L 272,160" fill="none" stroke="black"/>
                  <path d="M 8,176 L 64,176" fill="none" stroke="black"/>
                  <path d="M 8,208 L 64,208" fill="none" stroke="black"/>
                  <path d="M 32,224 L 144,224" fill="none" stroke="black"/>
                  <path d="M 152,240 L 208,240" fill="none" stroke="black"/>
                  <path d="M 224,240 L 336,240" fill="none" stroke="black"/>
                  <path d="M 40,256 L 144,256" fill="none" stroke="black"/>
                  <path d="M 96,288 L 208,288" fill="none" stroke="black"/>
                  <path d="M 224,288 L 336,288" fill="none" stroke="black"/>
                  <path d="M 224,320 L 272,320" fill="none" stroke="black"/>
                  <path d="M 8,336 L 72,336" fill="none" stroke="black"/>
                  <path d="M 8,368 L 80,368" fill="none" stroke="black"/>
                  <path d="M 40,256 C 31.16936,256 24,263.16936 24,272" fill="none" stroke="black"/>
                  <path d="M 72,336 C 80.83064,336 88,328.83064 88,320" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="344,240 332,234.4 332,245.6" fill="black" transform="rotate(0,336,240)"/>
                  <polygon class="arrowhead" points="280,320 268,314.4 268,325.6" fill="black" transform="rotate(0,272,320)"/>
                  <polygon class="arrowhead" points="280,160 268,154.4 268,165.6" fill="black" transform="rotate(0,272,160)"/>
                  <polygon class="arrowhead" points="280,96 268,90.4 268,101.6" fill="black" transform="rotate(0,272,96)"/>
                  <polygon class="arrowhead" points="232,288 220,282.4 220,293.6" fill="black" transform="rotate(180,224,288)"/>
                  <polygon class="arrowhead" points="216,288 204,282.4 204,293.6" fill="black" transform="rotate(0,208,288)"/>
                  <polygon class="arrowhead" points="216,240 204,234.4 204,245.6" fill="black" transform="rotate(0,208,240)"/>
                  <polygon class="arrowhead" points="216,64 204,58.4 204,69.6" fill="black" transform="rotate(0,208,64)"/>
                  <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(0,144,128)"/>
                  <g class="text">
                    <text x="28" y="36">R1</text>
                    <text x="92" y="36">ROADM1</text>
                    <text x="160" y="36">P-PNC</text>
                    <text x="224" y="36">O-PNC</text>
                    <text x="284" y="36">MDSC</text>
                    <text x="348" y="36">ROADM2</text>
                    <text x="412" y="36">R2</text>
                    <text x="476" y="36">ROADM3</text>
                    <text x="540" y="36">R3</text>
                    <text x="124" y="52">1a.Fault</text>
                    <text x="212" y="52">notification</text>
                    <text x="252" y="84">2a.Fault</text>
                    <text x="340" y="84">notification</text>
                    <text x="60" y="116">1b.Fault</text>
                    <text x="148" y="116">notification</text>
                    <text x="188" y="148">2b.Fault</text>
                    <text x="276" y="148">notification</text>
                    <text x="280" y="164">|</text>
                    <text x="36" y="196">3.Hold</text>
                    <text x="84" y="244">4.Protection</text>
                    <text x="216" y="244">|</text>
                    <text x="344" y="244">|</text>
                    <text x="116" y="276">5.Path</text>
                    <text x="168" y="276">ready</text>
                    <text x="268" y="276">5.Path</text>
                    <text x="320" y="276">ready</text>
                    <text x="276" y="308">6.Notification</text>
                    <text x="280" y="324">|</text>
                    <text x="28" y="356">7.IP</text>
                    <text x="60" y="356">Up</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" name="protection.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
  |       |1a.Fault notification  |       |       |       |       |
  |       |-------------->|       |       |       |       |       |
  |       |       |       |2a.Fault notification  |       |       |
  |       |       |       |------>|       |       |       |       |
  |1b.Fault notification  |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |2b.Fault notification  |       |       |       |
  |       |       |-------------->|       |       |       |       |
+------+
|3.Hold|
+------+
   +-------------+                 
   |4.Protection |------->|-------------->|
   +-------------+                 
  |       |5.Path ready   |   5.Path ready|       |       |       |
  |       |-------------->|<--------------|       |       |       |
  |       |       |       |6.Notification |       |       |       |
  |       |       |       |------>|       |       |       |       |
+--------+
|7.IP Up |
+--------+
]]></artwork>
            </artset>
          </figure>
          <t>The detailed process includes the following steps:</t>
          <ul spacing="normal">
            <li>
              <t>step 1a. The fault on the optical path (e.g. fiber cut, loss of signal, etc.) is detected by ROADM1 and notified to O-PNC</t>
            </li>
            <li>
              <t>step 2a. O-PNC notifies the fault to MDSC</t>
            </li>
            <li>
              <t>step 1b. R1 detects loss of end-to-end connectivity (e.g. 3 missed BFD messages) and notifies P-PNC. This step takes place almost simultaneously to 1a.</t>
            </li>
            <li>
              <t>step 2b. P-PNC notifies the issue to MDSC [Editor's note: is this step necessary?]</t>
            </li>
            <li>
              <t>step 3.  R1 is configured to hold the FRR process, thus it waits for the corresponding value set by the hold-off time parameter</t>
            </li>
            <li>
              <t>step 4.  Optical protection is started by ROADM1, potentially involving an exchange of messages with O-PNC and ROADM2</t>
            </li>
            <li>
              <t>step 5.  Both ROADM1 and ROADM2 notify O-PNC of the availability of an optical backup path</t>
            </li>
            <li>
              <t>step 6.  O-PNC notifies MDSC of the availability of an optical backup path</t>
            </li>
            <li>
              <t>step 7.  R1 detects again end-to-end connectivity with R2.</t>
            </li>
          </ul>
          <t>The IP traffic is recovered as soon as the optical protection is completed with no action taken by the IP routers.</t>
          <t>As in the previous use case, when the failure is fixed the network operator may desire to bring the service back
to the original configuration. If this is the case, multi-layer hitless reversion, as described
in <xref target="ref-hitless-reversion"/>, takes place to move the service back to the initial network setup.</t>
        </section>
      </section>
      <section anchor="optical-maintenance">
        <name>Optical Network Maintenance</name>
        <t>Before planned maintenance operation on the optical network takes place, the IP traffic affected by the maintenance operation should be moved hitlessly to another link. The MDSC and the P-PNC have to coordinate to reroute the traffic before the event happens. In such a case the IP traffic needs to be locked to the protection route until the maintenance event is finished, unless a fault occurs on such path.
In this example, it is supposed that the link undergoing maintenance activity is the one from ROADM1 to ROADM2, affecting the IP traffic steered from R1 to R2.
A few minutes before the maintenance window, the MDSC starts the process that brings to the hitless re-routing of the affected IP traffic. That means the IP backup path (through R3) is available and it is used only for the time requested by the optical plane to do maintenance. The path R1-R3 should not be overloaded, unless the network operator accepts some possible traffic losses.
At the optical layer, maintenance has no traffic impact because a new path is configured in advance, and the optical service does not revert to the original link until the maintenance window is finished. At the end of maintenance, the network configuration is moved back to the initial setup, using the multi-layer hitless reversion process discussed in <xref target="ref-hitless-reversion"/> if the network operator has enabled it.</t>
        <t>The next figure shows the process adopted to handle the maintenance window.</t>
        <figure anchor="fig-maintenance">
          <name>Maintenance window operation</name>
          <artset>
            <artwork type="svg" name="maintenance.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="624" width="536" viewBox="0 0 536 624" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,544" fill="none" stroke="black"/>
                <path d="M 72,48 L 72,64" fill="none" stroke="black"/>
                <path d="M 72,136 L 72,448" fill="none" stroke="black"/>
                <path d="M 72,520 L 72,592" fill="none" stroke="black"/>
                <path d="M 136,40 L 136,64" fill="none" stroke="black"/>
                <path d="M 136,128 L 136,192" fill="none" stroke="black"/>
                <path d="M 136,264 L 136,320" fill="none" stroke="black"/>
                <path d="M 136,392 L 136,448" fill="none" stroke="black"/>
                <path d="M 136,512 L 136,552" fill="none" stroke="black"/>
                <path d="M 200,72 L 200,128" fill="none" stroke="black"/>
                <path d="M 200,168 L 200,192" fill="none" stroke="black"/>
                <path d="M 200,224 L 200,320" fill="none" stroke="black"/>
                <path d="M 200,352 L 200,416" fill="none" stroke="black"/>
                <path d="M 200,480 L 200,512" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                <path d="M 264,192 L 264,216" fill="none" stroke="black"/>
                <path d="M 264,448 L 264,512" fill="none" stroke="black"/>
                <path d="M 328,48 L 328,160" fill="none" stroke="black"/>
                <path d="M 328,192 L 328,288" fill="none" stroke="black"/>
                <path d="M 328,320 L 328,416" fill="none" stroke="black"/>
                <path d="M 328,448 L 328,592" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,160" fill="none" stroke="black"/>
                <path d="M 392,192 L 392,288" fill="none" stroke="black"/>
                <path d="M 392,320 L 392,544" fill="none" stroke="black"/>
                <path d="M 456,48 L 456,544" fill="none" stroke="black"/>
                <path d="M 520,48 L 520,544" fill="none" stroke="black"/>
                <path d="M 144,64 L 256,64" fill="none" stroke="black"/>
                <path d="M 16,96 L 128,96" fill="none" stroke="black"/>
                <path d="M 16,128 L 128,128" fill="none" stroke="black"/>
                <path d="M 144,160 L 256,160" fill="none" stroke="black"/>
                <path d="M 208,192 L 256,192" fill="none" stroke="black"/>
                <path d="M 80,224 L 192,224" fill="none" stroke="black"/>
                <path d="M 208,224 L 320,224" fill="none" stroke="black"/>
                <path d="M 80,256 L 192,256" fill="none" stroke="black"/>
                <path d="M 208,256 L 320,256" fill="none" stroke="black"/>
                <path d="M 208,288 L 256,288" fill="none" stroke="black"/>
                <path d="M 208,320 L 256,320" fill="none" stroke="black"/>
                <path d="M 80,352 L 192,352" fill="none" stroke="black"/>
                <path d="M 208,352 L 320,352" fill="none" stroke="black"/>
                <path d="M 80,384 L 192,384" fill="none" stroke="black"/>
                <path d="M 208,384 L 320,384" fill="none" stroke="black"/>
                <path d="M 208,416 L 256,416" fill="none" stroke="black"/>
                <path d="M 144,448 L 256,448" fill="none" stroke="black"/>
                <path d="M 16,480 L 128,480" fill="none" stroke="black"/>
                <path d="M 16,512 L 128,512" fill="none" stroke="black"/>
                <path d="M 144,544 L 256,544" fill="none" stroke="black"/>
                <path d="M 72,560 L 328,560" fill="none" stroke="black"/>
                <path d="M 72,592 L 328,592" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="328,352 316,346.4 316,357.6" fill="black" transform="rotate(0,320,352)"/>
                <polygon class="arrowhead" points="328,224 316,218.4 316,229.6" fill="black" transform="rotate(0,320,224)"/>
                <polygon class="arrowhead" points="264,544 252,538.4 252,549.6" fill="black" transform="rotate(0,256,544)"/>
                <polygon class="arrowhead" points="264,416 252,410.4 252,421.6" fill="black" transform="rotate(0,256,416)"/>
                <polygon class="arrowhead" points="264,288 252,282.4 252,293.6" fill="black" transform="rotate(0,256,288)"/>
                <polygon class="arrowhead" points="264,160 252,154.4 252,165.6" fill="black" transform="rotate(0,256,160)"/>
                <polygon class="arrowhead" points="216,384 204,378.4 204,389.6" fill="black" transform="rotate(180,208,384)"/>
                <polygon class="arrowhead" points="216,320 204,314.4 204,325.6" fill="black" transform="rotate(180,208,320)"/>
                <polygon class="arrowhead" points="216,256 204,250.4 204,261.6" fill="black" transform="rotate(180,208,256)"/>
                <polygon class="arrowhead" points="216,192 204,186.4 204,197.6" fill="black" transform="rotate(180,208,192)"/>
                <polygon class="arrowhead" points="200,384 188,378.4 188,389.6" fill="black" transform="rotate(0,192,384)"/>
                <polygon class="arrowhead" points="200,256 188,250.4 188,261.6" fill="black" transform="rotate(0,192,256)"/>
                <polygon class="arrowhead" points="152,448 140,442.4 140,453.6" fill="black" transform="rotate(180,144,448)"/>
                <polygon class="arrowhead" points="152,64 140,58.4 140,69.6" fill="black" transform="rotate(180,144,64)"/>
                <polygon class="arrowhead" points="136,512 124,506.4 124,517.6" fill="black" transform="rotate(0,128,512)"/>
                <polygon class="arrowhead" points="136,128 124,122.4 124,133.6" fill="black" transform="rotate(0,128,128)"/>
                <polygon class="arrowhead" points="88,352 76,346.4 76,357.6" fill="black" transform="rotate(180,80,352)"/>
                <polygon class="arrowhead" points="88,224 76,218.4 76,229.6" fill="black" transform="rotate(180,80,224)"/>
                <polygon class="arrowhead" points="24,480 12,474.4 12,485.6" fill="black" transform="rotate(180,16,480)"/>
                <polygon class="arrowhead" points="24,96 12,90.4 12,101.6" fill="black" transform="rotate(180,16,96)"/>
                <g class="text">
                  <text x="12" y="36">R1</text>
                  <text x="76" y="36">ROADM1</text>
                  <text x="144" y="36">P-PNC</text>
                  <text x="208" y="36">O-PNC</text>
                  <text x="268" y="36">MDSC</text>
                  <text x="332" y="36">ROADM2</text>
                  <text x="396" y="36">R2</text>
                  <text x="460" y="36">ROADM3</text>
                  <text x="524" y="36">R3</text>
                  <text x="172" y="52">1.Switch</text>
                  <text x="220" y="52">to</text>
                  <text x="260" y="52">backup</text>
                  <text x="308" y="52">path</text>
                  <text x="44" y="84">2.Switch</text>
                  <text x="92" y="84">to</text>
                  <text x="132" y="84">backup</text>
                  <text x="180" y="84">path</text>
                  <text x="136" y="100">|</text>
                  <text x="28" y="116">3.IP</text>
                  <text x="80" y="116">service</text>
                  <text x="148" y="116">switched</text>
                  <text x="156" y="148">4.IP</text>
                  <text x="208" y="148">service</text>
                  <text x="276" y="148">switched</text>
                  <text x="264" y="164">|</text>
                  <text x="240" y="180">5.Compute</text>
                  <text x="312" y="180">optical</text>
                  <text x="372" y="180">backup</text>
                  <text x="108" y="212">6.Enable</text>
                  <text x="176" y="212">optical</text>
                  <text x="236" y="212">backup</text>
                  <text x="128" y="244">7.Acknowledge</text>
                  <text x="256" y="244">7.Acknowledge</text>
                  <text x="256" y="276">8.Acknowledge</text>
                  <text x="264" y="292">|</text>
                  <text x="236" y="308">9.Switch</text>
                  <text x="284" y="308">to</text>
                  <text x="328" y="308">optical</text>
                  <text x="388" y="308">backup</text>
                  <text x="264" y="324">|</text>
                  <text x="108" y="340">9.Switch</text>
                  <text x="156" y="340">to</text>
                  <text x="200" y="340">optical</text>
                  <text x="260" y="340">backup</text>
                  <text x="132" y="372">10.Acknowledge</text>
                  <text x="260" y="372">10.Acknowledge</text>
                  <text x="260" y="404">11.Acknowledge</text>
                  <text x="264" y="420">|</text>
                  <text x="176" y="436">12.Revert</text>
                  <text x="228" y="436">to</text>
                  <text x="272" y="436">initial</text>
                  <text x="324" y="436">path</text>
                  <text x="48" y="468">13.Revert</text>
                  <text x="100" y="468">to</text>
                  <text x="144" y="468">initial</text>
                  <text x="196" y="468">path</text>
                  <text x="136" y="484">|</text>
                  <text x="32" y="500">14.IP</text>
                  <text x="88" y="500">service</text>
                  <text x="156" y="500">reverted</text>
                  <text x="160" y="532">15.IP</text>
                  <text x="216" y="532">service</text>
                  <text x="284" y="532">reverted</text>
                  <text x="264" y="548">|</text>
                  <text x="172" y="580">16.Maintenance</text>
                  <text x="260" y="580">window</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="maintenance.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
  |       |       |1.Switch to backup path|       |       |       |
  |       |       |<--------------|       |       |       |       |
  |2.Switch to backup path|       |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |3.IP service switched  |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |4.IP service switched  |       |       |       |
  |       |       |-------------->|       |       |       |       | 
  |       |       |       |5.Compute optical backup       |       |
  |       |       |       |<------|       |       |       |       | 
  |       |6.Enable optical backup|       |       |       |       |
  |       |<--------------|-------------->|       |       |       |
  |       |7.Acknowledge  |7.Acknowledge  |       |       |       |
  |       |-------------->|<--------------|       |       |       |
  |       |       |       |8.Acknowledge  |       |       |       |
  |       |       |       |------>|       |       |       |       | 
  |       |       |       |9.Switch to optical backup     |       |
  |       |       |       |<------|       |       |       |       | 
  |       |9.Switch to optical backup     |       |       |       |
  |       |<--------------|-------------->|       |       |       |
  |       |10.Acknowledge |10.Acknowledge |       |       |       |
  |       |-------------->|<--------------|       |       |       |
  |       |       |       |11.Acknowledge |       |       |       |
  |       |       |       |------>|       |       |       |       | 
  |       |       |12.Revert to initial path      |       |       |
  |       |       |<--------------|       |       |       |       |
  |13.Revert to initial path      |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |14.IP service reverted |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |15.IP service reverted |       |       |       |
  |       |       |-------------->|       |       |       |       | 
          +-------------------------------+
          |     16.Maintenance window     |
          +-------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>The steps include the following:</t>
        <ul spacing="normal">
          <li>
            <t>step 1. MDSC requires P-PNC to steer the IP service to a backup path (R1-R3-R2). This is necessary to avoid loss of service before maintenance starts</t>
          </li>
          <li>
            <t>step 2. P-PNC signals R1 to switch IP service to the backup path</t>
          </li>
          <li>
            <t>step 3. R1 switches to backup path and acks to P-PNC</t>
          </li>
          <li>
            <t>step 4. P-PNC acks to MDSC</t>
          </li>
          <li>
            <t>step 5. MDSC instructs O-PNC to enable the process to create an optical backup path</t>
          </li>
          <li>
            <t>step 6. O-PNC instructs ROADM1 and ROADM2 to enable a backup path</t>
          </li>
          <li>
            <t>step 7. ROADM1 and ROADM2 acknowledge to O-PNC</t>
          </li>
          <li>
            <t>step 8. O-PNC acknowledges to MDSC</t>
          </li>
          <li>
            <t>step 9. MDSC instructs O-PNC to disable the primary optical path, initially used, and switch to the optical backup path</t>
          </li>
          <li>
            <t>step 10. O-PNC instructs ROADM1 and ROADM2 to switch</t>
          </li>
          <li>
            <t>step 11. ROADM1 and ROADM2 acknowledge to O-PNC</t>
          </li>
          <li>
            <t>step 12. O-PNC acknowledges to MDSC</t>
          </li>
          <li>
            <t>step 13. MDSC requires P-PNC to revert the IP service back to the primary path (R1-R2)</t>
          </li>
          <li>
            <t>step 14. P-PNC signals R1 to switch IP service to the primary path (carried over the optical backup path)</t>
          </li>
          <li>
            <t>step 15. R1 switches to the backup path and acknowledges to P-PNC</t>
          </li>
          <li>
            <t>step 16. P-PNC acknowledges to MDSC</t>
          </li>
          <li>
            <t>step 17. The maintenance activity follows.</t>
          </li>
        </ul>
        <t>Once the activity is over, the network operator may wish to bring the whole configuration back to the IP and optical primary paths. In such a case, multi-layer hitless reversion may be performed, as described in <xref target="ref-hitless-reversion"/>.</t>
      </section>
      <section anchor="edge-resiliency">
        <name>Cross-layer Link Failures</name>
        <t>The approach described here leverages multi-layer POI capabilities to address failures in links between IP routers and ROADMs, relying on optical network protection/restoration to handle most failure scenarios. The connectivity between a router and an edge ROADM is characterized by having N working ports and one spare port (N+1) for protection.</t>
        <t>Depending on the specific network configuration and protection scheme adopted, this approach may offer cost advantages because it reduces the overall resources required for protection in the optical network. Since the number of failed links between IP routers and edge ROADMs is lower, this configuration can achieve higher availability at lower cost while recovering 100% of IP traffic.</t>
        <t>Following the previous examples, this case is characterized by R1 being configured with N working ports (say, P1-P3) and one spare port (PP) as protection for the other N ports.
In case of failure, for example on port P1, PP is dynamically activated and traffic originally directed to P1 is steered to PP. PP receives the same configuration as P1, while P1 is brought to a down state.
Unlike ordinary LAG, traffic is not redistributed over the surviving links. Since a backup port (PP) is enabled, traffic continues to flow on N links instead of N-1. Although this introduces additional IP-layer complexity by requiring an extra port on both R1 and ROADM1, the optical-layer configuration shown in figure <xref target="fig-ref-network"/> does not change, because only N optical channels (e.g. lambdas) are used, as shown in figure <xref target="fig-N-1-port-prot-architecture"/>.</t>
        <figure anchor="fig-N-1-port-prot-architecture">
          <name>Use of N:1 protection on R1</name>
          <artset>
            <artwork type="svg" name="N-1-port-prot-architecture.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="224" viewBox="0 0 224 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,192" fill="none" stroke="black"/>
                <path d="M 96,64 L 96,192" fill="none" stroke="black"/>
                <path d="M 128,64 L 128,192" fill="none" stroke="black"/>
                <path d="M 216,64 L 216,192" fill="none" stroke="black"/>
                <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
                <path d="M 128,64 L 216,64" fill="none" stroke="black"/>
                <path d="M 104,80 L 120,80" fill="none" stroke="black"/>
                <path d="M 104,112 L 120,112" fill="none" stroke="black"/>
                <path d="M 104,144 L 120,144" fill="none" stroke="black"/>
                <path d="M 104,176 L 120,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 96,192" fill="none" stroke="black"/>
                <path d="M 128,192 L 216,192" fill="none" stroke="black"/>
                <g class="text">
                  <text x="84" y="84">P1</text>
                  <text x="140" y="84">P1</text>
                  <text x="200" y="100">OP1</text>
                  <text x="84" y="116">P2</text>
                  <text x="140" y="116">P2</text>
                  <text x="52" y="132">R1</text>
                  <text x="172" y="132">ROADM1</text>
                  <text x="84" y="148">P3</text>
                  <text x="140" y="148">P3</text>
                  <text x="200" y="164">OP2</text>
                  <text x="84" y="180">PP</text>
                  <text x="140" y="180">PP</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="N-1-port-prot-architecture.txt"><![CDATA[


+----------+   +----------+
|        P1|---|P1        |
|          |   |       OP1|
|        P2|---|P2        |
|    R1    |   |  ROADM1  |
|        P3|---|P3        |
|          |   |       OP2|
|        PP|---|PP        |
+----------+   +----------+






]]></artwork>
          </artset>
        </figure>
        <t>Two sub-cases may be considered, depending on the availability of a Muxponder or a Transponder on ROADM1.
If a Muxponder is used, then the optical P1 and PP are hosted on the same optical complex (e.g. board) on the customer's edge of ROADM1. It is the optical complex that selects the input source of the signals and maps it on the proper lambda. If instead a Transponder is used, then it's ROADM1's internal matrix that switches from the input source from P1 to PP, cross-connecting the signal to the output lambda.
It has to be noted that the mechanism to deal with the on-the-fly reconfiguration of a router's port is out of the scope of the present document and may be subject of a dedicated draft.</t>
        <t>The next figure shows the process adopted to handle N:1 port protection.</t>
        <figure anchor="fig-N-1-port-prot">
          <name>N:1 protection operation</name>
          <artset>
            <artwork type="svg" name="N-1-port-prot.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="552" viewBox="0 0 552 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                <path d="M 8,224 L 8,256" fill="none" stroke="black"/>
                <path d="M 24,48 L 24,104" fill="none" stroke="black"/>
                <path d="M 24,152 L 24,216" fill="none" stroke="black"/>
                <path d="M 24,264 L 24,576" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,144" fill="none" stroke="black"/>
                <path d="M 72,224 L 72,256" fill="none" stroke="black"/>
                <path d="M 88,72 L 88,96" fill="none" stroke="black"/>
                <path d="M 88,184 L 88,208" fill="none" stroke="black"/>
                <path d="M 88,296 L 88,480" fill="none" stroke="black"/>
                <path d="M 88,552 L 88,576" fill="none" stroke="black"/>
                <path d="M 152,64 L 152,96" fill="none" stroke="black"/>
                <path d="M 152,176 L 152,208" fill="none" stroke="black"/>
                <path d="M 152,272 L 152,352" fill="none" stroke="black"/>
                <path d="M 152,424 L 152,480" fill="none" stroke="black"/>
                <path d="M 152,544 L 152,576" fill="none" stroke="black"/>
                <path d="M 216,40 L 216,64" fill="none" stroke="black"/>
                <path d="M 216,160 L 216,176" fill="none" stroke="black"/>
                <path d="M 216,272 L 216,288" fill="none" stroke="black"/>
                <path d="M 216,328 L 216,352" fill="none" stroke="black"/>
                <path d="M 216,384 L 216,448" fill="none" stroke="black"/>
                <path d="M 216,512 L 216,544" fill="none" stroke="black"/>
                <path d="M 280,48 L 280,64" fill="none" stroke="black"/>
                <path d="M 280,160 L 280,176" fill="none" stroke="black"/>
                <path d="M 280,272 L 280,320" fill="none" stroke="black"/>
                <path d="M 280,384 L 280,416" fill="none" stroke="black"/>
                <path d="M 280,480 L 280,544" fill="none" stroke="black"/>
                <path d="M 344,48 L 344,96" fill="none" stroke="black"/>
                <path d="M 344,160 L 344,208" fill="none" stroke="black"/>
                <path d="M 344,272 L 344,320" fill="none" stroke="black"/>
                <path d="M 344,384 L 344,448" fill="none" stroke="black"/>
                <path d="M 344,480 L 344,576" fill="none" stroke="black"/>
                <path d="M 408,48 L 408,96" fill="none" stroke="black"/>
                <path d="M 408,160 L 408,208" fill="none" stroke="black"/>
                <path d="M 408,272 L 408,320" fill="none" stroke="black"/>
                <path d="M 408,384 L 408,576" fill="none" stroke="black"/>
                <path d="M 472,48 L 472,96" fill="none" stroke="black"/>
                <path d="M 472,160 L 472,208" fill="none" stroke="black"/>
                <path d="M 472,272 L 472,320" fill="none" stroke="black"/>
                <path d="M 472,352 L 472,576" fill="none" stroke="black"/>
                <path d="M 536,48 L 536,96" fill="none" stroke="black"/>
                <path d="M 536,160 L 536,208" fill="none" stroke="black"/>
                <path d="M 536,272 L 536,576" fill="none" stroke="black"/>
                <path d="M 32,64 L 144,64" fill="none" stroke="black"/>
                <path d="M 160,96 L 272,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 8,144 L 72,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 144,176" fill="none" stroke="black"/>
                <path d="M 160,208 L 272,208" fill="none" stroke="black"/>
                <path d="M 8,224 L 72,224" fill="none" stroke="black"/>
                <path d="M 8,256 L 72,256" fill="none" stroke="black"/>
                <path d="M 32,288 L 144,288" fill="none" stroke="black"/>
                <path d="M 160,320 L 272,320" fill="none" stroke="black"/>
                <path d="M 224,352 L 272,352" fill="none" stroke="black"/>
                <path d="M 96,384 L 208,384" fill="none" stroke="black"/>
                <path d="M 96,416 L 208,416" fill="none" stroke="black"/>
                <path d="M 224,448 L 272,448" fill="none" stroke="black"/>
                <path d="M 160,480 L 272,480" fill="none" stroke="black"/>
                <path d="M 32,512 L 144,512" fill="none" stroke="black"/>
                <path d="M 32,544 L 144,544" fill="none" stroke="black"/>
                <path d="M 160,576 L 272,576" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="280,576 268,570.4 268,581.6" fill="black" transform="rotate(0,272,576)"/>
                <polygon class="arrowhead" points="280,448 268,442.4 268,453.6" fill="black" transform="rotate(0,272,448)"/>
                <polygon class="arrowhead" points="280,320 268,314.4 268,325.6" fill="black" transform="rotate(0,272,320)"/>
                <polygon class="arrowhead" points="280,208 268,202.4 268,213.6" fill="black" transform="rotate(0,272,208)"/>
                <polygon class="arrowhead" points="280,96 268,90.4 268,101.6" fill="black" transform="rotate(0,272,96)"/>
                <polygon class="arrowhead" points="232,352 220,346.4 220,357.6" fill="black" transform="rotate(180,224,352)"/>
                <polygon class="arrowhead" points="216,416 204,410.4 204,421.6" fill="black" transform="rotate(0,208,416)"/>
                <polygon class="arrowhead" points="168,480 156,474.4 156,485.6" fill="black" transform="rotate(180,160,480)"/>
                <polygon class="arrowhead" points="152,544 140,538.4 140,549.6" fill="black" transform="rotate(0,144,544)"/>
                <polygon class="arrowhead" points="152,288 140,282.4 140,293.6" fill="black" transform="rotate(0,144,288)"/>
                <polygon class="arrowhead" points="152,176 140,170.4 140,181.6" fill="black" transform="rotate(0,144,176)"/>
                <polygon class="arrowhead" points="152,64 140,58.4 140,69.6" fill="black" transform="rotate(0,144,64)"/>
                <polygon class="arrowhead" points="104,384 92,378.4 92,389.6" fill="black" transform="rotate(180,96,384)"/>
                <polygon class="arrowhead" points="40,512 28,506.4 28,517.6" fill="black" transform="rotate(180,32,512)"/>
                <g class="text">
                  <text x="28" y="36">R1</text>
                  <text x="92" y="36">ROADM1</text>
                  <text x="160" y="36">P-PNC</text>
                  <text x="224" y="36">O-PNC</text>
                  <text x="284" y="36">MDSC</text>
                  <text x="348" y="36">ROADM2</text>
                  <text x="412" y="36">R2</text>
                  <text x="476" y="36">ROADM3</text>
                  <text x="540" y="36">R3</text>
                  <text x="52" y="52">1.Port</text>
                  <text x="104" y="52">R1/P1</text>
                  <text x="160" y="52">failure</text>
                  <text x="180" y="84">2.Port</text>
                  <text x="232" y="84">R1/P1</text>
                  <text x="288" y="84">failure</text>
                  <text x="280" y="100">|</text>
                  <text x="40" y="132">3.FRR</text>
                  <text x="44" y="164">4.IP</text>
                  <text x="96" y="164">service</text>
                  <text x="164" y="164">switched</text>
                  <text x="172" y="196">5.IP</text>
                  <text x="224" y="196">service</text>
                  <text x="292" y="196">switched</text>
                  <text x="280" y="212">|</text>
                  <text x="28" y="244">6.PP</text>
                  <text x="60" y="244">Up</text>
                  <text x="52" y="276">7.Port</text>
                  <text x="104" y="276">R1/PP</text>
                  <text x="140" y="276">Up</text>
                  <text x="180" y="308">8.Port</text>
                  <text x="232" y="308">R1/PP</text>
                  <text x="268" y="308">Up</text>
                  <text x="272" y="340">9.Reconfigure</text>
                  <text x="356" y="340">access</text>
                  <text x="392" y="340">&amp;</text>
                  <text x="432" y="340">connect</text>
                  <text x="480" y="340">new</text>
                  <text x="516" y="340">path</text>
                  <text x="280" y="356">|</text>
                  <text x="344" y="356">|</text>
                  <text x="408" y="356">|</text>
                  <text x="148" y="372">10.Reconfigure</text>
                  <text x="236" y="372">access</text>
                  <text x="272" y="372">&amp;</text>
                  <text x="312" y="372">connect</text>
                  <text x="360" y="372">new</text>
                  <text x="396" y="372">path</text>
                  <text x="148" y="404">11.Acknowledge</text>
                  <text x="276" y="436">12.Acknowledge</text>
                  <text x="280" y="452">|</text>
                  <text x="192" y="468">13.Switch</text>
                  <text x="252" y="468">back</text>
                  <text x="284" y="468">to</text>
                  <text x="328" y="468">initial</text>
                  <text x="380" y="468">path</text>
                  <text x="64" y="500">14.Switch</text>
                  <text x="124" y="500">back</text>
                  <text x="156" y="500">to</text>
                  <text x="200" y="500">initial</text>
                  <text x="252" y="500">path</text>
                  <text x="152" y="516">|</text>
                  <text x="48" y="532">15.IP</text>
                  <text x="104" y="532">service</text>
                  <text x="172" y="532">switched</text>
                  <text x="176" y="564">16.IP</text>
                  <text x="232" y="564">service</text>
                  <text x="300" y="564">switched</text>
                  <text x="280" y="580">|</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="N-1-port-prot.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
  |1.Port R1/P1 failure   |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |2.Port R1/P1 failure   |       |       |       |
  |       |       |-------------->|       |       |       |       |
+-------+
| 3.FRR |
+-------+
  |4.IP service switched  |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |5.IP service switched  |       |       |       |
  |       |       |-------------->|       |       |       |       |
+-------+
|6.PP Up|
+-------+
  |7.Port R1/PP Up|       |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |8.Port R1/PP Up|       |       |       |       |
  |       |       |-------------->|       |       |       |       |
  |       |       |       |9.Reconfigure access & connect new path|
  |       |       |       |<------|       |       |       |       |
  |       |10.Reconfigure access & connect new path       |       |
  |       |<--------------|       |       |       |       |       |
  |       |11.Acknowledge |       |       |       |       |       |
  |       |-------------->|       |       |       |       |       |
  |       |       |       |12.Acknowledge |       |       |       |
  |       |       |       |------>|       |       |       |       |
  |       |       |13.Switch back to initial path |       |       |
  |       |       |<--------------|       |       |       |       |
  |14.Switch back to initial path |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |15.IP service switched |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |16.IP service switched |       |       |       |
  |       |       |-------------->|       |       |       |       |
]]></artwork>
          </artset>
        </figure>
        <t>The sequence of steps is detailed.</t>
        <ul spacing="normal">
          <li>
            <t>step 1. R1 detects port P1 failure and notifies P-PNC</t>
          </li>
          <li>
            <t>step 2. P-PNC notifies MDSC of the failure</t>
          </li>
          <li>
            <t>step 3. R1 triggers FRR to protect the IP flows steering</t>
          </li>
          <li>
            <t>step 4. R1 informs P-PNC of the switch to the backup path</t>
          </li>
          <li>
            <t>step 5. P-PNC notifies MDSC of the traffic switch</t>
          </li>
          <li>
            <t>step 6. R1 handles the mechanism to replicate the configuration of P1 to PP</t>
          </li>
          <li>
            <t>step 7. R1 informs P-PNC that PP is up and ready to forward traffic</t>
          </li>
          <li>
            <t>step 8. P-PNC notifies MDSC that port PP is up and ready to forward traffic</t>
          </li>
          <li>
            <t>step 9. MDSC requires O-PNC to reconfigure ROADM1 access (both in the case of muxponder and transponder) and WDM connectivity if a transponder is used</t>
          </li>
          <li>
            <t>step 10. O-PNC signals ROADM1 to reconfigure access (muxponder/transponder) and WDM connectivity (transponder)</t>
          </li>
          <li>
            <t>step 11. ROADM1 acknowledges to O-PNC</t>
          </li>
          <li>
            <t>step 12. O-PNC acknowledges to MDSC</t>
          </li>
          <li>
            <t>step 13. MDSC requires P-PNC to revert to the initial (primary) path</t>
          </li>
          <li>
            <t>step 14. P-PNC notifies R1 to revert to initial (primary) path</t>
          </li>
          <li>
            <t>step 15. R1 notifies P-PNC of IP service switch and new port in use</t>
          </li>
          <li>
            <t>step 16. P-PNC notifies MDSC of service switch and new port in use</t>
          </li>
        </ul>
        <t>As in the previous cases, when port P1 on R1 is fixed, multilayer reversion <xref target="ref-hitless-reversion"/> to the initial configuration may happen. This is dependent on the network operator's preference.</t>
      </section>
      <section anchor="router-resiliency">
        <name>Router Node Failures</name>
        <t>As shown in <xref target="fig-ref-network"/>, in its normal operations R1 is dual-homed to R2 and R3. Even if highly unlikely due to the usual redundancy deployed in field, this case considers a full failure of R2 (node failure). The implications of such an event are useful to discuss the interaction between the IP and the optical layers through the MDSC coordination.
The underlying assumption is that it is not possible to R2 to communicate to P-PNC about the event causing the failure, so it is up to R1 to detect it and to communicate instead to P-PNC. The first reaction to the event is to perform a fast-rerouting action and move the traffic from the R1-R2 link to the R1-R3 link. As part of the assumption, the R1-R3 IP link has been previously dimensioned to carry a certain amount of traffic, so it is possible that after fast re-routing takes place some traffic previously carried on the R1-R2 IP link and now shifted to R1-R3 is discarded, for example because congestion occurs.
MDSC instructs the optical layer to find available optical resources, activate a new optical path between ROADM1 and ROADM3 and finally move the traffic previously associated to R1-R2 to the newly created optical path. When this second optical path is available, MDSC triggers a new switch of the traffic so that R1 can now steers the previous R1-R2 traffic to the new optical path. The final configuration is shown in figure <xref target="fig-node-prot-architecture"/>.</t>
        <figure anchor="fig-node-prot-architecture">
          <name>IP configuration after the creation of a second optical path</name>
          <artset>
            <artwork type="svg" name="node-prot-architecture.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="528" viewBox="0 0 528 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,64 L 80,128" fill="none" stroke="black"/>
                <path d="M 104,64 L 104,128" fill="none" stroke="black"/>
                <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
                <path d="M 200,128 L 200,144" fill="none" stroke="black"/>
                <path d="M 224,208 L 224,272" fill="none" stroke="black"/>
                <path d="M 224,304 L 224,368" fill="none" stroke="black"/>
                <path d="M 232,168 L 232,200" fill="none" stroke="black"/>
                <path d="M 232,280 L 232,296" fill="none" stroke="black"/>
                <path d="M 296,168 L 296,200" fill="none" stroke="black"/>
                <path d="M 296,280 L 296,296" fill="none" stroke="black"/>
                <path d="M 304,208 L 304,272" fill="none" stroke="black"/>
                <path d="M 304,304 L 304,368" fill="none" stroke="black"/>
                <path d="M 328,128 L 328,144" fill="none" stroke="black"/>
                <path d="M 352,64 L 352,128" fill="none" stroke="black"/>
                <path d="M 424,64 L 424,128" fill="none" stroke="black"/>
                <path d="M 448,64 L 448,128" fill="none" stroke="black"/>
                <path d="M 520,48 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
                <path d="M 104,64 L 176,64" fill="none" stroke="black"/>
                <path d="M 352,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 448,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 80,128" fill="none" stroke="black"/>
                <path d="M 104,128 L 176,128" fill="none" stroke="black"/>
                <path d="M 352,128 L 424,128" fill="none" stroke="black"/>
                <path d="M 448,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 224,208 L 304,208" fill="none" stroke="black"/>
                <path d="M 224,272 L 304,272" fill="none" stroke="black"/>
                <path d="M 224,304 L 304,304" fill="none" stroke="black"/>
                <path d="M 224,368 L 304,368" fill="none" stroke="black"/>
                <path d="M 176,96 L 200,144" fill="none" stroke="black"/>
                <path d="M 176,64 L 204,120" fill="none" stroke="black"/>
                <path d="M 276,88 L 284,104" fill="none" stroke="black"/>
                <path d="M 316,104 L 328,128" fill="none" stroke="black"/>
                <path d="M 200,128 L 212,104" fill="none" stroke="black"/>
                <path d="M 244,104 L 252,88" fill="none" stroke="black"/>
                <path d="M 324,120 L 352,64" fill="none" stroke="black"/>
                <path d="M 328,144 L 352,96" fill="none" stroke="black"/>
                <path d="M 252,88 L 276,88" fill="none" stroke="black"/>
                <path d="M 212,104 L 244,104" fill="none" stroke="black"/>
                <path d="M 284,104 L 316,104" fill="none" stroke="black"/>
                <path d="M 212,168 L 316,168" fill="none" stroke="black"/>
                <g class="text">
                  <text x="108" y="52">&lt;xxxxxxxxxxxxxxxxxxxxxxx</text>
                  <text x="220" y="52">IP</text>
                  <text x="252" y="52">Link</text>
                  <text x="296" y="52">R1-R2</text>
                  <text x="420" y="52">xxxxxxxxxxxxxxxxxxxxxxx&gt;</text>
                  <text x="68" y="84">P1</text>
                  <text x="92" y="84">--</text>
                  <text x="116" y="84">P1</text>
                  <text x="164" y="84">P3</text>
                  <text x="364" y="84">P3</text>
                  <text x="412" y="84">P1</text>
                  <text x="436" y="84">--</text>
                  <text x="460" y="84">P1</text>
                  <text x="36" y="100">R1</text>
                  <text x="140" y="100">ROADM1</text>
                  <text x="388" y="100">ROADM2</text>
                  <text x="484" y="100">R2</text>
                  <text x="68" y="116">P2</text>
                  <text x="92" y="116">--</text>
                  <text x="116" y="116">P2</text>
                  <text x="164" y="116">P4</text>
                  <text x="364" y="116">P4</text>
                  <text x="412" y="116">P2</text>
                  <text x="436" y="116">--</text>
                  <text x="460" y="116">P2</text>
                  <text x="264" y="132">Optical</text>
                  <text x="264" y="148">Network</text>
                  <text x="20" y="164">|&lt;xx</text>
                  <text x="52" y="164">IP</text>
                  <text x="84" y="164">Link</text>
                  <text x="128" y="164">R1-R3</text>
                  <text x="164" y="164">xx</text>
                  <text x="208" y="164">\</text>
                  <text x="320" y="164">/</text>
                  <text x="356" y="164">xx</text>
                  <text x="380" y="164">IP</text>
                  <text x="412" y="164">Link</text>
                  <text x="456" y="164">R3-R2</text>
                  <text x="504" y="164">xxx&gt;|</text>
                  <text x="176" y="180">x</text>
                  <text x="344" y="180">x</text>
                  <text x="20" y="196">|&lt;xX</text>
                  <text x="64" y="196">R1-R3</text>
                  <text x="116" y="196">backup</text>
                  <text x="156" y="196">xx</text>
                  <text x="184" y="196">x</text>
                  <text x="336" y="196">x</text>
                  <text x="168" y="212">x</text>
                  <text x="200" y="212">x</text>
                  <text x="328" y="212">x</text>
                  <text x="176" y="228">x</text>
                  <text x="208" y="228">x</text>
                  <text x="236" y="228">P3</text>
                  <text x="292" y="228">P4</text>
                  <text x="320" y="228">x</text>
                  <text x="184" y="244">x</text>
                  <text x="208" y="244">x</text>
                  <text x="260" y="244">ROADM3</text>
                  <text x="320" y="244">x</text>
                  <text x="184" y="260">x</text>
                  <text x="208" y="260">x</text>
                  <text x="236" y="260">P1</text>
                  <text x="292" y="260">P2</text>
                  <text x="320" y="260">x</text>
                  <text x="184" y="276">x</text>
                  <text x="208" y="276">x</text>
                  <text x="320" y="276">x</text>
                  <text x="184" y="292">x</text>
                  <text x="208" y="292">x</text>
                  <text x="320" y="292">x</text>
                  <text x="184" y="308">x</text>
                  <text x="208" y="308">x</text>
                  <text x="320" y="308">x</text>
                  <text x="184" y="324">x</text>
                  <text x="208" y="324">x</text>
                  <text x="236" y="324">P1</text>
                  <text x="292" y="324">P2</text>
                  <text x="320" y="324">x</text>
                  <text x="184" y="340">x</text>
                  <text x="208" y="340">x</text>
                  <text x="260" y="340">R3</text>
                  <text x="320" y="340">x</text>
                  <text x="184" y="356">V</text>
                  <text x="208" y="356">V</text>
                  <text x="320" y="356">V</text>
                  <text x="184" y="372">-</text>
                  <text x="208" y="372">-</text>
                  <text x="320" y="372">-</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="node-prot-architecture.txt"><![CDATA[

|<xxxxxxxxxxxxxxxxxxxxxxx IP Link R1-R2 xxxxxxxxxxxxxxxxxxxxxxx>|
+--------+  +--------+                     +--------+  +--------+
|      P1|--|P1    P3|\        ___        /|P3    P1|--|P1      |
|  R1    |  | ROADM1 | \  ____/   \____  / | ROADM2 |  |   R2   |
|      P2|--|P2    P4|\ \/             \/ /|P4    P2|--|P2      |
+--------+  +--------+ \|    Optical    |/ +--------+  +--------+
                        |    Network    |
|<xx IP Link R1-R3 xx    \_____________/   xx IP Link R3-R2 xxx>|
                     x      |       |     x
|<xX R1-R3 backup xx  x     |       |    x
                    x   x  +---------+  x
                     x   x |P3     P4| x
                      x  x | ROADM3  | x
                      x  x |P1     P2| x
                      x  x +---------+ x
                      x  x  |       |  x
                      x  x +---------+ x
                      x  x |P1     P2| x
                      x  x |   R3    | x
                      V  V |         | V
                      -  - +---------+ -





]]></artwork>
          </artset>
        </figure>
        <t>The next figure shows the process adopted to handle the node protection case.</t>
        <figure anchor="fig-node-prot">
          <name>Node protection operation</name>
          <artset>
            <artwork type="svg" name="node-prot.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="552" viewBox="0 0 552 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,96" fill="none" stroke="black"/>
                <path d="M 24,104 L 24,480" fill="none" stroke="black"/>
                <path d="M 88,48 L 88,96" fill="none" stroke="black"/>
                <path d="M 88,136 L 88,160" fill="none" stroke="black"/>
                <path d="M 88,200 L 88,384" fill="none" stroke="black"/>
                <path d="M 88,456 L 88,480" fill="none" stroke="black"/>
                <path d="M 152,112 L 152,160" fill="none" stroke="black"/>
                <path d="M 152,192 L 152,256" fill="none" stroke="black"/>
                <path d="M 152,328 L 152,384" fill="none" stroke="black"/>
                <path d="M 152,448 L 152,480" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,128" fill="none" stroke="black"/>
                <path d="M 216,168 L 216,192" fill="none" stroke="black"/>
                <path d="M 216,232 L 216,352" fill="none" stroke="black"/>
                <path d="M 216,416 L 216,448" fill="none" stroke="black"/>
                <path d="M 280,112 L 280,192" fill="none" stroke="black"/>
                <path d="M 280,384 L 280,448" fill="none" stroke="black"/>
                <path d="M 344,112 L 344,224" fill="none" stroke="black"/>
                <path d="M 344,256 L 344,280" fill="none" stroke="black"/>
                <path d="M 344,384 L 344,480" fill="none" stroke="black"/>
                <path d="M 408,112 L 408,224" fill="none" stroke="black"/>
                <path d="M 408,256 L 408,280" fill="none" stroke="black"/>
                <path d="M 408,328 L 408,352" fill="none" stroke="black"/>
                <path d="M 408,384 L 408,480" fill="none" stroke="black"/>
                <path d="M 472,112 L 472,352" fill="none" stroke="black"/>
                <path d="M 472,384 L 472,480" fill="none" stroke="black"/>
                <path d="M 536,112 L 536,480" fill="none" stroke="black"/>
                <path d="M 8,48 L 88,48" fill="none" stroke="black"/>
                <path d="M 8,96 L 88,96" fill="none" stroke="black"/>
                <path d="M 32,128 L 144,128" fill="none" stroke="black"/>
                <path d="M 160,160 L 272,160" fill="none" stroke="black"/>
                <path d="M 32,192 L 144,192" fill="none" stroke="black"/>
                <path d="M 160,224 L 272,224" fill="none" stroke="black"/>
                <path d="M 224,256 L 272,256" fill="none" stroke="black"/>
                <path d="M 96,288 L 208,288" fill="none" stroke="black"/>
                <path d="M 224,288 L 464,288" fill="none" stroke="black"/>
                <path d="M 96,320 L 208,320" fill="none" stroke="black"/>
                <path d="M 224,320 L 464,320" fill="none" stroke="black"/>
                <path d="M 224,352 L 272,352" fill="none" stroke="black"/>
                <path d="M 160,384 L 272,384" fill="none" stroke="black"/>
                <path d="M 32,416 L 144,416" fill="none" stroke="black"/>
                <path d="M 32,448 L 144,448" fill="none" stroke="black"/>
                <path d="M 160,480 L 272,480" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="472,288 460,282.4 460,293.6" fill="black" transform="rotate(0,464,288)"/>
                <polygon class="arrowhead" points="280,480 268,474.4 268,485.6" fill="black" transform="rotate(0,272,480)"/>
                <polygon class="arrowhead" points="280,352 268,346.4 268,357.6" fill="black" transform="rotate(0,272,352)"/>
                <polygon class="arrowhead" points="280,224 268,218.4 268,229.6" fill="black" transform="rotate(0,272,224)"/>
                <polygon class="arrowhead" points="280,160 268,154.4 268,165.6" fill="black" transform="rotate(0,272,160)"/>
                <polygon class="arrowhead" points="232,320 220,314.4 220,325.6" fill="black" transform="rotate(180,224,320)"/>
                <polygon class="arrowhead" points="232,256 220,250.4 220,261.6" fill="black" transform="rotate(180,224,256)"/>
                <polygon class="arrowhead" points="216,320 204,314.4 204,325.6" fill="black" transform="rotate(0,208,320)"/>
                <polygon class="arrowhead" points="168,384 156,378.4 156,389.6" fill="black" transform="rotate(180,160,384)"/>
                <polygon class="arrowhead" points="152,448 140,442.4 140,453.6" fill="black" transform="rotate(0,144,448)"/>
                <polygon class="arrowhead" points="152,192 140,186.4 140,197.6" fill="black" transform="rotate(0,144,192)"/>
                <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(0,144,128)"/>
                <polygon class="arrowhead" points="104,288 92,282.4 92,293.6" fill="black" transform="rotate(180,96,288)"/>
                <polygon class="arrowhead" points="40,416 28,410.4 28,421.6" fill="black" transform="rotate(180,32,416)"/>
                <g class="text">
                  <text x="28" y="36">R1</text>
                  <text x="92" y="36">ROADM1</text>
                  <text x="160" y="36">P-PNC</text>
                  <text x="224" y="36">O-PNC</text>
                  <text x="284" y="36">MDSC</text>
                  <text x="348" y="36">ROADM2</text>
                  <text x="412" y="36">R2</text>
                  <text x="476" y="36">ROADM3</text>
                  <text x="540" y="36">R3</text>
                  <text x="28" y="68">1.R2</text>
                  <text x="68" y="68">down</text>
                  <text x="32" y="84">and</text>
                  <text x="64" y="84">FRR</text>
                  <text x="44" y="116">2.R2</text>
                  <text x="84" y="116">down</text>
                  <text x="112" y="116">+</text>
                  <text x="136" y="116">FRR</text>
                  <text x="172" y="148">3.R2</text>
                  <text x="212" y="148">down</text>
                  <text x="240" y="148">+</text>
                  <text x="264" y="148">FRR</text>
                  <text x="44" y="180">4.IP</text>
                  <text x="96" y="180">service</text>
                  <text x="164" y="180">switched</text>
                  <text x="172" y="212">5.IP</text>
                  <text x="224" y="212">service</text>
                  <text x="292" y="212">switched</text>
                  <text x="280" y="228">|</text>
                  <text x="248" y="244">6.Setup</text>
                  <text x="312" y="244">optical</text>
                  <text x="372" y="244">backup</text>
                  <text x="420" y="244">path</text>
                  <text x="280" y="260">|</text>
                  <text x="120" y="276">7.Setup</text>
                  <text x="172" y="276">path</text>
                  <text x="248" y="276">7.Setup</text>
                  <text x="300" y="276">path</text>
                  <text x="144" y="308">8.Acknowledge</text>
                  <text x="280" y="308">|</text>
                  <text x="344" y="308">|</text>
                  <text x="408" y="308">|</text>
                  <text x="252" y="340">9.Backup</text>
                  <text x="308" y="340">path</text>
                  <text x="368" y="340">available</text>
                  <text x="280" y="356">|</text>
                  <text x="344" y="356">|</text>
                  <text x="192" y="372">10.Deploy</text>
                  <text x="248" y="372">new</text>
                  <text x="276" y="372">IP</text>
                  <text x="308" y="372">path</text>
                  <text x="344" y="372">and</text>
                  <text x="388" y="372">switch</text>
                  <text x="448" y="372">traffic</text>
                  <text x="64" y="404">11.Deploy</text>
                  <text x="120" y="404">new</text>
                  <text x="156" y="404">path</text>
                  <text x="196" y="404">then</text>
                  <text x="244" y="404">switch</text>
                  <text x="152" y="420">|</text>
                  <text x="48" y="436">12.IP</text>
                  <text x="104" y="436">service</text>
                  <text x="172" y="436">switched</text>
                  <text x="176" y="468">13.IP</text>
                  <text x="232" y="468">service</text>
                  <text x="300" y="468">switched</text>
                  <text x="280" y="484">|</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="node-prot.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
+---------+
|1.R2 down|
| and FRR |
+---------+
  |2.R2 down + FRR|       |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |3.R2 down + FRR|       |       |       |       |
  |       |       |-------------->|       |       |       |       |
  |4.IP service switched  |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |5.IP service switched  |       |       |       |
  |       |       |-------------->|       |       |       |       |
  |       |       |       |6.Setup optical backup path    |       |
  |       |       |       |<------|       |       |       |       |
  |       |7.Setup path   |7.Setup path   |       |       |       |
  |       |<--------------|------------------------------>|       |
  |       |8.Acknowledge  |       |       |       |       |       |
  |       |-------------->|<------------------------------|       |
  |       |       |       |9.Backup path available|       |       |
  |       |       |       |------>|       |       |       |       |
  |       |       |10.Deploy new IP path and switch traffic       |
  |       |       |<--------------|       |       |       |       |
  |11.Deploy new path then switch |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |12.IP service switched |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |13.IP service switched |       |       |       |
  |       |       |-------------->|       |       |       |       |
]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t>step 1. R1 detects R2's failure and triggers IP FRR finding R3 as the next hop</t>
          </li>
          <li>
            <t>step 2. R1 notifies P-PNC that R2 is down and FRR has started</t>
          </li>
          <li>
            <t>step 3. P-PNC notifies MDSC of the events</t>
          </li>
          <li>
            <t>step 4. Upon moving the R1-R2 traffic (or part of it) on R1-R3 path, R1 notifies P-PNC of the service switch</t>
          </li>
          <li>
            <t>step 5. P-PNC notifies MDSC of the switch</t>
          </li>
          <li>
            <t>step 6. MDSC requires O-PNC to compute a new optical path between ROADM1 and ROADM3</t>
          </li>
          <li>
            <t>step 7. O-PNC instructs both ROADM1 and ROADM3 to configure a new optical service</t>
          </li>
          <li>
            <t>step 8. Both ROADM1 and ROADM3 inform O-PNC that the backup path is available</t>
          </li>
          <li>
            <t>step 9. O-PNC informs MDSC that the backup path is available</t>
          </li>
          <li>
            <t>step 10. MDSC computes a new IP path between R1 and R3, provides the relevant information to P-PNC and triggers switch</t>
          </li>
          <li>
            <t>step 11. P-PNC transfers the information received to R1 and triggers R1 to switch traffic</t>
          </li>
          <li>
            <t>step 12. R1 informs P-PNC of the service switch</t>
          </li>
          <li>
            <t>step 13. P-PNC informs MDSC of the service switch.</t>
          </li>
        </ul>
      </section>
      <section anchor="ref-hitless-reversion">
        <name>Multi-layer hitless reversion</name>
        <t>In some cases, the mechanisms employed by the optical layer to revert to the original setup may cause disruption
at the IP layer, if proper coordination is not enabled. As this may cause traffic loss, if the optical reversion
is requested by the network operator, multi-layer coordination under the supervision of the MDSC is necessary.
The effect of multi-layer coordination is to bring the whole network, i.e. both the IP and the optical layers,
back to their initial configuration after the recovery from a failure. In particular, the process described in this section
relies on the hitless switching capability of the IP layer.
Depending on the specific configuration, the procedure can be enabled at the end of the use cases described in <xref target="resiliency"/>.
The decision whether to apply it or not has to be evaluated by the network operator considering different factors,
including the relative complexity of the process and the effects of its steps on the live traffic.</t>
        <t>To move back to the initial network configuration the MDSC has to follow a sequence of steps:</t>
        <ul spacing="normal">
          <li>
            <t>Force the IP layer to switch the traffic flow(s) on another path, e.g. an alternative/backup path</t>
          </li>
          <li>
            <t>Trigger the optical layer to coordinate the reversion to the initial setup, e.g. disable an optical backup path
and enable connectivity on the previously used primary path</t>
          </li>
          <li>
            <t>Force again the IP layer to switch back to the original path.
The actions on the IP layer are handled so that the IP traffic is switched only after the interface queues are emptied,
guaranteeing a hitless switching.</t>
          </li>
        </ul>
        <t>The mimics of the steps requested is shown in the next figure.</t>
        <figure anchor="fig-hitless-reversion">
          <name>hitless multi-layer reversion</name>
          <artset>
            <artwork type="svg" name="hitless-multi-layer-reversion.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="536" viewBox="0 0 536 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,480" fill="none" stroke="black"/>
                <path d="M 72,48 L 72,128" fill="none" stroke="black"/>
                <path d="M 72,200 L 72,384" fill="none" stroke="black"/>
                <path d="M 72,456 L 72,480" fill="none" stroke="black"/>
                <path d="M 136,72 L 136,128" fill="none" stroke="black"/>
                <path d="M 136,192 L 136,256" fill="none" stroke="black"/>
                <path d="M 136,328 L 136,384" fill="none" stroke="black"/>
                <path d="M 136,448 L 136,480" fill="none" stroke="black"/>
                <path d="M 200,64 L 200,96" fill="none" stroke="black"/>
                <path d="M 200,136 L 200,160" fill="none" stroke="black"/>
                <path d="M 200,232 L 200,256" fill="none" stroke="black"/>
                <path d="M 200,288 L 200,352" fill="none" stroke="black"/>
                <path d="M 200,416 L 200,448" fill="none" stroke="black"/>
                <path d="M 264,128 L 264,192" fill="none" stroke="black"/>
                <path d="M 264,256 L 264,280" fill="none" stroke="black"/>
                <path d="M 264,384 L 264,448" fill="none" stroke="black"/>
                <path d="M 328,96 L 328,192" fill="none" stroke="black"/>
                <path d="M 328,256 L 328,352" fill="none" stroke="black"/>
                <path d="M 328,384 L 328,480" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,64" fill="none" stroke="black"/>
                <path d="M 392,96 L 392,480" fill="none" stroke="black"/>
                <path d="M 456,48 L 456,64" fill="none" stroke="black"/>
                <path d="M 456,96 L 456,480" fill="none" stroke="black"/>
                <path d="M 520,48 L 520,480" fill="none" stroke="black"/>
                <path d="M 80,64 L 192,64" fill="none" stroke="black"/>
                <path d="M 208,96 L 256,96" fill="none" stroke="black"/>
                <path d="M 144,128 L 256,128" fill="none" stroke="black"/>
                <path d="M 16,160 L 128,160" fill="none" stroke="black"/>
                <path d="M 16,192 L 128,192" fill="none" stroke="black"/>
                <path d="M 144,224 L 256,224" fill="none" stroke="black"/>
                <path d="M 208,256 L 256,256" fill="none" stroke="black"/>
                <path d="M 80,288 L 192,288" fill="none" stroke="black"/>
                <path d="M 208,288 L 320,288" fill="none" stroke="black"/>
                <path d="M 80,320 L 192,320" fill="none" stroke="black"/>
                <path d="M 208,320 L 320,320" fill="none" stroke="black"/>
                <path d="M 208,352 L 256,352" fill="none" stroke="black"/>
                <path d="M 144,384 L 256,384" fill="none" stroke="black"/>
                <path d="M 16,416 L 128,416" fill="none" stroke="black"/>
                <path d="M 16,448 L 128,448" fill="none" stroke="black"/>
                <path d="M 144,480 L 256,480" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="328,288 316,282.4 316,293.6" fill="black" transform="rotate(0,320,288)"/>
                <polygon class="arrowhead" points="264,480 252,474.4 252,485.6" fill="black" transform="rotate(0,256,480)"/>
                <polygon class="arrowhead" points="264,352 252,346.4 252,357.6" fill="black" transform="rotate(0,256,352)"/>
                <polygon class="arrowhead" points="264,224 252,218.4 252,229.6" fill="black" transform="rotate(0,256,224)"/>
                <polygon class="arrowhead" points="264,96 252,90.4 252,101.6" fill="black" transform="rotate(0,256,96)"/>
                <polygon class="arrowhead" points="216,320 204,314.4 204,325.6" fill="black" transform="rotate(180,208,320)"/>
                <polygon class="arrowhead" points="216,256 204,250.4 204,261.6" fill="black" transform="rotate(180,208,256)"/>
                <polygon class="arrowhead" points="200,320 188,314.4 188,325.6" fill="black" transform="rotate(0,192,320)"/>
                <polygon class="arrowhead" points="200,64 188,58.4 188,69.6" fill="black" transform="rotate(0,192,64)"/>
                <polygon class="arrowhead" points="152,384 140,378.4 140,389.6" fill="black" transform="rotate(180,144,384)"/>
                <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(180,144,128)"/>
                <polygon class="arrowhead" points="136,448 124,442.4 124,453.6" fill="black" transform="rotate(0,128,448)"/>
                <polygon class="arrowhead" points="136,192 124,186.4 124,197.6" fill="black" transform="rotate(0,128,192)"/>
                <polygon class="arrowhead" points="88,288 76,282.4 76,293.6" fill="black" transform="rotate(180,80,288)"/>
                <polygon class="arrowhead" points="24,416 12,410.4 12,421.6" fill="black" transform="rotate(180,16,416)"/>
                <polygon class="arrowhead" points="24,160 12,154.4 12,165.6" fill="black" transform="rotate(180,16,160)"/>
                <g class="text">
                  <text x="12" y="36">R1</text>
                  <text x="76" y="36">ROADM1</text>
                  <text x="144" y="36">P-PNC</text>
                  <text x="208" y="36">O-PNC</text>
                  <text x="268" y="36">MDSC</text>
                  <text x="332" y="36">ROADM2</text>
                  <text x="396" y="36">R2</text>
                  <text x="460" y="36">ROADM3</text>
                  <text x="524" y="36">R3</text>
                  <text x="104" y="52">1.Fiber</text>
                  <text x="156" y="52">back</text>
                  <text x="204" y="52">online</text>
                  <text x="284" y="52">notification</text>
                  <text x="264" y="68">|</text>
                  <text x="328" y="68">|</text>
                  <text x="232" y="84">2.Fiber</text>
                  <text x="284" y="84">back</text>
                  <text x="332" y="84">online</text>
                  <text x="412" y="84">notification</text>
                  <text x="264" y="100">|</text>
                  <text x="172" y="116">3.Switch</text>
                  <text x="220" y="116">to</text>
                  <text x="260" y="116">backup</text>
                  <text x="308" y="116">path</text>
                  <text x="44" y="148">4.Switch</text>
                  <text x="92" y="148">to</text>
                  <text x="132" y="148">backup</text>
                  <text x="180" y="148">path</text>
                  <text x="136" y="164">|</text>
                  <text x="48" y="180">5.Service</text>
                  <text x="116" y="180">switch</text>
                  <text x="196" y="180">notification</text>
                  <text x="200" y="196">|</text>
                  <text x="176" y="212">6.Service</text>
                  <text x="244" y="212">switch</text>
                  <text x="324" y="212">notification</text>
                  <text x="264" y="228">|</text>
                  <text x="328" y="228">|</text>
                  <text x="236" y="244">7.Revert</text>
                  <text x="284" y="244">to</text>
                  <text x="328" y="244">primary</text>
                  <text x="108" y="276">8.Revert</text>
                  <text x="156" y="276">to</text>
                  <text x="200" y="276">primary</text>
                  <text x="128" y="308">9.Acknowledge</text>
                  <text x="264" y="308">|</text>
                  <text x="260" y="340">10.Acknowledge</text>
                  <text x="264" y="356">|</text>
                  <text x="176" y="372">11.Revert</text>
                  <text x="228" y="372">to</text>
                  <text x="272" y="372">initial</text>
                  <text x="324" y="372">path</text>
                  <text x="48" y="404">12.Revert</text>
                  <text x="100" y="404">to</text>
                  <text x="144" y="404">initial</text>
                  <text x="196" y="404">path</text>
                  <text x="136" y="420">|</text>
                  <text x="32" y="436">13.IP</text>
                  <text x="88" y="436">service</text>
                  <text x="156" y="436">reverted</text>
                  <text x="160" y="468">14.IP</text>
                  <text x="216" y="468">service</text>
                  <text x="284" y="468">reverted</text>
                  <text x="264" y="484">|</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" name="hitless-multi-layer-reversion.txt"><![CDATA[
  R1    ROADM1   P-PNC   O-PNC   MDSC   ROADM2    R2    ROADM3    R3
  |       |1.Fiber back online notification       |       |       |
  |       |-------------->|       |       |       |       |       |
  |       |       |       |2.Fiber back online notification       |
  |       |       |       |------>|       |       |       |       |
  |       |       |3.Switch to backup path|       |       |       |
  |       |       |<--------------|       |       |       |       |
  |4.Switch to backup path|       |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |5.Service switch notification  |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |6.Service switch notification  |       |       |
  |       |       |-------------->|       |       |       |       |
  |       |       |       |7.Revert to primary    |       |       |
  |       |       |       |<------|       |       |       |       |
  |       |8.Revert to primary    |       |       |       |       |
  |       |<--------------|-------------->|       |       |       |
  |       |9.Acknowledge  |       |       |       |       |       |
  |       |-------------->|<--------------|       |       |       |
  |       |       |       |10.Acknowledge |       |       |       |
  |       |       |       |------>|       |       |       |       |
  |       |       |11.Revert to initial path      |       |       |
  |       |       |<--------------|       |       |       |       |
  |12.Revert to initial path      |       |       |       |       |
  |<--------------|       |       |       |       |       |       |
  |13.IP service reverted |       |       |       |       |       |
  |-------------->|       |       |       |       |       |       |
  |       |       |14.IP service reverted |       |       |       |
  |       |       |-------------->|       |       |       |       |
]]></artwork>
          </artset>
        </figure>
        <t>The steps illustrated in the previous figure are detailed here:</t>
        <ul spacing="normal">
          <li>
            <t>step 1. ROADM1 detects the optical signal is up again on the previously broken fiber and notifies O-PNC</t>
          </li>
          <li>
            <t>step 2. O-PNC notifies MDSC of the fiber up event</t>
          </li>
          <li>
            <t>step 3. MDSC requires P-PNC to move the affected IP service(s) to an alternative/backup path (this path may vary according to the scenarios explained later). Being a hitless switch, it is necessary to avoid loss of service</t>
          </li>
          <li>
            <t>step 4. P-PNC signals R1 to switch the IP service(s) to the alternative/backup path</t>
          </li>
          <li>
            <t>step 5. R1 switches the service(s) to the alternative/backup path and notifies P-PNC</t>
          </li>
          <li>
            <t>step 6. P-PNC confirms the switch to MDSC</t>
          </li>
          <li>
            <t>step 7. MDSC instructs O-PNC to disable the optical protection path (which may vary according to the scenarios detailed later) and activate again the optical primary path</t>
          </li>
          <li>
            <t>step 8. O-PNC instructs both ROADM1 and ROADM2 to disable the optical protection path and activate the primary one</t>
          </li>
          <li>
            <t>step 9. ROADM1 and ROADM2 acknowledge to O-PNC</t>
          </li>
          <li>
            <t>step 10. O-PNC acknowledges to MDSC</t>
          </li>
          <li>
            <t>step 11. MDSC requires P-PNC to revert the IP service(s) back to the primary path</t>
          </li>
          <li>
            <t>step 12. P-PNC signals R1 to switch the IP service(s) to primary path</t>
          </li>
          <li>
            <t>step 13. R1 switches and acknowledges to P-PNC</t>
          </li>
          <li>
            <t>step 14. P-PNC acknowledges to MDSC.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conclusions">
      <name>Conclusions</name>
      <t>This section will provide a summary of the analysis and of the gaps identified in this draft once the analysis is mature.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document analyses service assurance procedures across multiple ACTN control entities and management interfaces. Compromise or misuse of these interfaces can lead to incorrect correlation of faults, unauthorized remedial actions, or service disruption across packet and optical layers.</t>
      <t>Implementations and deployments SHOULD ensure authentication, authorization, and integrity protection for exchanges across the MPI and related controller interfaces. Access to assurance telemetry, alarms, and topology-correlated state SHOULD be limited to authorized roles, and sensitive operational data SHOULD be protected in transit and when stored.</t>
      <t>Because this document includes multi-domain scenarios, operators should evaluate trust boundaries between domains and apply policy controls to reduce risks from spoofed alarms, stale telemetry, and denial-of-service conditions affecting assurance workflows.</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="ITU-T_G.709" target="https://www.itu.int/rec/T-REC-G.709/">
          <front>
            <title>Interfaces for the optical transport network</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2024" month="March"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.709, Amendment 3" value=""/>
        </reference>
        <reference anchor="ITU-T_G.798" target="https://www.itu.int/rec/T-REC-G.798/">
          <front>
            <title>Characteristics of optical transport network hierarchy equipment functional blocks</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2024" month="April"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.798" value=""/>
        </reference>
        <reference anchor="ITU-T_G.7710" target="https://www.itu.int/rec/T-REC-G.7710/">
          <front>
            <title>Common equipment management function requirements</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2022" month="November"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.7710, Amendment 1" value=""/>
        </reference>
        <reference anchor="ITU-T_G.874" target="https://www.itu.int/rec/T-REC-G.874/">
          <front>
            <title>Management aspects of optical transport network elements</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.874, Amendment 2" value=""/>
        </reference>
        <reference anchor="RFC8453">
          <front>
            <title>Framework for Abstraction and Control of TE Networks (ACTN)</title>
            <author fullname="D. Ceccarelli" initials="D." role="editor" surname="Ceccarelli"/>
            <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>Traffic Engineered (TE) networks have a variety of mechanisms to facilitate the separation of the data plane and control plane. They also have a range of management and provisioning protocols to configure and activate network resources. These mechanisms represent key technologies for enabling flexible and dynamic networking. The term "Traffic Engineered network" refers to a network that uses any connection-oriented technology under the control of a distributed or centralized control plane to support dynamic provisioning of end-to- end connectivity.</t>
              <t>Abstraction of network resources is a technique that can be applied to a single network domain or across multiple domains to create a single virtualized network that is under the control of a network operator or the customer of the operator that actually owns the network resources.</t>
              <t>This document provides a framework for Abstraction and Control of TE Networks (ACTN) to support virtual network services and connectivity services.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8453"/>
          <seriesInfo name="DOI" value="10.17487/RFC8453"/>
        </reference>
        <reference anchor="I-D.ietf-teas-actn-poi-applicability">
          <front>
            <title>Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) to Packet Optical Integration (POI)</title>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Cisco</organization>
            </author>
            <date day="22" month="December" year="2025"/>
            <abstract>
              <t>   This document explores the applicability of the Abstraction and
   Control of TE Networks (ACTN) architecture to Packet Optical
   Integration (POI) within the context of IP/MPLS and optical
   internetworking.  It examines the YANG data models defined by the
   IETF that enable an ACTN-based deployment architecture and highlights
   specific scenarios pertinent to Service Providers.

   Existing IETF protocols and data models are identified for each
   multi-technology scenario (packet over optical), particularly
   emphasising the Multi-Domain Service Coordinator to Provisioning
   Network Controller Interface (MPI) within the ACTN architecture

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-poi-applicability-17"/>
        </reference>
        <reference anchor="RFC8632">
          <front>
            <title>A YANG Data Model for Alarm Management</title>
            <author fullname="S. Vallin" initials="S." surname="Vallin"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document defines a YANG module for alarm management. It includes functions for alarm-list management, alarm shelving, and notifications to inform management systems. There are also operations to manage the operator state of an alarm and administrative alarm procedures. The module carefully maps to relevant alarm standards.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8632"/>
          <seriesInfo name="DOI" value="10.17487/RFC8632"/>
        </reference>
        <reference anchor="I-D.yu-performance-monitoring-yang">
          <front>
            <title>A YANG Data Model for Optical Performance Monitoring</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   This document defines a YANG data model for performance Monitoring in
   optical networks which provides the functionalities of performance
   monitoring task management, TCA (Threshold Crossing Alert)
   configuration and performance data retrieval.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-yu-performance-monitoring-yang-00"/>
        </reference>
        <reference anchor="RFC9418">
          <front>
            <title>A YANG Data Model for Service Assurance</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quilbeuf" initials="J." surname="Quilbeuf"/>
            <author fullname="P. Lucente" initials="P." surname="Lucente"/>
            <author fullname="P. Fasano" initials="P." surname="Fasano"/>
            <author fullname="T. Arumugam" initials="T." surname="Arumugam"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document specifies YANG modules for representing assurance graphs. These graphs represent the assurance of a given service by decomposing it into atomic assurance elements called subservices. The companion document, "Service Assurance for Intent-Based Networking Architecture" (RFC 9417), presents an architecture for implementing the assurance of such services.</t>
              <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9418"/>
          <seriesInfo name="DOI" value="10.17487/RFC9418"/>
        </reference>
        <reference anchor="RFC9375">
          <front>
            <title>A YANG Data Model for Network and VPN Service Performance Monitoring</title>
            <author fullname="B. Wu" initials="B." role="editor" surname="Wu"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <date month="April" year="2023"/>
            <abstract>
              <t>The data model for network topologies defined in RFC 8345 introduces vertical layering relationships between networks that can be augmented to cover network and service topologies. This document defines a YANG module for performance monitoring (PM) of both underlay networks and overlay VPN services that can be used to monitor and manage network performance on the topology of both layers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9375"/>
          <seriesInfo name="DOI" value="10.17487/RFC9375"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </reference>
        <reference anchor="I-D.feng-opsawg-incident-management">
          <front>
            <title>Incident Management for Network Services</title>
            <author fullname="Chong Feng" initials="C." surname="Feng">
         </author>
            <author fullname="Tong Hu" initials="T." surname="Hu">
              <organization>China Mobile (Hangzhou) Information
      Technology Co., Ltd</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica I+D</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <date day="30" month="January" year="2024"/>
            <abstract>
              <t>   A network incident refers to an unexpected interruption of a network
   service, degradation of a network service quality, or sub-health of a
   network service.  Different data sources including alarms, metrics
   and other anomaly information can be aggregated into few amount of
   network incidents by data correlation analysis and the service impact
   analysis.

   This document defines YANG Modules for the network incident lifecycle
   management.  The YANG modules are meant to provide a standard way to
   report, diagnose, and resolve network incidents for the sake of
   network service health and root cause analysis.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-feng-opsawg-incident-management-04"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-ccamp-actn-optical-transport-mgmt">
          <front>
            <title>Integrating YANG Configuration and Management into an Abstraction and Control of TE Networks (ACTN) System for Optical Networks</title>
            <author fullname="Yanxia Tan" initials="" surname="Tan">
              <organization>China Unicom</organization>
            </author>
            <author fullname="XingZhao" initials="" surname="XingZhao">
              <organization>CAICT</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <date day="30" month="November" year="2025"/>
            <abstract>
              <t>   Many network technologies are operated as Traffic Engineering (TE)
   networks.  Optical networks are a particular case, and have complex
   technology-specific details.

   Abstraction and Control of TE Networks (ACTN) is a management
   architecture that abstracts TE network resources to provide a limited
   network view for customers to request and self-manage connectivity
   services.  It also provides functional components to orchestrate and
   operate the network.

   Management of legacy optical networks is often provided via Fault,
   Configuration, Accounting, Performance, and Security (known as FCAPS)
   using mechanisms such as the Multi-Technology Operations System
   Interface (MTOSI) and the Common Object Request Broker Architecture
   (CORBA).  FCAPS can form a critical part of configuration management
   and service assurance for network operations.  However, the ACTN
   architecture as described in RFC 8453 does not include consideration
   of FCAPS.

   This document enhances the ACTN architecture as applied to optical
   networks by introducing support for FCAPS.  It considers which
   elements of existing IETF YANG work can be used to solve existing
   scenarios and emerging technologies, and what new work may be needed.
   In doing so, this document adds rich-detail network management (RDNM)
   to the ACTN architecture.  This enhanced architecture may then be
   used to evolve networks from CORBA and MTOSI FCAPS interfaces to
   IETF-based YANG and RESTful APIs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-actn-optical-transport-mgmt-04"/>
        </reference>
        <reference anchor="I-D.mix-teas-actn-poi-extension">
          <front>
            <title>Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) to Packet Optical Integration (POI) extensions to support Router Optical interfaces.</title>
            <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>Cisco</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Ori Gerstel" initials="O." surname="Gerstel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Brent Foster" initials="B." surname="Foster">
              <organization>Cisco</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Ericsson</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   This document extends the draft-ietf-teas-actn-poi-applicability to
   the use case where the DWDM optical coherent interface is equipped on
   the Packet device.  It identifies the YANG data models being defined
   by the IETF to support this deployment architecture and specific
   scenarios relevant for Service Providers.  Existing IETF protocols
   and data models are identified for each multi-layer (packet over
   optical) scenario with a specific focus on the MPI (Multi-Domain
   Service Coordinator to Provisioning Network Controllers Interface)in
   the ACTN architecture.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mix-teas-actn-poi-extension-00"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC7799">
          <front>
            <title>Active and Passive Metrics and Methods (with Hybrid Types In-Between)</title>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This memo provides clear definitions for Active and Passive performance assessment. The construction of Metrics and Methods can be described as either "Active" or "Passive". Some methods may use a subset of both Active and Passive attributes, and we refer to these as "Hybrid Methods". This memo also describes multiple dimensions to help evaluate new methods as they emerge.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7799"/>
          <seriesInfo name="DOI" value="10.17487/RFC7799"/>
        </reference>
        <reference anchor="RFC8799">
          <front>
            <title>Limited Domains and Internet Protocols</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." surname="Liu"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>There is a noticeable trend towards network behaviors and semantics that are specific to a particular set of requirements applied within a limited region of the Internet. Policies, default parameters, the options supported, the style of network management, and security requirements may vary between such limited regions. This document reviews examples of such limited domains (also known as controlled environments), notes emerging solutions, and includes a related taxonomy. It then briefly discusses the standardization of protocols for limited domains. Finally, it shows the need for a precise definition of "limited domain membership" and for mechanisms to allow nodes to join a domain securely and to find other members, including boundary nodes.</t>
              <t>This document is the product of the research of the authors. It has been produced through discussions and consultation within the IETF but is not the product of IETF consensus.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8799"/>
          <seriesInfo name="DOI" value="10.17487/RFC8799"/>
        </reference>
      </references>
    </references>
    <?line 1176?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="D." surname="King" fullname="Daniel King">
        <organization>Old Dog Consulting</organization>
        <address>
          <email>daniel@olddog.co.uk</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
YsAc2VohAQA=

-->

</rfc>
