<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rokui-ccamp-actn-wdm-pluggable-modelling-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Modelling Optical Pluggables">Data Modelling and Gap Analysis of Optical Pluggables in Packet Over Optical Network</title>
    <seriesInfo name="Internet-Draft" value="draft-rokui-ccamp-actn-wdm-pluggable-modelling-01"/>
    <author initials="R." surname="Rokui" fullname="Reza Rokui">
      <organization>Ciena</organization>
      <address>
        <email>rrokui@ciena.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Bedard" fullname="Phil Bedard">
      <organization>Cisco</organization>
      <address>
        <email>phbedard@cisco.com</email>
      </address>
    </author>
    <author initials="B." surname="Swamynathan" fullname="B Swamynathan">
      <organization>Nokia</organization>
      <address>
        <email>swamynathan.b@nokia.com</email>
      </address>
    </author>
    <author initials="G." surname="Grammel" fullname="Gert Grammel">
      <organization>Juniper</organization>
      <address>
        <email>ggrammel@juniper.net</email>
      </address>
    </author>
    <date year="2024" month="October" day="19"/>
    <area>Routing</area>
    <workgroup>Common Control and Measurement Plane</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 190?>

<t>This draft outlines the modeling of optical pluggables within a host packet device in the context of a packet over optical network. The model encompasses all pertinent properties of the pluggable for various packet over optical use cases and is partitioned into three primary areas: the optical media side, the electrical plug to host interconnect, and the physical equipment of the pluggable.</t>
      <t>Included in the model are representations of configuration, states, and telemetry data, as well as of profiles and coherent plug capabilities. Emphasizing the importance of considering both vendor-agnostic and vendor-specific attributes in modeling coherent pluggables.</t>
      <t>Drawing from existing IETF models and potentially complementing that with input from other standard or industrial forum models (ITU-T, OpenConfig , ONF TAPI etc.) , this model offers enhanced uniform structuring and naming.</t>
      <t>This draft introduces the concept of "Coherent Pluggable Manifest", where it represents the capabilities of pluggable, maintained in a repository. This document also covers gap analysis of current IETF drafts and other SDOs on coherent Pluggable attributes and provides the complete lifecycle of a coherent pluggable from operators' approval through viability assessment to deployment.</t>
      <t>This document also covers an analysis of the gap between current IETF drafts and the corresponding works in other standards bodies and industry. The lifecycle of a coherent pluggable from operators' approval, viability assessment to deployment and monitoring is also covered.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://italobusi.github.io/actn-wdm-pluggable-modelling/draft-rokui-ccamp-actn-wdm-pluggable-modelling.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rokui-ccamp-actn-wdm-pluggable-modelling/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/italobusi/actn-wdm-pluggable-modelling"/>.</t>
    </note>
  </front>
  <middle>
    <?line 202?>

<section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms abbreviations are used in this document:</t>
      <ul spacing="normal">
        <li>
          <t>Optical Pluggable / Coherent Pluggable / Pluggable: A small form factor coherent optical module. This document uses these terms interchangeably</t>
        </li>
        <li>
          <t>O-PNC: The control functions specializing in management/control of optical and photonic functions (virtual or physical). See <xref target="RFC8453"/></t>
        </li>
        <li>
          <t>P-PNC: The control functions specializing in management/control of packet functions (virtual or physical). See <xref target="RFC8453"/></t>
        </li>
        <li>
          <t>CMIS: The Common Management Interface Specification is an OIF Implementation Agreement (IA) which provides a well-defined mechanism to initialize and manage optical (and copper) modules in a standard way, while still providing the capability to provide custom functionality. This commonality makes integration into different host platforms easier for both the host and module vendors.</t>
        </li>
        <li>
          <t>optical pluggable media side:</t>
        </li>
        <li>
          <t>optical pluggable host side:</t>
        </li>
        <li>
          <t>Monitored attributes: The Coherent Pluggable attributes which can be measured, monitored, estimated, or otherwise observed. The monitored attributes are the inputs to performance monitors which in turn provide real time samples, threshold crossing supervision, and sometimes sample statistics.</t>
        </li>
      </ul>
    </section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Packet traffic has been transmitted across optical networks for many years, leveraging the advantages of optical transmission and switching combined with packet switching. Traditionally, optical systems and packet systems have been distinct, each with their own dedicated devices.</t>
      <t>In numerous network setups, packet and optical networks have been engineered, operated, and managed separately, leading to siloed operations that can be suboptimal and inefficient. The evolution of both packet and optical systems has largely been independent. Optical systems, in particular, have seen advancements in capacity, especially with the adoption of coherent optical techniques.</t>
      <t>Advancements in optical component design have led to increased density, enabling entire coherent optical terminal systems that previously required multiple circuit packs to now fit into a single small form factor "coherent pluggable." Integrating coherent pluggables into devices with packet functions can result in reduced network costs, power consumption, and footprint, while also enhancing data transfer rates, reducing latency, and expanding capacity, although in some cases, separate packet and optical solutions may still be preferred due to other engineering and deployment considerations.</t>
      <t>These trends, coupled with the desire to utilize the best components available, have given rise to open optical pluggables. These pluggables allow a plug from one vendor to be installed in a device from another vendor with packet functions. Communication between coherent pluggables and the packet device host occurs through the CMIS standard developed by OIF <xref target="OIF-CMIS"/>.</t>
      <t>While standardized transmission modes like ZR can handle basic applications, proprietary modes from vendors are often necessary to achieve optimal performance.</t>
      <t>This draft outlines the modeling of an optical pluggable within a host packet device in context of a packet over optical network. The model presented in this document consolidates various properties of optical pluggables into three key functional block:</t>
      <ul spacing="normal">
        <li>
          <t>Photonic/Optical attributes: These attributes defines the characteristics of the optical and photonic properties such as spectrum, polarization, dispersion etc., which do not directly affect the behavior of the host packet device.</t>
        </li>
        <li>
          <t>Host/Electrical attributes: These attributes defines the characteristics of interconnect between the host and the optical pluggable, such as lane count, FEC etc., which both the optical pluggable and the packet host must understand and act upon.</t>
        </li>
        <li>
          <t>Physical and functional aspects of the pluggable (i.e., equipment): This defines attributes of the optical pluggable itself, such as plug type, version, thermal characteristics, power consumption etc., which indirectly affect the packet host.</t>
        </li>
      </ul>
      <t>For each of these functional blocks, coherent pluggable model provides attributes in following areas:</t>
      <ul spacing="normal">
        <li>
          <t>Capabilities: These attributes are read-only and defines the functional capabilities of the optical pluggables. They are defined in a profile called "operational-mode" and contains attributes such as modulation, bit-rate, baud-rate, chromatic-dispersion, polarization, FEC etc. Generally an optical pluggable might support multiple operational-modes.</t>
        </li>
        <li>
          <t>Configurations: Since an optical pluggable can support multiple operational-modes, these read-write attributes configure the pluggables to be functional in one of those operational- modes. Example of configuration attributes are output power, central frequency and operational-mode.</t>
        </li>
        <li>
          <t>States and performance monitoring telemetry data: These read-only attributes will be generated by optical pluggables and represents various states and PM data of the optical pluggable such as channel input power, channel output power, central frequency, laser temperature, current OSNR, Link Up/Down State, Alarm State, Laser On/Off State etc. In most cases these attributes are changing with time and pluggable reports current, average, min and max values. It is also possible to apply thresholds on each of these attributes to support thershold crossing alert (TCA).</t>
        </li>
      </ul>
      <t>Both vendor-agnostic and vendor-specific attributes are important considerations in the modeling of coherent pluggables.</t>
      <t>The document is divided into the following sections:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="optical-pluggable-in-device-packet-function"/>: Optical Pluggable in a Device with Packet Functions</t>
        </li>
        <li>
          <t><xref target="building-blocks"/>: Coherent Pluggables Building Blocks</t>
        </li>
        <li>
          <t><xref target="data-model"/>: Coherent Pluggables Data Modeling</t>
        </li>
        <li>
          <t><xref target="yang-model"/>: Coherent Pluggables Yang Model</t>
        </li>
        <li>
          <t><xref target="pluggable-gap-analysis"/>: Coherent pluggable Gap Analysis</t>
        </li>
        <li>
          <t><xref target="plug-manifest"/>: Coherent Pluggables Manifest</t>
        </li>
        <li>
          <t><xref target="plug-lcm"/>: Optical Pluggables Lifecycle Management</t>
        </li>
        <li>
          <t><xref target="architecture-implications"/>: Functional Architecture Implications</t>
        </li>
        <li>
          <t><xref target="plug-manifest-usage"/>: Usage of Coherent Pluggables Manifest</t>
        </li>
      </ul>
    </section>
    <section anchor="optical-pluggable-in-device-packet-function">
      <name>Optical Pluggable in a Device with Packet Functions</name>
      <t><xref target="_figure-details-packet-optical-device"/> shows a host packet device from vendor X, which is connected to optical device, equipped with optical pluggables from vendor X and Y. This figure exposes the following internal and external interfaces:</t>
      <t>A. This interface provides the control of host packet functions and optical functions. It provides these functions which can be decoupled such that there is no overlap between the optical and packet control functions.</t>
      <t>B. The CMIS communication interface between host packet devices) and optical pluggables.</t>
      <t>C. The data flow between the coherent pluggable and the packet data function through this interface. This is electrical interface between coherent pluggable and the host. <xref target="building-blocks"/> will discuss this in more details.</t>
      <t>D. Optical fiber connecting the optical devices to optical pluggables. This carries the flow of photonic signal from the optical device to the coherent pluggables. <xref target="building-blocks"/> will discuss this in more details.</t>
      <t>This draft presents the modeling of the coherent pluggable such as (D) and (C) in <xref target="_figure-details-packet-optical-device"/> within a host packet device. The model presented in <xref target="data-model"/> consolidates properties of coherent pluggable on interfaces (D) and (C) where interface (D) provides the photonic/optical attributes and interface (C) provides the host/electrical attributes.</t>
      <figure anchor="_figure-details-packet-optical-device">
        <name>Packet device with optical pluggables</name>
        <artwork><![CDATA[
                  |---------------|
                  |   P-PNC(s),   |
                  |   O-PNC(s),   |
                  |   MDSC        |
                  |---------------|
                          ^
                          |  (A)
      +-------------------|-------------------+
      |            |---------------|          |
      |            |Host Management|          |
      |            |---------------|          |
      |                   |                   |  Packet Device
      |                   V                   |  Vendor X
      |        |---------------------|        |  (i.e, Host)
      |        v                     v        |
      |  |-----------|          |----------|  |
      |  | Packet    |          | Coherent |  |
      |  | Function  |..........| Plug     |  |
      |  | Data      |          | Data     |  |
      |  |-----------|          |----------|  |
      |        .                      .       |
      |        .                      . (B)   |
      |        .                      .       |
      |  |--------------|   (C)   |------------------|  (D)
      |  |Packet Device |<------->| Coherent Plug #1 |=======
      |  |Function      |<---|    | Vendor X         |
      |  |--------------|    |    |------------------|
      |                      |                |
      |                      |    |------------------|
      |                      |--->| Coherent Plug #2 |=======
      |                           | Vendor Y         |
      |                           |------------------|
      |                                       |
      +---------------------------------------+

  Legend
    (A) Packet device management interfaces 
              (e.g., YANG, NETCONF, gNMI, etc.)
    (B) CMIS interface between Optical pluggable and Host
    (C) Host side of coherent pluggable (towards the Host)
    (D) Media side of coherent pluggable 
              (towards Optical/Photonic network)

]]></artwork>
      </figure>
    </section>
    <section anchor="building-blocks">
      <name>Coherent Pluggable Functional Building Blocks</name>
      <t>The functional building blocks of the coherent pluggables of <xref target="_figure-details-packet-optical-device"/> are shown in <xref target="_figure-optical-pluggable-building-blocks"/> and has three major functions:</t>
      <ul spacing="normal">
        <li>
          <t>Media side: This functional block represents all Photonic/Optical attributes of the coherent pluggables (interface (5) in <xref target="_figure-details-packet-optical-device"/>). These attributes define the characteristics of the optical and photonic properties such as spectrum, polarization, dispersion etc., which do not directly affect the behavior of the host packet device. Note that the goal of this draft is to eventually provide the YANG data model with these specific paramters which can be exposed in the model towards the controllers.</t>
        </li>
        <li>
          <t>Host side: This functional block represents all Host/Electrical attributes of the coherent pluggables (interface (4) in <xref target="_figure-details-packet-optical-device"/>). These attributes defines the characteristics of interconnect between the host and the optical pluggable, such as lane count, FEC etc., which both the optical pluggable and the packet host should understand and act upon.</t>
        </li>
        <li>
          <t>Equipment attributes: These attributes represent all physical and functional aspects of the coherent pluggable such as plug type, software version, thermal characteristics, power consumption etc.</t>
        </li>
      </ul>
      <figure anchor="_figure-optical-pluggable-building-blocks">
        <name>Optical Pluggable Building Blocks</name>
        <artwork><![CDATA[
  Coherent Pluggable
 |--------------------------------------------------------------|
 |                                                              |
 |  |--------------------------------------------------------|  |
 |  |                        Equipment                       |  |
 |  |--------------------------------------------------------|  |
 |                                                              |
 |           Host side                      Media side          |
 | |---------------------------|  |---------------------------| |
 | |                           |  |                           | |
 | | |---------|  |---------|  |  | |---------|  |---------|  | |(Tx)
-----| Elec.   |  | Host    |  |  | | Media   |  | Optical | -----> 
-----| Channels|--| Logical |-------| Logical |--| Channel | <----- 
-----|         |  | Channels|  |  | | Channels|  | (OTSI)  |  | |(Rx)
 | | |---------|  |---------|  |  | |---------|  |---------|  | |
 | |                           |  |                           | |
 | |---------------------------|  |---------------------------| |
 |                                                              |
 |--------------------------------------------------------------|

]]></artwork>
      </figure>
      <t>The following sections are describing the details of coherent pluggable functional blocks in more details.</t>
      <section anchor="optical-channelotsi">
        <name>Optical Channel/OTSI</name>
        <t>The media side of the coherent pluggable is further divided into two functional blocks; Optical Channel/OTSI and Media Logical Channels. The characterises of the Optical channel/OTSI are:</t>
        <ul spacing="normal">
          <li>
            <t>This is the pluggable interfaces facing the optical network.</t>
          </li>
          <li>
            <t>Represents the digital wrapper that transports services over a wavelength</t>
          </li>
          <li>
            <t>Represents the wavelength and the coherent aspects of the signal modulated onto it baud-rate, bit-rate, modulation scheme, frequency, tx-power, etc.</t>
          </li>
          <li>
            <t>Optical signal FEC termination/source, FEC characteristic information – configuration, if possible, Pre-FEC BER, Post-FEC BER, fail/degrade thresholds, raw corrected/uncorrected counts</t>
          </li>
          <li>
            <t>Provides configuration of the signal and monitoring capabilities</t>
          </li>
          <li>
            <t>Provides monitoring capabilities in the Tx (toward fiber/medium) and Rx (from fiber/medium) directions, Total optical power, optical channel power, Coherent statistics</t>
          </li>
        </ul>
      </section>
      <section anchor="media-logical-channels">
        <name>Media Logical Channels</name>
        <t>The characteristics of the Media Logical Channels are:</t>
        <ul spacing="normal">
          <li>
            <t>Logical representation of the hierarchical view of the digital framing layers used for transport of services over the wavelength</t>
          </li>
          <li>
            <t>Provides access to information for configuration and monitoring characteristics. For example, for 400ZR/OpenZR+, it represents the 400ZR frame structure in which Ethernet services are mapped and for an OTN encapsulated signal, it represents the OTU, ODU, OPU frame structures, perhaps with a multi-layer multiplex structure, in which Ethernet and other types of services are mapped</t>
          </li>
        </ul>
      </section>
      <section anchor="host-logical-channels">
        <name>Host Logical Channels</name>
        <t>The host side of the coherent pluggable is further divided into two functional blocks; Host Logical Channels and Electrical channels. The characteristics of the Host Logical Channels are:</t>
        <ul spacing="normal">
          <li>
            <t>Logical representation of the hierarchical view of the digital framing layers for services carried on the electrical lanes of the device</t>
          </li>
          <li>
            <t>Provides information for configuration and monitoring characteristics of each service</t>
          </li>
          <li>
            <t>Represents each service carried over the media logical channel and optical interface/wavelength, e.g., 25GE, 50GE, 100GE, 200GE, 400GE, OTU4, OTUCn etc.</t>
          </li>
        </ul>
      </section>
      <section anchor="electrical-channels">
        <name>Electrical Channels</name>
        <t>The characteristics of the Electrical Channels are:</t>
        <t>Note that the purpose of this section is to clarify the role of electrical channel in the coherent pluggable. This purpose of this draft is not to define the data model of the electrical channels.</t>
        <ul spacing="normal">
          <li>
            <t>The host side lanes of the device forming the physical interface to the host platform data path device(s)</t>
          </li>
          <li>
            <t>Lanes grouped to support the type/format and bandwidth of the signal used for a service</t>
          </li>
          <li>
            <t>Provides information for configuration and monitoring characteristics of the signal for a service in the electrical domain, e.g., Interface-format, FEC, alarming thresholds, etc.</t>
          </li>
          <li>
            <t>Provides monitoring capabilities in the Tx (toward fiber) and Rx (from the fiber).</t>
          </li>
        </ul>
      </section>
      <section anchor="equipment">
        <name>Equipment</name>
        <t>The "Equipment functional block" in <xref target="_figure-optical-pluggable-building-blocks"/> represents the coherent pluggable itself and has the following characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>Provides manufacturer identification information for the device</t>
          </li>
          <li>
            <t>Advertises capabilities of the device including capabilities for the host/client side and the media/line side</t>
          </li>
          <li>
            <t>Provides monitoring capabilities of physical characteristics and health of the device, e.g., temperature, voltage, coherent transmitter/receiver characteristics</t>
          </li>
          <li>
            <t>Provides for configuration where applicable – e.g., of device environmental thresholds</t>
          </li>
          <li>
            <t>Supports device level capabilities such as firmware installation, restarts, etc.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="data-model">
      <name>Optical Pluggables Data Modeling</name>
      <t>The attributes of all functional building block of a coherent pluggable in <xref target="_figure-optical-pluggable-building-blocks"/> will be exposed to external packet and optical controllers via host interface (1) shown in <xref target="_figure-details-packet-optical-device"/>. To this end, we need to model the coherent pluggable building blocks described in <xref target="building-blocks"/>.</t>
      <t>The data modeling of each functional blocks provides attributes in following areas:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="plug-capabilities-attributes"/>: Coherent pluggable capability attributes (i.e., supported-modes)</t>
        </li>
        <li>
          <t><xref target="plug-config-attribute"/>: Coherent pluggable configuration attributes</t>
        </li>
        <li>
          <t><xref target="plug-pm-definition"/>: Coherent pluggable performance monitoring data (including State data)</t>
        </li>
        <li>
          <t><xref target="plug-threshold-definition"/>: Coherent pluggable threshold definition</t>
        </li>
        <li>
          <t><xref target="plug-alarm-definition"/>: Coherent pluggable alarm notifications</t>
        </li>
        <li>
          <t><xref target="plug-vendor-specific-attributes"/>: Support of Vendor-Specific Attributes</t>
        </li>
      </ul>
      <section anchor="plug-capabilities-attributes">
        <name>Coherent Pluggable Capability Attributes (aka, Supported-Modes)</name>
        <t>Coherent pluggable have revolutionized optical networking by offering a powerful combination of high performance, flexibility, and ease of deployment. These modules support a broad range of capabilities, making them both efficient and versatile. Their extensive functional capabilities further enhance their effectiveness in diverse networking environments.</t>
        <t>From a coherent pluggable data modeling perspective, a set of attributes is grouped together and represented by a single identifier known as the "Supported Mode." In essence, each supported mode encapsulates a combination of functional capabilities for coherent pluggables, such as modulation type, bit rate, baud rate, chromatic dispersion, polarization, FEC, and more. Some of these attributes may also include value ranges (e.g., minimum and maximum). A coherent pluggable can support multiple supported modes, each of which can be defined by one of the following methods:</t>
        <ul spacing="normal">
          <li>
            <t>Method 1: Defined by a Standards Developing Organization (SDO) such as ITU-T</t>
          </li>
          <li>
            <t>Method 2: Defined by a forum such as Optical Internetworking Forum (OIF), a group of operators (OpenConfig) or by an individual vendor</t>
          </li>
        </ul>
        <t>These methods define a namespace for the authority that specified the particular supported mode, whether it be a standards body, an association, a group of operators, or an individual vendor. For example, the supported modes in method 1 are well-known capabilities established by standards bodies such as the ITU-T <xref target="G.698.2"/>. These modes are recognized and supported by coherent pluggables, routers, and SDN controllers. This draft also supports the work of other Standards Development Organizations (SDOs), forums, or individual vendors as their specifications become available. In contrast, the supported-modes in method 2 are capabilities specified by forums such as OIF <xref target="OIF-400ZR"/>, OpenConfig, or by individual vendors. These supported-modes might not be supported by all coherent-pluggables, routers or SDN controllers. In specific, the supported-modes defined by an individual vendor might be not be recognized and supported by any routers and SDN controllers.</t>
        <t>It is important to note that, from a functional perspective of coherent pluggables, the authority that defined the supported modes is less critical than the specific attributes associated with each supported mode. The key consideration is the list of attributes defined by these supported modes.</t>
        <t>As illustrated in <xref target="_figure-plug-supported-mode"/>, this document utilizes a consistent data structure for defining supported modes, irrespective of the authority that specified them. It includes:</t>
        <ul spacing="normal">
          <li>
            <t>supported-mode-id: Identification of the supported mode</t>
          </li>
          <li>
            <t>organization-id: This provides a name space for an authority who defines the supported-mode, i.e., the authority that defines the supported-mode, such as ITU-T, OIF, OpenConfig, or a vendor</t>
          </li>
          <li>
            <t>tags: Optional multiple tags that can be used for various purposes, mainly for future extensibility. For example, these tags can map the supported-mode to CMIS Media-ID (if they are not the same). Other potential uses of this tag are reserved for future developments.</t>
          </li>
          <li>
            <t>operational-mode: This is the main part of this document which contains a list of capability attributes supported by the coherent pluggable.</t>
          </li>
        </ul>
        <t><xref target="plug-manifest"/> discusses the concept of the "coherent pluggable manifest", which is a repository for all supported-modes". It also outlines the benefit of such repository and various use-cases.
Some details of supported modes can be found in IETF draft <xref target="Impairment"/>.</t>
        <figure anchor="_figure-plug-supported-mode">
          <name>Data structure for Coherent pluggable supported-modes</name>
          <artwork><![CDATA[
 |-----------------------------------------------------------------|
 |  supported-mode*    // list of supported-modes                  |
 |      supported-mode-id                                          |
 |      organization-id (e.g., ITU-T, OIF, OpenConfig or Vendor)   |
 |      tag* // Optional. It has various usage in future           |
 |      operational-mode                                           |
 |              capability-attribute-1                             |
 |              capability-attribute-2                             |
 |              ....                                               |
 |              capability-attribute-n                             |
 |-----------------------------------------------------------------|

]]></artwork>
        </figure>
        <t>As an example, the operational-mode 0x3E introduced by OIF contains the following read-only capability attributes. Notes that in general a coherent pluggable can support multiple operational modes.</t>
        <artwork><![CDATA[
organization-id:  OIF 
operational-mode: 0x3E
      modulation: DP-16QAM
      bit-rate: 478.75 Gbps
      baud-rate: 59.84375 Gbd
      more attributes ...
]]></artwork>
      </section>
      <section anchor="plug-config-attribute">
        <name>Coherent Pluggable Configurations Attributes</name>
        <t>Referring to <xref target="_figure-plug-config-pm"/>, the coherent pluggables support a set of read-write attributes which are configurable. Example of such configuration attributes are output power, central frequency and operational-mode. Note that as discussed in <xref target="plug-capabilities-attributes"/>, since a coherent pluggable may support multiple operational-modes, as part of these configuration attributes, operator should configure which of these operational-mode is desired and should be functional.</t>
        <figure anchor="_figure-plug-config-pm">
          <name>Data structure for Coherent pluggable Configuration and PM Attributes</name>
          <artwork><![CDATA[
 |-----------------------------------------------------------------|
 |  optical-channel  // OTSI channels                              |
 |      configuration // list of R/W plug configuration attributes |
 |           config-attribute-1                                    |
 |           config-attribute-2                                    |
 |           .....                                                 |
 |           config-attribute-m                                    |
 |      pm and states  // list of R/O pm and state attributes      |
 |                     // Note-1: Each pm-attribute might have     |
 |                     //         threshold definitions            |
 |                     // Note-2: For each monitored attributes,   |
 |                     //         one SCTP profile can be assigned |
 |           monitored-attribute-1                                 |
 |           monitored-attribute-2                                 |
 |           .....                                                 |
 |           monitored-attribute-p                                 |
 |-----------------------------------------------------------------|

]]></artwork>
        </figure>
      </section>
      <section anchor="plug-pm-definition">
        <name>Coherent Pluggable Performance Monitoring Data</name>
        <t><xref target="_figure-plug-config-pm"/> shows the list of pluggable Performance Monitoring (PM) and state data, which are critical components in optical networks, enabling network engineers to ensure optimal performance, identify issues, and maintain network reliability. Operators monitor a range of attributes on both the optical/photonic and electrical sides of coherent pluggables, including channel input power, channel output power, central frequency, current Optical Signal-to-Noise Ratio (OSNR), Bit Error Rate (BER), chromatic dispersion, laser temperature, link status, and more. These parameters directly impact the quality and integrity of the transmitted data across both optical and electrical domains.</t>
        <t>As coherent optical technology continues to gain traction, PM has evolved to include more advanced techniques, such as monitoring the quality of modulated signals and detecting impairments that could degrade performance over long distances. By leveraging these PM capabilities, engineers can ensure that the optical layer operates effectively, optimize the utilization of optical resources, and maintain high levels of service continuity and performance throughout the network.</t>
        <t>It is important to note that the "monitored attributes" encompass parameters from the media side, host side, and hardware components of coherent pluggables.</t>
        <t>Performance Monitoring (PM) data is generated for various "monitored attributes" by optical pluggables, representing a range of real-time metrics, including current, average, minimum, and maximum values, as well as counters and states. The PM data can be categorized as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Basic Monitoring PM data: The analogue values which provide the "current values" of a "monitored attributes" such as laser temperature, eSNR (Effective Signal-to-Noise Ratio) at media input, eSNR at host input, laser frequency error, and more.</t>
          </li>
          <li>
            <t>Advanced Monitoring PM data: The analogue values which provide the "current, average, minimum, and maximum values" of "monitored attributes" such as transmit signal power, Bit Error Rate (BER), chromatic dispersion, etc.</t>
          </li>
          <li>
            <t>Up Counters: The discrete counter values of "monitored attributes" that only increment, such as Bit Error Count, FEC (Forward Error Correction) Uncorrected Errors, Loss of Signal (LOS) count, Loss of Frame (LOF) count, and others.</t>
          </li>
          <li>
            <t>Up/Down Counters: The discrete counter values of "monitored attributes" that can both incremented and decremented.</t>
          </li>
          <li>
            <t>Operational/Admin States: Represents the states of "monitored attributes" such as link up/down state, alarm state, laser on/off state, Automatic Power Control (APC) status, and more.</t>
          </li>
        </ul>
        <t>For "Up Counters" there might be two approaches:</t>
        <ul spacing="normal">
          <li>
            <t>Continuous Increment: The counter value continuously increments without resetting upon read.</t>
          </li>
          <li>
            <t>Reset on Read: The counter value resets either on read or based on a predefined condition.</t>
          </li>
        </ul>
        <t>For "advanced monitoring performance management (PM) data", where current, average, minimum, and maximum values are provided by the coherent pluggable, a "windowing mechanism" is essential. Currently, this mechanism is implemented by the host platform, not the pluggable itself. For instance, the host platform utilizes the windowing mechanism to segment the PM data collected by the coherent pluggable. Within each window, the host calculates the minimum, maximum, and average values of the PM data, enabling a granular and time-specific analysis of the pluggable's performance.</t>
        <t>A variety of performance monitoring metrics, including minimum, maximum, average, and instantaneous values, can be collected. These metrics offer a comprehensive view of performance fluctuations, allowing for precise monitoring and quicker response times to anomalies. Minimum and maximum values help identify the extremes of performance, while average values give a sense of typical performance levels. Instantaneous values, on the other hand, provide real-time insights, which are crucial for immediate issue detection and resolution. This multi-faceted approach ensures that network performance is consistently monitored and maintained at high standards.</t>
        <t><xref target="plug-threshold-definition"/> will discuss the collection type and how they are related to the above-mentioned PM data. It also covers the coherent pluggables support for threshold crossing alerts (TCA) for all or a subset of monitored attributes.</t>
      </section>
      <section anchor="plug-threshold-definition">
        <name>Coherent Pluggable Threshold Definition</name>
        <t>As indicated in <xref target="plug-pm-definition"/>, coherent pluggables are capable of providing the threshold crossing alert (TCA) for all or subset of "monitored attributes". In this situation, the coherent pluggable raises an alert which informs the host about operationally undesired situations or about critical threshold crossings of monitored attributes. The coherent pluggable raises an alert by setting an associated Flag on pluggable memory-map that represents the alert.</t>
        <t>As mentioned previously, the TCA might be supported for a subset of coherent pluggable monitored attributes. Since it is possible that the coherent pluggable has different capabilities to raise threshold for different monitored attributes, to provide a general solution for threshold definition on coherent pluggable monitored attributes, this draft introduces the concept of "Supported Collection and Threshold Profile (SCTP)" shown in <xref target="_figure-plug-threshold-definition"/> which defines the configurable threshold values and collection types (i.e., the collection of current value, average value, min/max value are supported). The SCTP types will be used in list of coherent pluggables Sheet.</t>
        <t>To define the warning, minor, major, critical threshold values for a coherent pluggable monitored attribute, operator should set upper and lower limits that delineate acceptable performance ranges. This ensures that any deviations can be quickly identified and addressed. A rolling window between min-time and max-time should be employed to dynamically adjust these thresholds based on recent data trends, providing a more accurate reflection of current network conditions. By continuously updating the thresholds, network performance can be maintained within optimal parameters, reducing the risk of undetected issues.</t>
        <t>Note that sometimes these thresholds are configurable and sometime they are hard-coded. It is also possible that a vendor can support a sub-set and super-set of monitored attributes (for super-set they need to augment the yang model).</t>
        <figure anchor="_figure-plug-threshold-definition">
          <name>Coherent pluggable Collection and Threshold Profile Definition</name>
          <artwork><![CDATA[
         Supported-Collection-and-Threshold-Profile (SCTP)
 |----------------------------------------------------------------|
 |   SCTP-Type-1:                                                 |
 |     Collection: current, average, min, max                     |
 |     Configured Threshold: warning, minor, major, critical      |
 |                                                                |
 |   SCTP-Type-2:                                                 |
 |     Collection: current                                        |
 |     Configured Threshold: warning, minor, major, critical      |
 |                                                                |
 |   SCTP-Type-3:                                                 |
 |     Collection: current, average, min, max                     |
 |   ...                                                          |
 |   SCTP-Type-n:                                                 |
 |----------------------------------------------------------------|
    // Note: These are just a few examples. More SCTP profile 
    //       can be defined
]]></artwork>
        </figure>
      </section>
      <section anchor="plug-alarm-definition">
        <name>Coherent Pluggable Alarm Notifications</name>
        <t>[Editor's note: To be added in a later release.]</t>
        <t>The coherent pluggables might generate various alarm notifications due to the various reasons.</t>
      </section>
      <section anchor="plug-vendor-specific-attributes">
        <name>Support of Vendor-Specific Attributes</name>
        <t>In some instances, a coherent pluggable may support attributes that are specific to a vendor. These are vendor-specific attributes which should be supported by the host. In most cases the host packet device does not understand the semantics of these vendor-specific capability attributes but should be able to understand their syntax and communicate them to the SDN controller.</t>
        <t>Note that these vendor-specific attributes could be</t>
        <ul spacing="normal">
          <li>
            <t>read-only capability attributes</t>
          </li>
          <li>
            <t>read-write configuration attributes or</t>
          </li>
          <li>
            <t>read-only performance monitoring attributes.</t>
          </li>
        </ul>
        <t>As part of coherent pluggable work, we need to address this situation where a vendor has proprietary attributes which need to be configured on coherent pluggables or read from them. In this situation we also need to address how the proprietary attributes are treated by both host and internal protocol between host and pluggable (i.e., CMIS protocol). This allows different coherent pluggables to be used in various multi-vendor hosts (e.g., routers) in plug-and-play fashion.</t>
        <t>To achieve this, the coherent pluggable YANG data model (the work done as part of this draft -  Google Sheet) should first be augmented with vendor proprietary capability, configuration or PM attributes. As noted above, it might be also necessary to define how these new attributes are mapped to the internal protocol between the host and the pluggable via CMIS protocol. A key consideration is that the host does not need to understand the semantics of these new attributes and may not even need to know their syntax.</t>
        <t>Another consideration is the privacy of vendor specific attributes, i.e., these proprietary attributes may be commercially sensitive. It would be quite reasonable to encrypt the related properties allowing for them to be passed to a specific vendor control component without being observed or interpreted in any way by other control components (from other vendors).</t>
        <t>There are multiple solutions to this problem which will be discussed below. To demonstrate these solutions, consider the host Vendor-X and pluggable Vendor-Y in <xref target="_figure-details-packet-optical-device"/>. Let's assume:</t>
        <ul spacing="normal">
          <li>
            <t>Vendor-Y has a new read-write proprietary configuration attributes "AA" which should be configured in pluggable (in addition to well-known attributes such as central-frequency, power and operational-mode). The value of attribute AA is 100 and its memory map in coherent pluggable is 0x1100.</t>
          </li>
          <li>
            <t>In addition, consider a new read-only proprietary capability attributes "CC" supported on pluggable in range of {CC-min, CC-max}={1.1,3.3}.</t>
          </li>
        </ul>
        <section anchor="vendor-specific-capability-attributes">
          <name>Vendor-Specific Capability Attributes</name>
          <t>The coherent pluggable YANG data model is augmented with a list of new capability attributes. As demonstrated in <xref target="solution-vs-cap-attributes"/>, the YANG data model is augmented with the following information:</t>
          <ul spacing="normal">
            <li>
              <t>ID of new capability proprietary attribute</t>
            </li>
            <li>
              <t>Name of new capability proprietary attribute</t>
            </li>
            <li>
              <t>Minimum value of new attribute</t>
            </li>
            <li>
              <t>Maximum value of new attribute</t>
            </li>
          </ul>
          <t>The <xref target="solution-vs-cap-attributes"/> shows an example of new capability attribute "CC" whose min and max values are 1.1 and 3.3, respectively.</t>
          <figure anchor="solution-vs-cap-attributes">
            <name>Support of Vendor-Specific Capability Attributes</name>
            <artwork><![CDATA[
 +--ro vendor-specific-capability-attribute-list* [cap-attribute-id]
     +--ro cap-attribute-id              uint32
     +--ro cap-attribute-name            string
     +--ro cap-min-value                 decimal64
     +--ro cap-max-value                 decimal64

<vendor-specific-cap-attribute-list xmlns="urn:example:cc">
  <cap-attribute-id> 1 </cap-attribute-id >
  <cap-attribute-name> CC </cap-attribute-name>
  <cap-min-value> 1.1 </cap-min-value>
  <cap-max-value> 3.3 </cap-max-value>
</vendor-specific-cap-attribute-list>
]]></artwork>
          </figure>
          <t>To support the vendor-specific configuration attributes, there are a few potential solutions which are discussed below.</t>
        </section>
        <section anchor="vendor-specfic-config-solution-1">
          <name>Vendor-Specific Configuration Attributes (Solution-1)</name>
          <t>This approach is the simplest solution, as it requires no interpretation by the host platform. The coherent pluggable YANG data model is augmented with a list that directly maps the values of new configuration attributes to the corresponding memory-map locations on the pluggable device. In this solution, the memory-map locations must be known to the operator, potentially provided in the Coherent Pluggable Manifest. The <xref target="solution-1"/> illustrates the coherent pluggable YANG data model, which has been augmented with the following information:</t>
          <ul spacing="normal">
            <li>
              <t>ID of new proprietary configuration attribute</t>
            </li>
            <li>
              <t>Name of new proprietary configuration attribute</t>
            </li>
            <li>
              <t>Value of new proprietary attribute</t>
            </li>
            <li>
              <t>The memory map of new proprietary attribute (which is used in CMIS communication between host and pluggable)</t>
            </li>
          </ul>
          <t>For instance, consider a scenario where the operator intends to configure a new proprietary attribute, "AA," with a value of 100, and a memory-map location on the pluggable set to 0x1100. In this process, the host platform receives the attribute "AA" as defined in <xref target="solution-1"/>. The host platform then relays this information to the coherent pluggable via the CMIS protocol, without performing any interpretation. In other words, the host platform is not required to understand the syntax or semantics of these attributes; it functions merely as a conduit, transmitting the values from the NBI to the designated memory-map locations on the pluggable.</t>
          <figure anchor="solution-1">
            <name>Solution-1 for support of vendor proprietary config attributes</name>
            <artwork><![CDATA[
 +--rw vendor-specific-config-attribute-list* [conf-attribute-id]
     +--rw conf-attribute-id             uint32
     +--rw conf-attribute-name           string
     +--rw value                         decimal64
     +--rw memory-map                    decimal64

<vendor-specific-config-attribute-list xmlns="urn:example:cc">
  <config-attribute-id> 1 </config-attribute-id >
  <config-attribute-name> AA </config-attribute-name>
  <value> 100 </value>
  <memory-map> 1100 </memory-map>
</vendor-specific-config-attribute-list>
]]></artwork>
          </figure>
        </section>
        <section anchor="vendor-specific-configuration-attributes-solution-2">
          <name>Vendor-Specific Configuration Attributes (Solution-2)</name>
          <t>This approach is similar to <xref target="solution-1"/> but requires the host platform to implement lookup logic to determine the memory-map location on the pluggables. In this solution, the coherent pluggable YANG data model is augmented with the following new attributes, as shown in <xref target="solution-2"/>:</t>
          <ul spacing="normal">
            <li>
              <t>ID of new proprietary configuration attribute</t>
            </li>
            <li>
              <t>Name of new proprietary configuration attribute</t>
            </li>
            <li>
              <t>Value of new proprietary attribute</t>
            </li>
          </ul>
          <t>The operator does not have visibility into the specific memory-map locations for these attributes on the coherent pluggable device. Instead, the memory-map for each new attribute is provided in the Coherent Pluggable Manifest. In this scenario, the host platform must search the pluggable manifest to locate the corresponding memory-map location for each new attribute. These values are then communicated to the pluggable via the CMIS protocol for configuration. As in <xref target="solution-1"/>, the host platform does not need to understand the syntax or semantics of the new attributes; it only needs to search the pluggable manifest to identify the memory-map locations for the new attributes.</t>
          <t>As illustrated in <xref target="solution-2"/>, the host platform receives the new attribute "AA" via its Northbound Interface (NBI), with a configuration value of 0x1100. The host then searches the coherent pluggable manifest to determine the memory-map location associated with this attribute and identifies it as 0x1100. Without interpreting the attribute's syntax or semantics, the host platform communicates this information to the coherent pluggable via the CMIS protocol. Essentially, the host platform functions as a proxy, transmitting the values from the NBI to the appropriate memory-map locations on the pluggable without needing to understand the meaning of the attributes.</t>
          <figure anchor="solution-2">
            <name>Solution-2 for support of vendor proprietary config attributes</name>
            <artwork><![CDATA[
 +--rw vendor-specific-config-attribute-list* [conf-attribute-id]
     +--rw conf-attribute-id             uint32
     +--rw conf-attribute-name           string
     +--rw value                         decimal64
     Note: The memory-map for each new attribute is provided in
           pluggable Manifest.

<vendor-specific-config-attribute-list xmlns="urn:example:cc">
  <config-attribute-id> 1 </config-attribute-id >
  <config-attribute-name> AA </config-attribute-name>
  <value> 100 </value>
</vendor-specific-config-attribute-list>

]]></artwork>
          </figure>
        </section>
        <section anchor="vendor-specific-configuration-attributes-solution-3">
          <name>Vendor-Specific Configuration Attributes (Solution-3)</name>
          <t>This solution represents an advanced approach when a new vendor-specific proprietary configuration attribute is mapped to multiple memory-map locations on a pluggable device, or when multiple such attributes are mapped to a single memory-map location on pluggable. Similar to <xref target="solution-2"/>, the mapping between these new attributes and their corresponding memory-map locations should be detailed in the pluggable manifest. For each new vendor-specific attribute, the host platform is required to perform a lookup in the pluggable manifest to identify the relevant memory-map locations. The platform then assembles the corresponding values, which are communicated to the pluggable device via the CMIS protocol.</t>
          <t>Although this solution is included for completeness, it is not practical or desirable due to its complexity and the need for interpretation by the host software</t>
        </section>
        <section anchor="vendor-specific-secret-capability-attributes">
          <name>Vendor-Specific Secret Capability Attributes</name>
          <t>to be added</t>
        </section>
        <section anchor="vendor-specific-secret-configuration-attributes">
          <name>Vendor-Specific Secret Configuration Attributes</name>
          <t>There are situations where vendor-specific configuration attributes are confidential, and the vendor wishes to conceal their meanings and values. When considering the interface from the pluggable device to the host via CMIS, it is crucial that the pluggable does not expose the meaning or value of these confidential attributes. Ideally, the pluggable device would encrypt the data. Within the context of CMIS, it may be sufficient to allocate an array of register locations to convey the property values. These registers would store an encrypted data blob for read-only properties and accept an encrypted blob for writable registers. The specific value might be set or read through different register positions on each read/write, depending on the encryption technique used.</t>
          <t>It is important to note that since the pluggable device encrypts the data, mapping the data offers no additional benefit. The YANG model would simply convey the register values as requested. The properties are applied to the memory map in a manner that may appear disordered. The location values must always be read together and written as specified, potentially requiring multiple reads to retrieve all properties. This approach could be incorporated into the basic register-based option discussed in <xref target="vendor-specfic-config-solution-1"/>.</t>
          <t>As an example, let's assume a vendor defines secret attribute "DD" for its coherent plggable. Vendor first needs to augment IETF data model with a list of encrypted values and memory-maps shown in <xref target="solution-4"/>. This very similar to <xref target="solution-1"/> where essentially the host functions as a proxy, transmitting the values from the NBI to the appropriate memory-map locations on the pluggable without needing to understand the meaning and semantics of these attributes.</t>
          <figure anchor="solution-4">
            <name>Solution-4 for support of vendor secret attributes</name>
            <artwork><![CDATA[
 +--rw vendor-specific-config-attribute-list* [conf-attribute-id]
     +--rw conf-attribute-id             uint32
     +--rw encrypted-attribute-name      string
     +--rw encrypted-attribute-value     string
     +--rw memory-map                    decimal64
]]></artwork>
          </figure>
        </section>
        <section anchor="support-plug-vendor-pm">
          <name>Support of Vendor-Specific Performance Monitoring Data</name>
          <t>As with any vendor-specific/proprietary property, the additional support is defined in the manifest. The host is informed of the properties via YANG augments and appropriate mapping definitions. The mapping definitions tell the host that the related properties are related to performance monitoring data such that the host will periodically read the appropriate parts of the pluggable interface as for any other performance monitoring data. AS for all other performance monitoring data, the host does not need to understand the data. The client controller can carry out analysis or can propagate the measures transparently to some other controller etc.</t>
        </section>
      </section>
    </section>
    <section anchor="yang-model">
      <name>Coherent Pluggables Yang Data Model</name>
      <t>As discussed in the sections on capabilities, configuration, and performance monitoring in <xref target="plug-capabilities-attributes"/>, <xref target="plug-config-attribute"/>, and <xref target="plug-pm-definition"/>, the coherent pluggable module includes various read-only capability attributes, read-write configuration attributes, and read-only performance monitoring attributes. For a comprehensive list of these attributes, refer to the accompanying coherent pluggable Google Sheet (Q: how can we incorporate the Google Sheet?).</t>
      <t>Considering the next step involves converting the Coherent Pluggable Google Sheet into the 'Coherent Pluggable YANG data model', this draft proposes utilizing the methodology outlined in <xref target="plug-yang-method"/> for each attribute within the Google Sheet. The primary objective of this approach is to categorize the attributes associated with coherent pluggables. These attributes may fall under supported capabilities, configuration, or performance monitoring (PM) attributes. Here are a few examples:</t>
      <ul spacing="normal">
        <li>
          <t>The read-write attributes "channel-output-power" and "central-frequency" are supported attributes that can be configured, and the coherent pluggable can collect PM data and assign PM thresholds to them.</t>
        </li>
        <li>
          <t>The read-only attribute "chromatic-dispersion", which is solely part of the supported capabilities and PM attributes. This attribute cannot be configured on coherent pluggables.</t>
        </li>
        <li>
          <t>The read-only attribute "supply-voltage" could be considered, which is exclusively part of the PM attributes. It neither falls under supported capabilities nor is it a configurable attribute.</t>
        </li>
      </ul>
      <figure anchor="plug-yang-method">
        <name>Coherent pluggable Data Yang Model</name>
        <artwork><![CDATA[
// To convert the "Coherent Pluggable Google Sheet" to 
// "Coherent Pluggable Yang Data Model", apply the following 
// methodology to all attributes in "Coherent Pluggable Google Sheet" 

// Note: This example uses attribute "channel-output-power" just 
//       as an example.
//       This methodology provided is applicable to any attributes.

    channel-output-power{    
        is-capability-attributes = (TRUE or FALSE)
        {
          // if "TRUE", the following needed to be added
          ro min-channel-output-power = ...   
          ro max-channel-output-power = ...
          ro default-channel-output-power = ... 
        }

        is-configurable = (TRUE or FALSE)
        {
          // if "TRUE", this is R/W attribute
          rw channel-output-power = ...
        }

        is-monitorable = (TRUE or FALSE)
        {
          // if "TRUE", following PM data from pluggable might 
          // be available and can be read
          ro current-channel-output-power (if applicable)
          ro average-channel-output-power (if applicable)
          ro min-channel-output-power     (if applicable)
          ro max-channel-output-power     (if applicable)
        }

        is-threshold-available = (TRUE or FALSE)
        {
          // if "TRUE", following PM thresholds might be configurable
          rw threshold-for-warning-alert  (if applicable)
          rw threshold-for-minor-alert    (if applicable)
          rw threshold-for-major-alert    (if applicable)
          rw threshold-for-critical-alert (if applicable
        }
    }

]]></artwork>
      </figure>
    </section>
    <section anchor="pluggable-gap-analysis">
      <name>Coherent Pluggable Data Modeling Gap Analysis</name>
      <t>This draft on "coherent pluggable data model and gap analysis" was initiated to examine existing IETF models related to pluggables for "completeness" to assess existing IETF properties/structures which are relevant to coherent pluggables and also to look for missing properties/structures. The goal of current work is to achieve best positioning of the IETF work with respect to the other related activities in the industry.</t>
      <t>To carry out this ongoing examination, properties/structures from relevant external bodies are collected and compared with properties/structures present in IETF models related to coherent pluggables. Where properties/structures differ the differences are examined and justifications considered and justification provided for changes to the IETF models these are proposed.</t>
      <t>The following items are identified as gap related to coherent pluggables:</t>
      <ul spacing="normal">
        <li>
          <t>Syntax gaps: Naming inconsistency on existing IETF drafts <xref target="ietf-impairment-yang"/>, <xref target="ietf-layer0-yang"/> and <xref target="ietf-optical-interface-yang"/>. As an example, the capability attribute "max-channel-input-power" is also referred to as "rx-channel-power-max". We need to fix this. This draft proposes the following structure (note that there will be multiple valid proposals).</t>
        </li>
      </ul>
      <artwork><![CDATA[
Naming convention:
  direction [tx/rx/both/none]-
  [name of the attribute]-
  value [min / max / current / none]

Examples:
    for IETF attribute rx-channel-power-max, use 
      rx-channel-power-max (no change)
    
    for ITU-T attribute "Minimum (residual) chromatic dispersion", use
       residual-chromatic-dispersion-min 

    for IETF attribute "max-central-frequency", use
      central-frequency-max 

    for IETF attribute "channel-output-power", use
       tx-channel-power
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>Semantic gaps: For a complete solution for coherent pluggable, the capabilities, configuration, PM attributes and PM thresholds supported by IETF coherent pluggable should be consistent with coherent pluggable attributes supported by <xref target="OIF-CMIS"/>. This needs fuhrer investigation.</t>
        </li>
        <li>
          <t>Statement of Capability: For any attribute defined in IETF drafts <xref target="ietf-impairment-yang"/>, <xref target="ietf-layer0-yang"/> and <xref target="ietf-optical-interface-yang"/> which is configurable or is measurable and threshold can be set, we need a capability statement.</t>
        </li>
        <li>
          <t>[Editor's note: More to be added .]</t>
        </li>
      </ul>
    </section>
    <section anchor="plug-manifest">
      <name>Coherent Pluggable Manifest</name>
      <t>Referring to <xref target="plug-capabilities-attributes"/>, the coherent pluggable capability attributes (i.e., supported-modes) are crucial aspects of coherent pluggables and should be easily accessible for various reasons and activities. Those might include:</t>
      <ul spacing="normal">
        <li>
          <t>Network Engineers: Network engineers needs to know the capabilities and characteristics of any coherent pluggable whether the coherent pluggable is already deployed or will potentially be installed and deployed in their network</t>
        </li>
        <li>
          <t>SDN Controllers: The optical, packet or higher-layer SDN controllers need to have detailed knowledge of the coherent pluggables for various reasons such as network planning, viability assessment of the photonic services from plug-to-plug, configuration and performance monitoring collection, alarm notifications etc.</t>
        </li>
        <li>
          <t>Packet Device (e.g., Router): Optionally the host packet device need also access to coherent pluggable capabilities to provide details of coherent pluggables already installed in packet devices for example during the debugging and troubleshooting of pluggables.</t>
        </li>
      </ul>
      <t>To facilitate the utilization of coherent pluggable attributes, this draft introduces the concept of the "Coherent Pluggable Manifest." The manifest serves as a comprehensive collection of information that is appropriately structured and interrelated, providing a detailed description of the capabilities of a pluggable device. In alternative terminology, the manifest may also be referred to as a Specification, a Profile, or a Plug database, among other terms.</t>
      <t>It should be noted that any equipment could have a Manifest describing its capabilities and the Manifest may be broken down into units that can be referenced and reused, i.e., the definition can be modular. To facilitate the stages, each vendor would be expected to provide a Manifest for each pluggable type &amp; version.</t>
      <t>A pluggable type &amp; version may offer a subset of standard capabilities. The subset is described by simply omitting definitions.</t>
      <t>A pluggable type &amp; version may offer a super-set. The super-set is detailed by adding definitions via "augmentation" to the set of standard definitions available for use in the matiest. These capability augmentations relate to augmentations to the YANG model used at the interface to the host. Note that host has no need to understand the semantics of the augmented properties, but does need to know the mapping to the pluggable interface. This is discussed in more detail elsewhere in this document.</t>
      <t>We should also consider the fact that some proprietary attributes and capabilities of the coherent pluggable might be commercially sensitive and hence confidential and a vendor might not want to provide it to publicly to everyone. In other words, some guidelines and restriction might be applicable to some portion of "Coherent Pluggable Manifest". To provide more security, the access to the pluggable manifest could be restricted or password protected and potentially encrypted. It is also possible to provided restrict access to an operator or a team or group of people of an operator where there may also be a requirement for an NDA to enable access to the data. It is also possible that the encrypted section of the Manifest might only be passed to a specific vendor control component (without being meaningfully observed by other control components from other vendors). The encrypted information may be passed via a special secure channel directly to a component authorized to decrypt the information into machine interpretable form and use it.</t>
      <t>Considering the above, it appears reasonable that all pluggable capabilities whether they be proprietary or standard should be fully described in the Manifest (considering that some portions of the Manifest might have restrictions as previously described). This may be achieved by a reference to a standard that is itself fully defined in machine interpretable form. This approach would allow for a far more flexible and future-proofed control solution.</t>
      <t>In summary, to facilitate easy access to coherent pluggable attributes, the details of coherent pluggable operational-modes are collected in a repository (access restriction might be applicable to some portions of this document), such as GitHub and SharePoint, called "Coherent Pluggable Manifest". The manifest must be both human and machine-readable repository and can be read and interpreted easily by any SDN controller, operators, or other devices in the network. A manifest contains multiple records which are uniquely identified by tuple [organization-id, operational-mode].</t>
      <t>The manifest contains four sections:</t>
      <ul spacing="normal">
        <li>
          <t>Photonic/Optical capability section: This section contains all photonic/optical capabilities of the coherent pluggable and identifies all read-only attributes. It also allow augmentation of this section for vendor-specific attributes.</t>
        </li>
        <li>
          <t>Configuration attributes: This section contains all read-writer attributes which can be configured on coherent pluggable. It also allow augmentation of this section for vendor-specific configuration attributes.</t>
        </li>
        <li>
          <t>PM Collection style for monitored attributes: List of all read-only monitored attributes where the coherent pluggable can collect PM data. This section identifies if the collection of current, average, min and max values are possible.</t>
        </li>
        <li>
          <t>PM Threshold values: For all or a subset of read-only monitored attributes, this section contains the threshold settings for threshold crossing alerts (TCA) if applicable.</t>
        </li>
      </ul>
      <t><xref target="_figure-optical-pluggable-manifest"/> illustrates the overall structure of the "Coherent Pluggable Manifest". It contains several operational-mode records where each record includes all the capability attributes for tuple [organization-id, operational-mode]. As discussed in <xref target="plug-capabilities-attributes"/>, "organization-id" refers to any authority that defines these attributes such as ITU-T <xref target="G.698.2"/> or <xref target="OIF-400ZR"/>) or an individual vendor.</t>
      <t>Each record in the coherent pluggable manifest is machine readable/interpretable and is uniquely identified by a tuple [organization-id, operational-mode].</t>
      <t>Using "Coherent Pluggable Manifest", the format of all operational-modes are identical whether it is defined by for example ITU-T, OIF, OpenConfig, or defined by a vendor.</t>
      <figure anchor="_figure-optical-pluggable-manifest">
        <name>Coherent Pluggable Manifest</name>
        <artwork><![CDATA[
 
   A record identified by 
   tuple [organization-id, operational-mode]
   
  |--------------------------------------------------------|
  |                                                        |-|
  |  organization-id:  (e.g., ITU-T, OIF or Vendor)        | |-|
  |  operational-mode: (described in this draft)           | | |
  |                    (see also Google Sheet)             | | |
  |  version:                                              | | |
  |                                                        | | |
  |  Photonic/Optical capabilities attributes              | | |
  |  -----------------------------------------             | | | 
  |  (i.e., Read-only attributes defined in                | | |
  |   operational-mode of this draft. For each attribute,  | | |
  |   min, max, default values might be available)         | | |
  |    - attribute A1                                      | | |
  |    - attribute A2                                      | | |
  |      ...                                               | | |
  |    - attribute An                                      | | |
  |    - List of vendor-specific capability attributes     | | |
  |      (augmented yang model)                            | | |
  |                                                        | | |
  |  Configuration attributes                              | | |
  |  --------------------------                            | | | 
  |  ( The list of all read-write attributes where         | | |
  |   can be configured on coherent pluggables )           | | |
  |   are possible )                                       | | | 
  |    - attribute C1                                      | | |
  |    - attribute C2                                      | | |
  |    ...                                                 | | |
  |    - attributeCWm                                      | | | 
  |    - some vendor specific config attributes            | | |
  |      (augmented yang model)                            | | |
  |                                                        | | | 
  |  Monitored attributes PM collection                    | | |
  |  ------------------------------------                  | | |
  |  (i.e., list of monitored attributes where             | | |
  |   coherent pluggable can collect PM data for           | | |
  |   current, average, min, max values)                   | | |
  |    - attribute M1                                      | | |
  |    - attribute M2                                      | | |
  |    ...                                                 | | |
  |    - attribute Mp                                      | | |
  |                                                        | | |
  |  Monitored attributes Threshold setting                | | |
  |  ---------------------------------------               | | |            
  |  For all or some attribute M1,... Mp, define           | | |
  |    - threshold-for-warning-alert   (if applicable)     | | |
  |    - threshold-for-minor-alert     (if applicable)     | | |
  |    - threshold-for-major-alert     (if applicable)     | | |
  |    - threshold-for-critical-alert  (if applicable)     | | |
  |                                                        | | |
  |--------------------------------------------------------| | |
    |--------------------------------------------------------| |
      |--------------------------------------------------------|

 Coherent Pluggable Manifest
   - Contains one or more operational-mode records 
   - Each record for tuple [organization-id, operational-mode]
   - It is machine-readable/interpretable

]]></artwork>
      </figure>
      <t>Below are several examples that demonstrate the concept of the "Coherent Pluggable Manifest." <xref target="_figure-optical-pluggable-manifest-example_1"/> illustrates the content of a manifest record for operational mode 0x3E, as defined by the OIF forum. This operational mode is widely recognized and supported by nearly all coherent pluggable devices. Detailed information regarding this operational mode can be found in <xref target="SFF8024"/>, Table 4-7.</t>
      <figure anchor="_figure-optical-pluggable-manifest-example_1">
        <name>Coherent Pluggable Manifest Defined by OIF</name>
        <artwork><![CDATA[
organization-id:  OIF 
operational-mode: 0x3E
// Photonic/Optical capabilities attributes
list of attributes
      modulation: DP-16QAM
      bit-rate: 478.75 Gbps
      baud-rate: 59.84375 Gbd
      more attributes ...
// Configuration attributes  
// Monitored attributes PM collection   
// Monitored attributes Threshold setting  
]]></artwork>
      </figure>
      <t><xref target="_figure-optical-pluggable-manifest-example_2"/> is anther manifest record where the Vendor-X has defined the operational-mode 0x22. In this case, Vendor-X defines all the attributes related to this operational-mode, which might not be supported by other pluggable vendors.</t>
      <figure anchor="_figure-optical-pluggable-manifest-example_2">
        <name>Coherent Pluggable Manifest Example-2</name>
        <artwork><![CDATA[
organization: Vendor-X
operational-mode: 0x22
// Photonic/Optical capabilities attributes
list of attributes
      modulation: 16-QAM
      bit-rate: 400 Gbps
      baud-rate: 56 GBd
      more attributes ...
// Configuration attributes  
// Monitored attributes PM collection   
// Monitored attributes Threshold setting 
]]></artwork>
      </figure>
      <t>"<xref target="_figure-optical-pluggable-manifest-example_3"/>" presents an example where the Vendor-Y defined an operational-mode 0x22 as well. In this scenario, the organization associated with the pluggable module is Vendor-Y, which defined the same operational-mode 0x22 as "Vendor-X"</t>
      <t>It is important to note that while the operational-modes in both <xref target="_figure-optical-pluggable-manifest-example_2"/> and <xref target="_figure-optical-pluggable-manifest-example_3"/> share the same values, they are defined by different vendors. Consequently, these operational-modes are not related and may differ significantly in their attributes. In other words, although the semantics of these modes are identical, their actual content might vary significantly. This is one of the reasons that any record in Coherent Pluggable Manifest is uniquely identified by tuple [organization-id, operational-mode].</t>
      <figure anchor="_figure-optical-pluggable-manifest-example_3">
        <name>Coherent Pluggable Manifest Example-3</name>
        <artwork><![CDATA[
organization: Vendor-Y
operational-mode: 0x22
// Photonic/Optical capabilities attributes
type: NON-STANDARD
list of attributes
      modulation: QPSK
      bit-rate: 800 Gbps
      baud-rate: 96 GBd
      more attributes ...
// Configuration attributes  
// Monitored attributes PM collection   
// Monitored attributes Threshold setting       
]]></artwork>
      </figure>
    </section>
    <section anchor="plug-lcm">
      <name>Optical Pluggables Lifecycle Management</name>
      <t>This section discusses the complete lifecycle of an optical pluggable as shown in <xref target="_figure-overview-lifecycle-pluggable"/>. It includes discussion on the pre-purchase evaluation of pluggables through installation to the operation of a pluggable in a live network.</t>
      <t>Most of this lifecycle discussion applies to a majority of equipment types. Where the pluggable is special, this is highlighted.</t>
      <t>The figure below provides a high level flow. In a real environment, all stages will be running in parallel for various plug versions etc. and there may be feedback from any stage to a previous stage. For example, the research, evaluation and planning exercises are ongoing activities that continue as the network grows and changes and as new pluggable type &amp; versions are introduced by vendors and insight from deployment may feed back to the evaluation stage.</t>
      <t>Throughout the lifecycle specific use cases and scenarios will be considered and applied. These will be developed during the early stages and applied in service design.</t>
      <t>Note: The stages and the terminology used are not intended to reflect any specific operational practice. They are intended to be neutral with respect to any existing operator's processes, aligning with the essence of the processes.</t>
      <figure anchor="_figure-overview-lifecycle-pluggable">
        <name>Lifecycle of a coherent pluggable</name>
        <artwork><![CDATA[
  Market research                   \
       |                            |
       v                            |
  Testing of pluggable samples      | Refer to
       |                            | Section 9.1
       v                            |
  Trials & PoCs                     |
       |                            |
       v                            |
  Approve pluggable type            /
       |                   ---------
       v                            \ 
  Service demand Analysis           | 
       |                            |
       v                            | Refer to
  Network planning                  | Section 9.2
       |                            |
       v                            |
  Service type realization analysis |
       |                            |
       v                            |
  Purchase pluggables               /
       |                   ---------
       v                            \  
  Optical infrastructure creation   |
       |                            |
       v                            |
  Service demand received           | Refer to
       |                            | Section 9.3
       v                            |
  Design service                    |
       |                            |
       v                            |
  Validate optical design           /
       |                   ---------
       v                            \ 
  Work Order (physical)             |
       |                            |
       v                            |
  Installation of pluggables etc.   |
       |                            | Refer to
       v                            | Section 9.4
  Service configuration             |
       |                            |
       v                            |
  Service validation & test         |
       |                            |
       v                            |
  Enable Service                    |
       |                            |
       v                            |
  Operate service                   /
]]></artwork>
      </figure>
      <t>The following sub-sections discuss the overall flow of activities and then work through the lifecycle stages in some detail.</t>
      <section anchor="approve-plug">
        <name>Approving the pluggable type and version</name>
        <t>Pluggables, like all equipment, are carefully chosen. A network operations company (the operator) will decide what pluggables to use in the network based upon research and an understanding of capabilities of the pluggables available in the marketplace. These capabilities will be considered against the specific applications, use cases and scenarios that are of relevance to the operator's business.</t>
        <t>It is expected that these applications, use cases and scenarios will be developed through "Market research" and as pluggables etc. are assessed. The use cases and scenarios will be applied extensively in later stages.</t>
        <t>The operator will acquire samples of each type &amp; version of pluggable of interest and probably test and then trial them. They will also probably carry out "type approval" considering each type&amp;version of pluggable for a particular set of applications (where those applications may be defined by the operator themselves or may be standardized definitions) etc. The full detail of the capability of each type &amp; version of pluggable is relevant at all of these stages (see <xref target="express-capabilities"/>). The capabilities are expected to be expressed in a Manifest (see <xref target="plug-manifest"/>).</t>
        <t>The market analysis will lead to Service type design (some of which will be innovative) and will lead to an understanding of potential revenue. This revenue prediction will be considered when evaluating price and compatibility such that initial sketches of use can be constructed.</t>
      </section>
      <section anchor="planning-network">
        <name>Planning the network</name>
        <t>Specific pluggables (type&amp;version) will be purchased only after detailed planning of the network. To carry out this planning, full knowledge of each type&amp;version of pluggable will be required. The planning process will account for key pluggable properties to explore viability and compatibility. The planning will use predictions of "service demand" (e.g., using a demand matrix) and hence infrastructure need to determine purchase volumes, phasing etc.</t>
        <t>The exercise may result in identification of several type &amp; versions of pluggable that can be interchanged for a particular specific purpose. Clearly, pluggable pricing will also be accounted for in this phase. Again, during this stage of the lifecycle the full detail of the Manifest for each type &amp; version of pluggable is relevant.</t>
        <t>During the "Network planning" process different types of service relevant for the applications, use cases and scenarios (identified in <xref target="approve-plug"/>) will be explores and specific approaches to realizing each resulting type of service will be determined. This will result in design of specific "service realization" patterns and templates that will be used in later stages of the process. The approach to deploying each service type is defined for each operational context (application etc.)</t>
        <t>As a result of the planning exercise, numbers of each pluggable type&amp;version required will be known and purchasing can be initiated. The purchased pluggables will be added to the inventory and spares holdings.</t>
      </section>
      <section anchor="service-demand">
        <name>Dealing with service demand</name>
        <t>The planning exercise leads to optical infrastructure requirements with some timetable for deployment. The "Optical infrastructure" is designed (using the patterns/templates designed in <xref target="planning-network"/>. The infrastructure will be deployed as appropriate based upon predicted and actual service demand etc.</t>
        <t>When optical "services demand" is received, perhaps to provide underlay for the packet network or driven by a specific service contract, optical network analysis is carried out to evaluate how to efficiently and effectively achieve the specific service demanded. This analysis will consider the whole optical network including the plugs and ROADMs etc. In most cases this "Service design" will use patterns/templates constructed in <xref target="planning-network"/> in conjunction with relevant capability information for the pluggable type&amp;version.</t>
        <t>Prior to progressing further it is important to note that pluggables are highly valuable, and correspondingly expensive. They are deployed in a controlled fashion. There are a range of policies for deployment of pluggables.</t>
        <t>In some cases, at one extreme end of the range of policy choices, an operator may decide to fully populate a packet device with a selection of pluggables and may cable them to adjacent ROADMS. However, it is more likely that pluggable deployment will be on a just-in-time basis, at the other end of the range of policy choices, so a pluggable is not deployed (and hence is not cabled) until the solution to realization of the optical service has been determined.</t>
        <t>Regardless of the pluggable deployment approach, the pluggable capability will be accounted for in the optical network analysis activity. Where pluggables are present, the range of installed pluggables constrain the possible realizations, where the pluggables have not been deployed all approved pluggables (type&amp;version) could be considered during the analysis, although capability of the relevant packet devices to support specific pluggables will also need to be considered, and this may eliminate some pluggables. In addition, if there is some urgency, the availability of the type of pluggable to the installation engineer and/or in the local spares holding inventory may also be considered.</t>
        <t>The optical design will be "validated" in terms of "viability" and compatibility prior to proceeding. This analysis takes into account the full definitions of the pluggable type&amp;versions of interest, where each is defined in a corresponding and referenced manifest.</t>
      </section>
      <section anchor="install-operate">
        <name>Installing and operationalising the pluggable</name>
        <t>Once the design is available, any necessary physical installation exercise (pluggable installation, cabling etc.) is carried out, driven by "Work orders" that identify the type&amp;version of pluggable to instal etc.</t>
        <t>On detection of the pluggable instance, the control system will validate that the work order has been carried out correctly. To do this, the full type&amp;version of the pluggable is read and compared with the intent. Where there are discrepancies, either a work order is constructed to correct the installation error after the detected pluggable type&amp;version is evaluated for compatibility with the specific design. This evaluation is done using the Manifest for that type&amp;version. It is possible that the type&amp;version may be acceptable although perhaps a little more expensive than the optimum choice etc.</t>
        <t>Once the type&amp;version of pluggable has been confirmed, the cabling to the pluggable will be validated and the service set up and validated. Depending upon the operator practices, there may be an extensive service test phase prior to handing over the service. The service may not be enabled immediately, but will be at some point after which the service will become operational. 
From this point on, normal live service/equipment management/control will be active.</t>
        <t>Beyond this point normal operational activities such as engineering works, restoration, upgrade, fault location etc. will be carried out. Clearly, there is also the reverse sequence which includes deactivating a service and removing the plug and there are also various edits and refinements that result from changes in demand and changes in understanding of the service needs etc. These steps have not been covered at this stage as the initial list above is sufficient to the develop a deep understanding of the control of the plugs. Further stages will be added in a future version of this document.</t>
        <t>In addition, during transition towards a more automated future, there are processes related to discovery of existing network etc. In many of these processes the current state of the network is understood including the type&amp;version of each pluggable. Some degree of understanding of capability of pluggables (and any other equipment) is relevant. The approach using manifests appears appropriate to gain this understanding.</t>
      </section>
      <section anchor="express-capabilities">
        <name>Expressing capabilities</name>
        <t>As highlighted above, prior to installation of an optical pluggable in a device (with packet functions etc.), various research, approval, planning and design activities must be carried out (as they would be for any hardware). All of these activities will require information on the capabilities of the pluggable.</t>
        <t>Detailed information on the capability of the pluggable is required long before it is installed and operating. This points to the need for a model of capability (of a type of pluggable) that is independent of the model of a running instance (and hence points to decoupling of the model of capability from the model of the operation of the pluggable). This also suggest that discovery of capability detail from the pluggable is not sufficient/appropriate for deployment (although it may be useful in a lab context).</t>
        <t>A machine interpretable definition/specification for the pluggable should be available (independent of the pluggable instance) for each pluggable type&amp;version where the statement of type&amp;version (complete type&amp;version) used is to the degree sufficient to precisely identify the relevant (unique) definition/specification. The complete type&amp;version may include hardware type&amp;version, firmware type&amp;version and software type&amp;version details (where the firmware/software influences the operation/control of the pluggable). This is essentially the type&amp;version used when considering spares holding and like-for-like replacement in the field.</t>
        <t>From this perspective, all that is required from a running pluggable is to report the complete type&amp;version detail so that this can be confirmed as the right type&amp;version. The type&amp;version can be used to reference the relevant unique specification.</t>
        <t>It is important to clarify the definition of capability. In this document, the term capability means "A quality or facility that enables something to carry out some activity and/or take some role". In the context of an equipment, the term applies to its functional and physical properties.</t>
        <t>Considering a pluggable (as for many other equipments), this would include specification of capabilities such as:</t>
        <ul spacing="normal">
          <li>
            <t>physical size, form factor and shape (the capability to fit in a particular type of location)</t>
          </li>
          <li>
            <t>connector type (the capability to physically interconnect with a compatible connector)</t>
          </li>
          <li>
            <t>bus architecture (the capability to communicate with a compatible component)</t>
          </li>
          <li>
            <t>optical termination characteristics (the functional capabilities emergent from the powered physical equipment, allowing interconnection with corresponding compatible functions)</t>
          </li>
          <li>
            <t>measurement opportunities (the functional capabilities to provide information to various control functions)</t>
          </li>
        </ul>
        <t>A capability statement may be a precise single value with no uncertainty, a range, a collection of related ranges and thresholds etc. Where some aspect has variability or is controllable, this is also required to be specified.</t>
        <t>For an equipment to be understood and used by a control system, the detailed information on capabilities must be available in machine interpretable form (to the degree necessary for any particular function to be carried out). The machine interpretable statements may be in the form of software, but preferably should be in the form of data (information) that can be readily ingested by tooling and ideally in a standardised language.</t>
        <t>Traditionally, the published statements of capability have been in somewhat ambiguous text that require interpretation and conversion into a machine interpretable form through a manual intermediate step (normally performed, with errors and performed many times for any particular device type etc.). It is suggested here that the best source of the machine interpretable data is the specifying authority (e.g., ITU-T for standard applications, the vendor for plug capabilities, an operator for non-standard applications).</t>
      </section>
    </section>
    <section anchor="architecture-implications">
      <name>Implications for the Functional Control Architecture</name>
      <t>[Editor's note: To be added in a later release.]</t>
      <t>The following section considers the interaction sequence, resulting from the pluggable lifecycle analysis, within the functional control architecture and highlights resulting adjustments to the control functionality. Note that this section does not deal with the physical realization of the control components of the functional architecture other than those dependent on the device and pluggable physical boundaries.</t>
    </section>
    <section anchor="plug-manifest-usage">
      <name>Usage of Coherent Pluggables Manifest</name>
      <t>Within this section, we present a few use-cases showcasing the practical application of the coherent pluggable manifest.</t>
      <section anchor="example-1-coherent-pluggables-manifest">
        <name>Example-1: Coherent Pluggables Manifest</name>
        <t>The first example is illustrated in <xref target="_figure-optical-pluggable-manifest-usage-1"/>. This is a simple example where the packet over optical network has been already provisioned with both optical underlay and packet overlay services. The role of SDN controller is just to discover and manage the network. In other words, the SDN controller was not involved in various aspects of service provisioning and viability. The second example will come all these aspects in more detail.</t>
        <figure anchor="_figure-optical-pluggable-manifest-usage-1">
          <name>Coherent Pluggable Manifest Usage 1</name>
          <artwork><![CDATA[
      <------------------ L3 service-1 ------------------->
       <------------------ TE-Tunnel-1 ------------------>
         <----------------- IP link-1 ----------------->
           <------------- L0 service-1 -------------> 
 
   |----------|        |------------------|
   | Coherent |        |                  |
   | Pluggable|  <-->  |  SDN Controller  |
   | Manifest |        |                  |
   |----------|        |------------------|
                                ^
                                |
                                v
                      |------------------|
         port_a       |                  |
     |------| p1    |------|             |
     |  R1 ++-\     |  m1  |             |       port_b
     |------|  \    |------|          |------|  p2 |------|
                \      |              |  m3  |-----++ R2  |
                 \  |------|          |------|     |------|
                  \-|  m2  |             |
                    |------|             |
                      |                  | 
                      |------------------|

  Legend:
    ----        Optical fibers
    ++ p1,p2    Coherent pluggables
    R1, R2      Packet device (i.e., Router)
    m1, m2, m3  Photonic node (ROADM) 

]]></artwork>
        </figure>
        <t>In this example, all optical and IP/MPLS services had been already provisioned and deployed and the packet over optical network is fully functional.</t>
        <t>Within packet devices R1 and R2, coherent pluggables p1 and p2, are installed, interfacing through ports port_a and port_b, respectively. Both coherent pluggables are provisioned for the following operational-mode.</t>
        <ul spacing="normal">
          <li>
            <t>[organization-id, operational-mode] = [OIF, 0x3E]</t>
          </li>
        </ul>
        <t>A single photonic service is established between these pluggables and an IP link is mapped to this L0 photonic service. The overlay TE-Tunnel-1 and L3 service-1 had been also provisioned. The following steps outline the details of how this network is discovered and managed by SDN controllers (note that the SDN controller was not involved in provisioning):</t>
        <ul spacing="normal">
          <li>
            <t>Packet devices (R1, R2), pluggables (p1, p2), and photonic devices (m1, m2, m3) are all discovered by SDN controllers.</t>
          </li>
          <li>
            <t>The SDN controller also discovers all underlay and overlay services, i.e., L0 service-1, IP link-1, TE-Tunnel-1 and L3 servcie-1.</t>
          </li>
          <li>
            <t>The SDN controller has the network inventory, including coherent pluggables p1 and p2. In particular for coherent pluggables, basic information such as pluggable type, vendor, manufacturer, serial number and software version will be provided by pluggables to SDN controller.</t>
          </li>
          <li>
            <t>The inventory of packet devices R1 and R2 contains the  configurations of pluggable attributes such as "configured operational-mode," "configured central frequency," and "configured output power".</t>
          </li>
          <li>
            <t>Specifically, using the basic information of pluggables p1 and p2 such as pluggable type, vendor, manufacturer, serial number and software version collected earlier from packet devices R1 and R2, the SDN controller can use the "Coherent Pluggable Manifest," to access the entire information of both pluggables p1 and p2. This includes all supported operational-modes along with all attributes related to each supported operational-mode.</t>
          </li>
          <li>
            <t>The SDN controller can collect all PM telemetry data from the network (including pluggables).</t>
          </li>
          <li>
            <t>The SDN controller can collect all alarm notifications from the network (including pluggables).</t>
          </li>
          <li>
            <t>The SDN controller can further change, modify, optimize the network (if needed).</t>
          </li>
        </ul>
      </section>
      <section anchor="example-2-coherent-pluggables-manifest">
        <name>Example-2: Coherent Pluggables Manifest</name>
        <t>The example in <xref target="_figure-optical-pluggable-manifest-usage-2"/> demonstrates the usage of the "Coherent Pluggable Manifest" for entire lifecycle of photonic service from including service planning, viability, provisioning, collection of PM telemetry, collection of alarm notifications and optimization.</t>
        <t>Note that the packet over optical network in <xref target="_figure-optical-pluggable-manifest-usage-2"/> is not created yet. The ports port_a and port_b of packet device R1 and R2 are empty and can accept coherent pluggables. In addition, ports port_a and port_b are not connected to the optical network yet, i.e., there is no connection between packet devices R1, R2 and optical network. The port_a and port_b of packet device R1 and R2 can be potentially connected to any photonic nodes m1, m2 or m3.</t>
        <t>Operator's goal is to use the SDN controller to plan, provision and monitor an optimal IP link-2 between packet devices R1 and R2. Optionally they can also provision overlay TE-Tunnel-2 and L3 service-2. To achieve this, the SDN controller should first plan an optical service-2, perform the viability to make sure this photonic service is feasible, provision it and then map it to an IP link-2.</t>
        <figure anchor="_figure-optical-pluggable-manifest-usage-2">
          <name>Coherent Pluggable Manifest Usage 2</name>
          <artwork><![CDATA[
      <------------------ L3 service-2 ------------------->
       <------------------ TE-Tunnel-2 ------------------>
         <----------------- IP link-2 ----------------->
           <------------- L0 service-2 -------------> 
           
   |----------|        |------------------|
   | Coherent |        |                  |
   | Pluggable|  <-->  |  SDN Controller  |
   | Manifest |        |                  |
   |----------|        |------------------|
                                ^
                                |
                                v
                      |------------------|
         port_a       |                  |
     |------|       |------|             |
     |  R1 .........|  m1  |             |       port_b
     |------|  .    |------|          |------|     |------|
                .     |               |  m3  |....... R2  |
                 .  |------|          |------|     |------|
                  ..|  m2  |             |
                    |------|             |
                      |                  | 
                      |------------------|

  Legend:
    .....       Packet device can be potentially 
                connected to photonic nodes m1, m2, m3
    R1, R2:     Packet device (i.e., Router)
    m1, m2, m3  Photonic node (ROADM) 
    port_a      Router R1 port which is empty and can 
                potentially populated by coherent pluggables
    port_b      Router R2 port which is empty and can 
                potentially populated by coherent pluggables

]]></artwork>
        </figure>
        <t>Let's assume that the operator of this network has already purchased coherent pluggables from Vendor-X, which can support the following two operational-modes. Note that the detail information of these operational-modes including all optical and photonic attributes are already uploaded to "Coherent Pluggable Manifest" by Vendor-X and OIF.</t>
        <ul spacing="normal">
          <li>
            <t>[organization-id, operational-mode] = [OIF, 0x3E]</t>
          </li>
          <li>
            <t>[organization-id, operational-mode] = [Vendor-X, 0x22]</t>
          </li>
        </ul>
        <t>The following steps outline the details of how this network is planned, provisioned, discovered and managed by SDN controllers:</t>
        <ul spacing="normal">
          <li>
            <t>At first, there are no coherent pluggables installed in the packet devices yet. There are also no connection between packet devices and optical network.</t>
          </li>
          <li>
            <t>All packet devices (R1, R2) and photonic devices (m1, m2, m3) are managed by the SDN controller.</t>
          </li>
          <li>
            <t>As a result, the SDN controller maintains an inventory of packet and photonic devices within the network (i.e., nodes R1, R2, m1, m2, m3).</t>
          </li>
          <li>
            <t>To create the IP link-2, the SDN controller should plan and then provision the optical service-2 between port_a and port_b.</t>
          </li>
          <li>
            <t>To this end, the SDN controller should first design an optical service and then performs the viability check to make sure the optical service is viable in this network.</t>
          </li>
          <li>
            <t>So, the SDN controller calculates the best optical path from port_a to port_b.</t>
          </li>
          <li>
            <t>Next, the SDN controller performs the viability on optical route to make sure the optical path is viable in the network.</t>
          </li>
          <li>
            <t>To do viability, the SDN controller checks all attributes of all operational-modes to find the most optimal operational-mode. To do this, the SDN controller connects to the "Coherent Pluggable Manifest" and access all optical and photonic attributes of all operational-modes (such as chromatic dispersion, FEC, modulation, polarization mode dispersion etc.) and performs the viability.</t>
          </li>
          <li>
            <t>After performing the optical path calculation and optical viability, the SDN controller selects the best coherent pluggable to be installed on port_a and port_b and the best optical route from port_a to port_b.</t>
          </li>
          <li>
            <t>Upon completion of the photonic viability check, the SDN controller determines which photonic devices (m1, m2, m3) should be connected to ports port_a and port_b.</t>
          </li>
          <li>
            <t>The SDN controller informs the operator of the selected coherent pluggables for ports port_a and port_b and provides instructions on how to connect them to the respective photonic devices (m1, m2, m3).</t>
          </li>
          <li>
            <t>The operator installs the designated pluggables into ports port_a and port_b and connects them to the specified photonic devices.</t>
          </li>
          <li>
            <t>The SDN controller then manages the newly installed pluggables.</t>
          </li>
          <li>
            <t>As part of the photonic viability process, the SDN controller knows the specific attributes of the pluggables, including "configured operational mode," "configured central frequency," and "configured output power."</t>
          </li>
          <li>
            <t>As a result, the SDN controller configures these configurations to each pluggable on port_a and port_b</t>
          </li>
          <li>
            <t>The SDN controller should also configure optical nodes m1, m2, m3 with attributes such as output power.</t>
          </li>
          <li>
            <t>The SDN controller provisions the optical service_1 between two conheret pluggables on port_a and port_b.</t>
          </li>
          <li>
            <t>The SDN controller also provisions the IP link-2 between packet device R1 and R2.</t>
          </li>
          <li>
            <t>The SDN controller can collect all PM telemetry data from the network (including pluggables).</t>
          </li>
          <li>
            <t>The SDN controller can collect all alarm notifications from the network (including pluggables).</t>
          </li>
          <li>
            <t>The SDN controller can further change, modify, optimize the network (if needed).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</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="OIF-CMIS" target="https://www.oiforum.com/wp-content/uploads/OIF-CMIS-05.3.pdf">
          <front>
            <title>OIF Implementation Agreement (IA) Common Management Interface Specification (CMIS))</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
          <seriesInfo name="OIF CMIS IA" value=""/>
        </reference>
        <reference anchor="OIF-400ZR" target="https://www.oiforum.com/wp-content/uploads/OIF-400ZR-02.0.pdf">
          <front>
            <title>Implementation Agreement 400ZR</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="G.698.2" target="https://www.itu.int/rec/dologin_pub.asp?lang=e&amp;id=T-REC-G.698.2-201811-I!!PDF-E&amp;type=items">
          <front>
            <title>Amplified multichannel dense wavelength division multiplexing applications with single channel optical interfaces</title>
            <author>
              <organization/>
            </author>
            <date year="2018" month="November"/>
          </front>
        </reference>
        <reference anchor="SFF8024" target="https://members.snia.org/document/dl/26423">
          <front>
            <title>SFF Module Management Reference Code Tables</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="Impairment" target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-optical-impairment-topology-yang/">
          <front>
            <title>A YANG Data Model for Optical Impairment-aware Topology</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="March" day="04"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="ietf-impairment-yang" target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-optical-impairment-topology-yang/">
          <front>
            <title>A YANG Data Model for Optical Impairment-aware Topology</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="January" day="06"/>
          </front>
        </reference>
        <reference anchor="ietf-layer0-yang" target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-rfc9093-bis/">
          <front>
            <title>Common YANG Data Types for Layer 0 Networks</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="January" day="26"/>
          </front>
        </reference>
        <reference anchor="ietf-optical-interface-yang" target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-dwdm-if-param-yang/">
          <front>
            <title>A YANG model to manage the optical interface parameters for an external transponder in a WDM network</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="January" day="06"/>
          </front>
        </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>
      </references>
    </references>
    <?line 1330?>

<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="N." surname="Davis" fullname="Nigel Davis">
        <organization>Ciena</organization>
        <address>
          <email>ndavis@ciena.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Belotti" fullname="Sergio Belotti">
        <organization>Nokia</organization>
        <address>
          <email>sergio.belotti@nokia.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Beller" fullname="Dieter Beller">
        <organization>Nokia</organization>
        <address>
          <email>dieter.beller@nokia.com</email>
        </address>
      </contact>
      <contact initials="R." surname="Manzotti" fullname="Roberto Manzotti">
        <organization>Cisco</organization>
        <address>
          <email>rmanzott@cisco.com</email>
        </address>
      </contact>
      <contact initials="P." surname="Manna" fullname="Prasenjit Manna">
        <organization>Cisco</organization>
        <address>
          <email>prmanna@cisco.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Galimberti" fullname="Gabriele Galimberti">
        <organization>Individual</organization>
        <address>
          <email>ggalimbe56@gmail.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Venkatraman" fullname="Harish Venkatraman">
        <organization>Infinera</organization>
        <address>
          <email>hvenkatraman@infinera.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Mishra" fullname="Gyan Mishra">
        <organization>Verizon</organization>
        <address>
          <email>gyan.s.mishra@verizon.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Melin" fullname="Stefan Melin">
        <organization>Telia</organization>
        <address>
          <email>stefan.melin@teliacompany.com</email>
        </address>
      </contact>
      <contact initials="M." surname="Hossein Poor" fullname="Majid Hossein Poor">
        <organization>Telstra</organization>
        <address>
          <email>majid.hosseinpoor@team.telstra.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Demeter" fullname="Dacian Demeter">
        <organization>Telus</organization>
        <address>
          <email>dacian.demeter@telus.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2963rb2JUo+J9PgWa+L5EqJGXJrkpFJ1WJSrarNONbLFXq
VCc5/YEkKCEmAQYAJSu255t3mBeYZ5lHmSeZdd17bWCDomzndHq+o+64JBLY
l7XXXvfLeDweNHmzzI6T4eO0SZPn5TxbLvPiMkmLefJ9uk5OinR5W+d1Ui6S
l+smn6XL5NVyc3mZTpdZneRF8iqdvcma5OV1VrknXmTNTVm9GQ7S6bTKrmF4
P3J3lOFgljbZZVndHsOAi3IwmJezIl3BsuZVumjGVflmk49ns3S1Hqezphjf
zFfjtb4/XunY4weHg3ozXeV1nZdFc7uGEc6eXDxNkl8k6bIuYR15Mc/WGfxT
NMNRMszmeVNWebrEP85OvoP/lBX89vri6XBQbFbTrDoezGF1x4NZWdRZUW/q
46SpNtkAdvVwkFZZCqO+LjcNzD8c4K4vq3Kzhg9Py9WqLJJTWElVLgmiz7O0
3lTZCmaH/adFNhy8yW7hpfnxIBknRfa2SS6zIqvSBjaAH22KfFZW9Gu9Tqs3
BMJ5XjdVPt002TxZZvPLrBpcZ8UGFpkk95s9SRhKw59g4Tj09/g6fr5K8yV8
TkD/Q541i0lZXeIXaTW7gi+ummZdHx8c4HP4UX6dTfSxA/zgYFqVN3V2QCMc
4JuXeXO1meIhNOmynG7q/GDbaeIrSwB93Zjp3KsTHm2Sl1sHObgfBk2umtVy
OBikm+aqrBCeY/hfAmgJx/56krzGceiTxWa5ZBx9nf0jNV/A/tMi/wed4HFy
mmdFSp9nDNGKlvKHGX4+mZWrQTjHyST5flO2ZjjJrzap+zyc4OmmgTO9yfLk
IptdFeWyvMyz2s6Y4tuXm5KO5w+X+GFk4leT5Ltsnlbz1tyvrvKl/aa9vXpW
2snWV1N6FjYI30Tm+W6SnN+kq9siba7SojXZd53vwulelG/yAJq1f3wy/UOB
X0fm/B6AWqWrVbZszfd9VjXBV+F0/xvcvjVcLjPh5SU//Ye/8XeTImsGSBv4
QnZw5sUkeZxe53wgPOmL/DJbmk9hzgieFHN8oBdPzuC44Ba09nOGt8N/QSP/
sEm3YQddqAneqD9c0ZORyc4RN5Zl07TnO8+qy7wMvqQ5u+dED06m/GDvQT2m
iZYCcj/PY0BdYC/mu/g0c3oOp4HnemeBe/w8Lf4R2c/rEgh+U4Zfy/m0EL1a
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

-->

</rfc>
