<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-teas-actn-poi-assurance-05" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.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-05"/>
    <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="July" day="30"/>
    <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 supports service
assurance through the detection and correlation of failures across
the optical and packet layers, with failure handling performed
through the relevant PNC. The MDSC can also request health checks
for IP services across multi-domain paths for SLA conformance
assessment. The PNCs may also be configured with thresholds so that
alerts are reported when relevant service or network conditions
exceed defined limits. 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 115?>

<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 IP and 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 and <xref target="I-D.ietf-teas-actn-poi-applicability"/>, which assume both the P-PNC and the O-PNC provide the MDSC with enough information for performing Root Cause Analysis (RCA), correlating for example an event or an alarm related to either a packet or an optical network failure with the impacted services at the IP layer.</t>
      <t>In particular for the optical network, 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>
        <t>This document uses the ACTN terminology defined in <xref target="RFC8453"/> <xref target="RFC8453"/> and in <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
        <t>In addition, this document uses the following terminology.</t>
        <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>The use of grey interfaces on routers' ports, as outlined in <xref target="I-D.ietf-teas-actn-poi-applicability"/>, is the only case considered in this document. The use of colored optical interfaces on routers' ports is instead out of the scope and may be analyzed in a separate document.</t>
      <t>The MDSC is responsible for coordinating the whole multi-domain, multi-layer (packet and optical) network. MDSC interacts with the 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. As a consequence, the MDSC has an abstracted view of the TE topology of both the IP and optical
network domains. When the MDSC is instructed for example by an Orchestrator or Operations Support System (OSS)
to set up a VPN service, it performs path compution across the multi-layer/multi-domain network based on its
abstracted topology and then delegates both the P- and O-PNCs to perform local path computation within their
respective domains.</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>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>The MDSC has acquired the topology of the multi-layer topology as described in section 2 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
        </li>
        <li>
          <t>MDSC is aware of the multi-domain interconnection links between different IP domains (Inter-domain Ethernet links). The
MDSC is also aware of the multi-layer connections between the IP and the optical layers as exposed by the P-PNC and the O-PNC (for example, between a PE router and a corresponding optical node).</t>
        </li>
        <li>
          <t>MDSC is aware of any topology or service change in near 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 may coordinate, if configured to do so, with the O/P-PNC to perform fault management actions when a network failure in the IP or optical network is detected, as referenced in section 7 on Multi-layer Resiliency.</t>
        </li>
        <li>
          <t>Before a planned maintenance window in the optical layer, MDSC can request the underlying P-PNC to move a given set of LSPs or SR-TE paths to avoid a particular link that will become under maintenance status. This is performed before the start of the maintenance window. Based on operator decision, MDSC could request to P-PNC to revert the set of LSPs or SR-TE paths through the initial link once maintenance activities have finalised.</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 TE path
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. In
both cases, the P-PNC passes the related notifications to the MDSC.</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="11" month="June" year="2026"/>
            <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-19"/>
        </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="18" month="April" year="2026"/>
            <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 detailed YANG Configuration and
   Management, effectively adding 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-05"/>
        </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 1193?>

<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:
H4sIAAAAAAAAA+19e3PbSJLn//gUOE/ctRRNUqZkt23dbO/Ist2jXdtiSOrp
u1hvdEAkKGFNAlwA1GNafZ/98lmVBYAUpbGnO2JGMT2ySKCeWVmZv3z1+/1o
XEyy/GI/XtbT/ssoqrN6lu7H30dxfLBYzLJxcp7Nsvo2LqbxwXlVl8m4zoo8
TvJJfFjkdVnM8KuzMplOs3H8Nr/I8jQt00n8Ma2vi/JzBS1tHRyefdyOp0UZ
j5Lx57SOjxc1ND2Lj/I6vSgTanJrdHy0HVdpeZWN0zipqmWZ5OM0Ss7Py/Rq
P36CrcTwUHyg3z2Jxgk0UJS3+3GWT4somhTjPJnDDCYworqfpTCtOk2qPow7
7y+KrO8a7j99HlXL83lWVdB9fbuAt47enr2L8uX8PC33owm0vQ8LlFdpXi2r
/bgul2kEI9mL/hAnZZrAmE6KZQ3r9yTCuV6UxXIBH569PTiNf4IP4Jv4B/zw
SfQ5vYVHJvtR3I/z9KaOL9I85ZnjR8s8Gxcl/bNaJOXnGb46yWDBs/NlDcs5
SycXaRldpfkSBhXHrq/GyuN7B+X4MqvTcb0sU9qp0+wiT2Y0zjjmmT5pjC+O
50k2g89xtf6E6zYoSno+gdbg88u6XlT7Ozv4GH6UXaUDfWwHP9g5L4vrKt3B
BnbwxYusvlyew6u4qn1clP5PP+y0NwKfncFaV7Xpxr4z4JYGWdHx9s79Oz24
rOezJ1FU1bAYPyezIocFuE2raJHtx/9RF+NeXBVlXabTCv51O+d/jIv5PM3r
6j+jKFnWl0WJy96H/+KYSeyohqbi18sqow9hHfbjPy+T6zSLz9LxZV7Mioss
rejLlFc3w1cG5/DKny7pyQH04prNciCyf+u/G8Svi+V/LzPYb9/bv6VJ3n+H
8ymyKnyAev5LMUmmMDPb3X+l0+ngXB7905U8EfTJjb+DY17Eo7Rc/vWvWW7m
8y6Do3BYLGyrU3x4sNCH/zTFZ8bFoqPdUQKLAEObLZK62HiVFvjW4Irf6loo
abxM4GT+V1bHH5I8T3zzh1k1LoIGyzk+8acxfkEt4bHms9Xe1zdJnqWz+N/h
dPg2j2eT+E1xgUyvWs5q/U46mNArfypmk0lxAR0Mlp+jKC+g2xrOCXZwdPZj
/+znHwYvnr7apzeF0yIHLKfJOK2IP9aXaVwIcwRmm1cLIExgGMRL6T1Pi25s
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
eaQb4yaB3ezLfoQFV1JXNalrUHDQclNwRlxW8BKCBYjR343iCrhUt7BUSjFH
sFywfDhgDNGIKVAH690AgfZaq+cyH/ilQ6kcpAdRZvL49M1HrXg6wwrFKG4o
oiVpZ/rK0/Ww0gQ5UzOe/Mif/MBXTwC9oERtUGCpk6y78uI5mcJFl42TBast
0yZ9d+Uoh6c4Eb+L9gps6lhumFFqzyadlVIo3Wctj3mnEX0Dgansd2y1u9E0
H4UZrrucZby2fRyICxVj47O6gpFgnNBpsgp4++aly5nShyXzubETDwy+yvvB
9GLDH4Q67ZDMRYuEOqHLr+MsrEwdyNFNjQSzeAfGp5js0LiXRUyUvtxSJTAL
z6+JP+9qDIoZS3TPWCjtprv3hSOoXuKyhkVhCjNfSsmic6toLQzQRJBazPWR
JAdwqZMIIiHNaKg2bJN6v013LPeq56/31uRK0bh1uQiKArE4cowPGgoVWxYb
sB4dLjcmoGAf6u0tOM7bBEnbPbw3iDsdBqws05CmaafgyvsvyaJr56vakSiD
gQsiE4NGlQZp0ajmvTl1obcECTw9I6aMLwsiO6SxBZYsgBMKS8UCHpwPpHqn
2OM2lsu5wTvQT4JmGYnJBDEZzE5xawH6Ji7PS8D1IKgzbIBTPkiXpgtkxlxm
guwEgRas6m20uuBQI6taT3m3umViTDOQliEBonrxVDbZFETqYqnkbVAZYJVs
YjVqy0OMOiGVzSm3p7PAJRrjSzk+iL9zFtBe7FMdeNqXKwrllYStT6QAqGTr
VoZdo1+8ePUKWc9P5I9LOEudzYJo8aIK3nOKAJISV6qAs99M3B8am9Sd2FUs
NRoCV5UXeN+uyxR4AmXsWFAxLNL+0fmYlOsamBkL8rSzswzud/hnml9lZZFz
UPpWu4LZtkz7JU87iiiq1woLQXAp8T+84jXvKqUuxb61Qy5TwcH5blLqncyo
IhkBuS0qwOLqSdxIoR6tYjArKommrTCnAxfrQ9VOsDwX6p1M5lmecfglnvzy
AvaGtwzk5J/wugziqldpXSpYEAoX2BUJl/Sb1IvRCA/HeGQrt0s0HNw65TL3
VUsX3XTuHK/ry66ofAK/HErbDMFv1BdRpRR1WKv0tOqfqK6XtMUCLVHhQLEm
AuZr+USSItkkIe6oWdnGx7uLjrXRuEhyKYQ6Keb31VJPlAXZh7IvmD4zvREK
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
TQWY4Ull7IEMt2Oz+rRC1GPMa1bxzU5hA4Oo4QvQolafS7BVqcunXXOWj66q
YqsSGHAOjqmYRlrbbZbD1E2Rye76fL9YRYzdMiZBv5hkOfWpS4s8/Dpw5pdi
4zZrNsxCroCmcCVJb+F4oM2MdgJlvCq8EGSUvv6bjLYxRj4vrbihIFY7sA0g
49rELnD3x5vuH6QjMkTzCFc89b2N9TSoeztyFn+6H1VYn4wPYnsY7d190rdM
SecdMRXYR2M2GjhTw51S0F38ietDY5nnT1wZeke/3uVHBVJ0pgUyZIgdY/QM
xvAprBENf8IYnjUfjeOV6/CJWtb4KHxyZ9U6dK6ZKlAaWcWj/WNjg/Zgg+LY
18D+2dXFtg/uyU5+f9fd143pz/2+wd7+j/QiygZ2dtN+9qaz2Rv+z1tkvl31
pDyq9iDYgFUPxjSAOwcF3/egkArs2foH7SDXPmgn/mVa3HiMRLV73PeqB/+C
/7tzf97Ff1nxYB//Z8fYbxvLunmJ6uxcgNdanuk+I10J+a2zU3Rw16Ze392T
VfAfE+dCQpyBFVDy+wqWCLOK0d1wAE+gjR1ZC15gIRIv6PKuPhV/iw/8btDl
vQeO60uhy/+0TWyGyH43OMXQsy5vv43beAza/kL6lY5af2/Sxvqoh+bP951t
bBp/sm4czX6aOTUbPxut6avBa+tLqXLjg/b2b6GP4dPBG1J3SYSU8naB960I
mmvaeBTaPrT9SkZXkKql143a+CJo++7vFG3vDvn7uvyj8wp3SHvjTlwJtbs3
9RbuhNBPdr+pAvzc6Ugwb7z6UDekJPl7msqBbvLLYmGx9TZmxzrULimteB/p
VYoauWTesHD7GtSbgIXK4us/LhAhK64U4Qh1sS0qyMcIQVZvM0yHMjC7uK9O
Ehjs8qOzRq5AqSWH2IMUaAvJN/3qz7tSi+xxTw5xDvpqZkx8uSK95J6Wizn2
G9n0NrfKtYXodZRsO/CA/0bvI5AucBmtlerpyg6bNRT2er64KXawqsCpqcui
xN0RgCBki3j7VLV925D4bQpEETYXuP43LRfD3TUWoW6aG7oTESxl50uatr8L
ZCao98M6r3jO94gwlSDcgflIK362cxw47GhFiD9F2BOKzcjUJKvKJcF0UaNA
l5YTXHTkzqMaFex7SsAfgT2+UZv0oKdh9x690ilmVTtXQxM6763O4UdQrfjM
LnDpK1NcQivBuUAqhndTykTRrEfZnF5HKISMC2YzSAf310SqepEJl8jKFdYE
r9m54uaEtiau8BrGUiDTzMbLWSIxHJ0JH22poAhOXJa6HJ1KXEyX5NitsQy3
JpUvl7dY48EfjN0MBUuxa8UZzaOQtLJqblRfaCAZx9oJS7HgzC05LZZEft7x
L8XcU8kaGnJGCZyUrwI4TcbwJeyULy8n3IqrYxiP5zAxqNtypqaKL7RK7OOy
ajNswrvkn0mOoHV5gULacFQsM+UQH1L7GyZ5CkV8V5TjNNhKy/osnA+tbFV0
/WqyHr6AtTCsqRCy07CFn0l92E6OY7P5XNrErd1JPqg7jXxbEdhHkRQcrBeY
X4vQCihhcUEYkl8Tzpq1YmXsfjgmybl8zi59UfOi0QC5+EqiXluNLcy65eRS
clH3h91XMYSdXEoRmRStJemkF10sE7js6jTlGrWt0yveo1K0RO8eoj3PTn+7
nKODd5TQjxYW5p3laSO95f0S+mM1hrU5Rzcc19fSJPd+oxwtz34nOVqeD05D
C/8jctJ+DU3yuweO62sjUS9MtgPlZw9t4zFI1MsN+13XxpfIv/Hq6yNRj9qX
x+QBaf7+W+gDVKHfJv3GA9N+dLXxRZCovd9p+o0HpgX54khUS7tUREoFh7B6
tDzURKW0FfOwb7EjJcZstqTCvEHhA7bAK8hRmtTBGFvdrnru4S4rUErIj/gg
kvDWlvfOywIzkXLy4MC/tFXMfE06Vn4duiEsy+JeK9zunLeETWkom49CNWXA
XCVBY1JDdFbBf6KyfIU8NhmPSWy+UCnURXVjCfkZV57Guurl9iB+3SkTapbJ
+5OGtNNzdCZJEEk2nBfNerVqoJhckA7BgyL3N7LOS9i5DZKKVM67aoBYUG6T
RBsdmW95k64vs/FmG+TIm/fHVyAnjxyndnRlSWgnD7kHQtzddPzBIPjUSEaR
PIAEH5rY4+lmLqurs+F0JvZAuliV2yNA6h5Krt0NNdLZbJCc49m65ByM8QFR
joEdoqJI1bUP/d9SFrdyedhnM8VGUZNfznlnxGUOpnZbZZJugT+7oFBNdC7l
TOeK9FAcIWypJvvQVwmHq1nL+0N8mo6XJSrMh4KAsJeljMqELeLbaeWuMXTe
KynDiAN4qlZ59oPDs4+u8AwO0BXqnkODF1zd3qm61SDG3INlMc8qKp8Nv5eV
hlJWRimuCEuaiX9jlktJc044PnP+D5SFt8KcrMmyviw4ewHWYJ+ghCKKew97
culPHdapc+GSyEEqE4bvsN4Ooj84B/FMpfL1ZJOjMu/x6Z+Pf3z/BiZO1exx
DLgGYwHHdEz6JyathQle0G408iG4ct46LIJ+RkfigD+jW9YXHA7W9GCsKZL8
ntUpDrwusYj5LCmxcjD7kC6KWXFx29eFROwC8xXoVDBXcjbPxN/DrmpBWSPI
7IkumgSPOQMXVp1O6sS0IvMTckXkXtxYyU0b85pQ7Mhr8Y4Mqvr66gIsiki9
Zcd0ew7WqzRRrwKA0BUIJcA+0VO5zEwNJ25EzjsBibAU2fhWV7Vi/oTZD+Iy
qz5LxHK1KIopgpmyirBas3B5iSZyILh+Me0rnaFXTiZE4/Iz++1BqWsq2Xr+
EB8dfDy453hKRmB6UugaI2/6fU6EDo14zYRoE5gSZytJJ//yZAr8MiXp7fjN
seVig+j/A4r6HUEzJAEA

-->

</rfc>
