<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-teas-actn-poi-assurance-06" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-06"/>
    <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="October" 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 Traffic Engineered Networks (ACTN)
   architecture to Packet Optical Integration (POI) to cover multi-layer
service assurance scenarios.</t>
      <t>Specifically, the ACTN architecture is
analyzed to support service assurance for end-to-end IP services such as
L2VPN or L3VPN connectivity services, with specific Service Level
Agreement (SLA) requirements, through the detection and
correlation of failures across the optical and packet layers, done by
the relevant Provisioning Network
Controller (PNC) in coopearation with the Multi-Domain Service
Coordinator (MDSC).</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 Multi-Domain Service Coordinator to Provisioning Network
   Controllers Interface (MPI) 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 114?>

<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 network, composed by a packet layer and
an optical layer. This document leverages the Abstraction and Control
of TE Networks (ACTN) framework <xref target="RFC8453"/> and further expands the
analysis of its applicability, discussed in
<xref target="I-D.ietf-teas-actn-poi-applicability"/>, to multi-layer packet-optical
integrated networks, adding considerations specific to fault and
performance management scenarios.</t>
      <t>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.
To guarantee the SLAs associated with VPN services, service assurance
is performed through collaboration among the ACTN control entities
<xref target="RFC8453"/> and <xref target="I-D.ietf-teas-actn-poi-applicability"/>:</t>
      <ul spacing="normal">
        <li>
          <t>the Multi-Domain Service Coordinator (MDSC), acting as the
top-level controller, and</t>
        </li>
        <li>
          <t>the Provisioning Network Controllers (PNCs), acting as
the network controller for packet (P-PNC) and optical (O-PNC) network domains.</t>
        </li>
      </ul>
      <t>Differently to <xref target="I-D.ietf-teas-actn-poi-applicability"/>, the main scope of
this document is limited to single-domain packet networks
(i.e., a packet network controlled by a single P-PNC).</t>
      <t>Note: the ACTN framework <xref target="RFC8345"/> in general, and the ACTN POI
framework <xref target="I-D.ietf-teas-actn-poi-applicability"/> in particular,
consider networks which are administered by a single organization
(e.g., a single network provider) and are composed by different layers
(packet and optical) and different control domains (PNC domains).
The different layers and control domains may by managed by different
operational teams within the same organization.</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). The MDSC correlates the events, alarms or
notifications 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 Fault, Configuration, Accounting,
Performance, and Security (FCAPS) 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. 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 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"/> and
the ACTN POI terminology defined 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 single-domain, multi-layer network with two optical domains and one packet domain, as shown in <xref target="fig-ref-architecture"/>.</t>
      <t>As already mentioned, this case differs from the one depicted by Figure 1 of
<xref target="I-D.ietf-teas-actn-poi-applicability"/>, where a multiple packet domains are considered.</t>
      <figure anchor="fig-ref-architecture">
        <name>Reference Network for ACTN POI service assurance</name>
        <artset>
          <artwork type="svg" name="reference-architecture.txt"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="568" viewBox="0 0 568 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,272 L 8,352" fill="none" stroke="black"/>
              <path d="M 16,128 L 16,160" fill="none" stroke="black"/>
              <path d="M 56,96 L 56,128" fill="none" stroke="black"/>
              <path d="M 56,160 L 56,176" fill="none" stroke="black"/>
              <path d="M 96,128 L 96,160" fill="none" stroke="black"/>
              <path d="M 240,32 L 240,64" fill="none" stroke="black"/>
              <path d="M 248,128 L 248,160" fill="none" stroke="black"/>
              <path d="M 288,64 L 288,128" fill="none" stroke="black"/>
              <path d="M 288,160 L 288,264" fill="none" stroke="black"/>
              <path d="M 328,32 L 328,64" fill="none" stroke="black"/>
              <path d="M 328,128 L 328,160" fill="none" stroke="black"/>
              <path d="M 472,128 L 472,160" fill="none" stroke="black"/>
              <path d="M 512,96 L 512,128" fill="none" stroke="black"/>
              <path d="M 512,160 L 512,176" fill="none" stroke="black"/>
              <path d="M 552,128 L 552,160" fill="none" stroke="black"/>
              <path d="M 560,272 L 560,352" fill="none" stroke="black"/>
              <path d="M 240,32 L 328,32" fill="none" stroke="black"/>
              <path d="M 240,64 L 328,64" fill="none" stroke="black"/>
              <path d="M 56,96 L 512,96" fill="none" stroke="black"/>
              <path d="M 16,128 L 96,128" fill="none" stroke="black"/>
              <path d="M 248,128 L 328,128" fill="none" stroke="black"/>
              <path d="M 472,128 L 552,128" fill="none" stroke="black"/>
              <path d="M 16,160 L 96,160" fill="none" stroke="black"/>
              <path d="M 248,160 L 328,160" fill="none" stroke="black"/>
              <path d="M 472,160 L 552,160" fill="none" stroke="black"/>
              <path d="M 64,272 L 504,272" fill="none" stroke="black"/>
              <path d="M 32,304 L 40,304" fill="none" stroke="black"/>
              <path d="M 56,304 L 72,304" fill="none" stroke="black"/>
              <path d="M 208,304 L 360,304" fill="none" stroke="black"/>
              <path d="M 496,304 L 512,304" fill="none" stroke="black"/>
              <path d="M 528,304 L 536,304" fill="none" stroke="black"/>
              <path d="M 88,352 L 192,352" fill="none" stroke="black"/>
              <path d="M 208,352 L 360,352" fill="none" stroke="black"/>
              <path d="M 376,352 L 480,352" fill="none" stroke="black"/>
              <path d="M 88,400 L 192,400" fill="none" stroke="black"/>
              <path d="M 208,400 L 256,400" fill="none" stroke="black"/>
              <path d="M 304,400 L 360,400" fill="none" stroke="black"/>
              <path d="M 376,400 L 480,400" fill="none" stroke="black"/>
              <path d="M 64,480 L 256,480" fill="none" stroke="black"/>
              <path d="M 304,480 L 504,480" fill="none" stroke="black"/>
              <path d="M 44,440 L 64,480" fill="none" stroke="black"/>
              <path d="M 8,352 L 40,416" fill="none" stroke="black"/>
              <path d="M 44,312 L 64,352" fill="none" stroke="black"/>
              <path d="M 256,400 L 276,440" fill="none" stroke="black"/>
              <path d="M 284,440 L 304,480" fill="none" stroke="black"/>
              <path d="M 504,400 L 524,440" fill="none" stroke="black"/>
              <path d="M 504,272 L 524,312" fill="none" stroke="black"/>
              <path d="M 508,168 L 560,272" fill="none" stroke="black"/>
              <path d="M 8,272 L 60,168" fill="none" stroke="black"/>
              <path d="M 44,312 L 64,272" fill="none" stroke="black"/>
              <path d="M 44,440 L 64,400" fill="none" stroke="black"/>
              <path d="M 256,480 L 276,440" fill="none" stroke="black"/>
              <path d="M 284,440 L 304,400" fill="none" stroke="black"/>
              <path d="M 504,352 L 524,312" fill="none" stroke="black"/>
              <path d="M 528,416 L 560,352" fill="none" stroke="black"/>
              <path d="M 504,480 L 524,440" fill="none" stroke="black"/>
              <circle cx="24" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="80" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="80" cy="432" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="200" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="368" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="488" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="488" cy="432" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="544" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="284" y="52">MDSC</text>
                <text x="48" y="148">O-PNC</text>
                <text x="80" y="148">1</text>
                <text x="288" y="148">P-PNC</text>
                <text x="504" y="148">O-PNC</text>
                <text x="536" y="148">2</text>
                <text x="32" y="292">CE1</text>
                <text x="80" y="292">PE1</text>
                <text x="204" y="292">P1</text>
                <text x="364" y="292">P2</text>
                <text x="488" y="292">PE2</text>
                <text x="536" y="292">CE2</text>
                <text x="80" y="324">:</text>
                <text x="200" y="324">:</text>
                <text x="368" y="324">:</text>
                <text x="488" y="324">:</text>
                <text x="80" y="340">:</text>
                <text x="200" y="340">:</text>
                <text x="256" y="340">PKT</text>
                <text x="300" y="340">domain</text>
                <text x="368" y="340">:</text>
                <text x="488" y="340">:</text>
                <text x="76" y="356">-:</text>
                <text x="200" y="356">:</text>
                <text x="368" y="356">:</text>
                <text x="492" y="356">:-</text>
                <text x="80" y="372">:</text>
                <text x="200" y="372">:</text>
                <text x="368" y="372">:</text>
                <text x="488" y="372">:</text>
                <text x="80" y="388">:</text>
                <text x="200" y="388">:</text>
                <text x="368" y="388">:</text>
                <text x="488" y="388">:</text>
                <text x="76" y="404">-:</text>
                <text x="200" y="404">:</text>
                <text x="368" y="404">:</text>
                <text x="492" y="404">:-</text>
                <text x="80" y="420">:</text>
                <text x="200" y="420">:</text>
                <text x="368" y="420">:</text>
                <text x="488" y="420">:</text>
                <text x="144" y="436">..............o</text>
                <text x="424" y="436">o..............</text>
                <text x="120" y="452">optical</text>
                <text x="180" y="452">domain</text>
                <text x="216" y="452">1</text>
                <text x="376" y="452">optical</text>
                <text x="436" y="452">domain</text>
                <text x="472" y="452">2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" name="reference-architecture.txt"><![CDATA[
                              +----------+
                              |   MDSC   |
                              +-----+----+
                                    |
       +----------------------------+---------------------------+
       |                            |                           |
  +----+----+                  +----+----+                 +----+----+
  | O-PNC 1 |                  |  P-PNC  |                 | O-PNC 2 |
  +----+----+                  +----+----+                 +----+----+
       |                            |                           |
      /                             |                            \
     /                              |                             \
    /                               |                              \
   /                                |                               \
  /                                 |                                \
 |      +------------------------------------------------------+      |
 | CE1 / PE1             P1                  P2             PE2 \ CE2 |
 | o--/---o              o--------------------o              o---\--o |
 |    \   :              :                    :              :   /    |
 |     \  :              :     PKT domain     :              :  /     |
 |      +-:--------------:--------------------:--------------:-+      |
  \       :              :                    :              :       /
   \      :              :                    :              :      /
    \   +-:--------------:------+     +-------:--------------:-+   /
     \ /  :              :       \   /        :              :  \ /
      /   o..............o        \ /         o..............o   \
      \     optical domain 1      / \       optical domain 2     /
       \                         /   \                          /
        +-----------------------+     +------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>Note that the network considered in this document may be based on
multiple optical domains, as shown in <xref target="fig-ref-architecture"/>. In such a case,
multiple O-PNCs are present, each controlling its own optical domain.
In all cases, a single packet domain is considered. The reason for
this choice is better explained in <xref target="conclusions"/>. Here it is worth noting
that for consolidated operational motivations (e.g., dependence on
deeply technical or proprietary parameters, low use of unified
transport APIs), optical networks are often partitioned into single-vendor domains.
For the discussion on why multi-domain packet networks are out of the
scope of this document, please refer to section 8.</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-layer path computation, with the difference already
noted that it applies to a single-domain network.</t>
      <t>For the analysis developed by this document, the following assumptions are taken:</t>
      <ul spacing="normal">
        <li>
          <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 out of the scope and may be analyzed in a separate document.</t>
        </li>
        <li>
          <t>The basic configuration of the L2/L3 VPN services is considered, i.e. a VPN service is
setup between Provider's Edge (PE) routers in the packet layer. The VPN is carried over a TE path.
As noted, it is the same case described in section 5 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>
with the only difference being that the target network has only one P-PNC domain. Therefore, all the PEs belong to the same P-PNC domain and all the TE paths are end-to-end single-domain paths.</t>
        </li>
        <li>
          <t>The local protection adopted in the packet layer and discussed insection 5.2.3 of
<xref target="I-D.ietf-teas-actn-poi-applicability"/> is complemented by further additional multi-layer mechanisms,
as elaborated on in <xref target="resiliency"/>.</t>
        </li>
        <li>
          <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 path computation through
the same mechanisms described in <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</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"/> but here
they are applied specifically to a multi-layer network with a single P-PNC domain.</t>
      <ul spacing="normal">
        <li>
          <t>The MDSC is responsible for coordinating the whole multi-layer (packet and optical) network. The MDSC interacts
with the P-PNC and the O-PNC(s) 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) as described in section 2 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>.</t>
        </li>
        <li>
          <t>The P-PNC is responsible for setting up the TE paths between any two
PEs in the controlled packet domain, as requested by the MDSC during
service configuration, and providing topology information to the MDSC.</t>
        </li>
        <li>
          <t>The O-PNC(s) 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>
        </li>
        <li>
          <t>The MDSC is aware of the multi-layer connections between the IP and
the optical layers as exposed by the P-PNC and the O-PNC(s) (for example,
between a PE router and a corresponding optical node).</t>
        </li>
        <li>
          <t>The MDSC is aware of any topology or service change in near real-time
through coordination with the 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>The MDSC may coordinate, if configured to do so, with either the P-PNC
or the O-PNC(s) (or both) to perform fault management actions when a
network failure in the IP or optical network is detected, as referenced
in <xref target="resiliency"/> on multi-layer resiliency.</t>
        </li>
        <li>
          <t>Before a planned maintenance window in the optical layer, the 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 undergo maintenance status. This
is performed before the start of the maintenance window. Based on
operator decision, the MDSC could request to the P-PNC to revert the set
of LSPs or SR-TE paths through the initial link once maintenance activities have been 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>The MDSC distinguishes between IP and Optical failures. For example,
in the case of a 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>
      </ul>
      <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="528" width="536" viewBox="0 0 536 528" 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="ref-multi-IP-domain">
      <name>Assurance Scenarios in Presence of Multiple IP Domains</name>
      <t>As discussed in section <xref target="ref-architecture"/> and section 2.1.2 of <xref target="I-D.ietf-teas-actn-poi-applicability"/>, the MDSC adopts a partial summarization approach to coordinate multi-domain (and multi-layer) path computation. That is, to configure an end-to-end L2 or L3VPN service, the MDSC would have complete visibility of the IP domains controlled by the respective P-PNCs.
In real-world, multi-domain IP deployments this capability of the MDSC typically collides with commercial, technical, and operational challenges.</t>
      <t>A single-provider, multi-domain IP network, is often structured into segmented organizational siloes: each IP domain (e.g. access, aggregation, core) may be managed by a dedicated operational team with little or no exchange of information to the others (e.g., detailed topology, link status, and network statistics). As a result, the configuration of an end-to-end service by the MDSC may happen but on a too abstracted level, loosing the advantage of an integrated network view. This is particularly impacting assurance and performance monitoring. Even with the adoption of state-of-the-art telemetry mechanisms within individual IP domains, the resulting filtering of status information at the MPI interface would constrain the MDSC capacity to execute comprehensive, automated end-to-end service assurance.</t>
      <t>The case of multi-provider networks presents even higher complexity. The ACTN architecture <xref target="RFC8453"/> has a hierarchical structure, with the Customer Network Controller (CNC) communicating a customer's Virtual Network Services (VNS) requirements to the network operator over the CNC-MDSC Interface (CMI). In turn, the MDSC coordinates the network operator's PNCs. In the case of two or more network operators, each one with their own ACTN stack implemented, the CNC of operator A could not directly interface to the MDSC of operator B. Two fundamental ways are envisioned to overcome this limitation. The first one is that the MDSC of one of the two network operators (say, operator A) assumes the role of the CNC of the MDSC of operator B, keeping a hierarchical relationship as foreseen in <xref target="RFC8453"/>. The other possibility is to establish a paritetical MDSC-to-MDSC interface. In any case, the information exchange at the administrative borders would be rigidly filtered and full service assurance coordination made impossible.</t>
      <t>It has to be noted that the complexity associated with enabling end-to-end service assurance and performance monitoring across multiple IP domains is in fact orthogonal to the presence of multiple optical domains in the optical network. This has been already highlighted in section {:#ref-architecture}. The guideline commonly adopted for the design of an optical network is to split it into sub-domains based on technology, vendor-based, or operational policies. Each subdomain is fully handled by a dedicated O-PNC.</t>
      <t>These are the reasons why the present document limits to single-provider (e.g., single IP domain), multi-layer networks. While the technical capabilities to perform assurance and performance monitoring in an IP network composed of multiple domains are defined, their application in the field is not made possible by current administrative and operational policies. This is a gap not easily addressable at the current stage. Further work to explore the technical options mentioned before is necessary and is left to a future work.</t>
    </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="31" month="August" 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-20"/>
        </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="RFC8345">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </reference>
        <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="22" month="October" 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-06"/>
        </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 1322?>

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

-->

</rfc>
