<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rokui-ccamp-actn-wdm-pluggable-modelling-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-02"/>
    <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="2025" month="May" day="26"/>
    <area>Routing</area>
    <workgroup>Common Control and Measurement Plane</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 169?>

<t>This draft outlines the pluggable module attributes within a host device. It includes representations of optical pluggable module capabilities, configuration, states, and telemetry data. These attributes draws from existing IETF standards and incorporates input from other industry forums and standards, such as ITU-T, OpenConfig, OIF and ONF TAPI, to ensure uniform structuring and consistent naming conventions. Note that the IETF terminology shall be given precedence wherever possible. In case there is a duplication of an attribute, this draft may describe how the attribute is named in the related document. Only if no attribute exists in IETF RFCs or IETF WG drafts, new attributes shall be introduced if they are needed.</t>
      <t>This draft provides a gap analysis with respect to existing IETF work in the following areas:</t>
      <ul spacing="normal">
        <li>
          <t>It provides an analysis of optical attributes provided by other organizations and identifying modeling gaps in current IETF drafts.</t>
        </li>
        <li>
          <t>It identifies modeling needs addressing the specific aspect of pluggability of transceiver modules. The authors recognize the fact that that not all pluggable modules are coherent, not all coherent pluggable modules are DWDM capable and not all DWDM capable interfaces are implemented as pluggable modules. This analysis identifies gaps to manage the lifecycle of an optical pluggable module, from operator approval and viability assessment, to deployment, monitoring and phase-out.</t>
        </li>
      </ul>
      <t>The lifecycle of an optical pluggable module, from operator approval and viability assessment to deployment and monitoring, is also addressed.</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 180?>

<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 modules: short term for optical transceiver modules. Such module can be of fixed or pluggable module nature and provides the optical interface for communication.</t>
        </li>
        <li>
          <t>Pluggable modules: short term for pluggable optical transceiver module. Pluggable modules are a specific form of optical modules that are field replaceable. They pro</t>
        </li>
        <li>
          <t>Coherent module: short term for optical transceiver module providing coherent optical modulation capabilities.</t>
        </li>
        <li>
          <t>DWDM module: short term for coherent module supporting the use of a DWDM line system.</t>
        </li>
        <li>
          <t>Common Management Interface Specification (CMIS): The Common Management Interface Specification is an Implementation Agreement (IA) developed by the Optical Internet Forum (OIF) <xref target="CMIS"/>. This specification defines an interface for managing optical (and copper) modules in a standardized way while still permitting vendor-specific functionality. It eases the integration of modules supporting the CMIS interface into host platforms from different system vendors. It shall be noted that CMIS targets any module, not only coherent optical modules, which is the scope of this document. The CMIS interface is applicable to on-board module types (fixed optics) as well as pluggable modules types such as QSFP Double-Density (QSFP-DD), OSFP, COBO, QSFP and other module types.</t>
        </li>
        <li>
          <t>optical module media side:</t>
        </li>
        <li>
          <t>optical module host side:</t>
        </li>
        <li>
          <t>Monitored attributes: The optical module 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 Line Systems were fully integrated with DWDM Transponder modules in proprietary implementations while non-DWDM (aka. client) modules were integrated with their hosts. With the advent of open optical networking, also DWDM transponder modules are now hosted by sytems outside the Line System.</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. 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 optical module." Integrating coherent optical modules into switching and routing devices 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 pluggable modules. Communication between optical modules and the host occurs through the CMIS standard developed by OIF <xref target="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 provides a gap analysis of optical pluggable modules in the context of a packet over optical network. The model presented in this document analyzes three key functional blocks:</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.</t>
        </li>
        <li>
          <t>Host/Electrical attributes: These attributes defines the characteristics of interconnect between the host and the optical pluggable module, such as lane count, FEC etc., which both the optical pluggable module and the packet host must understand and act upon.</t>
        </li>
        <li>
          <t>Physical and functional aspects of the pluggable module (i.e., equipment): This defines attributes of the optical pluggable module itself, such as plug type, version, thermal characteristics, power consumption etc.</t>
        </li>
      </ul>
      <t>For each of these functional blocks, the model shall provide the necessary attributes in following areas:</t>
      <ul spacing="normal">
        <li>
          <t>Capabilities: These attributes are read-only and defines the functional capabilities of the optical module. They are defined in a profile called "operational-mode" and contains attributes such as modulation, bit-rate, baud-rate, chromatic-dispersion, polarization, FEC etc. An optical module might support one or multiple operational-modes.</t>
        </li>
        <li>
          <t>Configurations: Since an optical module can support multiple operational-modes, these read-write attributes configure the module 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 modules and represents various states and PM data of the optical modules 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 optical modules report current, average, min and max values. It is also possible to apply thresholds on each of these attributes to support threshold crossing alert (TCA).</t>
        </li>
      </ul>
      <t>Both vendor-agnostic and vendor-specific attributes are important considerations in the modeling of optical pluggable modules.</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 module in a Device with Packet Functions</t>
        </li>
        <li>
          <t><xref target="building-blocks"/>: Optical Module Functional Building Block</t>
        </li>
        <li>
          <t><xref target="data-model"/>: Optical Modules Data Modeling</t>
        </li>
        <li>
          <t><xref target="yang-model"/>: Addressing Optical Modules Attributes From Google Sheet</t>
        </li>
        <li>
          <t><xref target="gap-analysis"/>: Optical Module Data Modeling Gap Analysis</t>
        </li>
        <li>
          <t><xref target="plug-lcm"/>: Optical Pluggables Lifecycle Management</t>
        </li>
      </ul>
    </section>
    <section anchor="optical-pluggable-in-device-packet-function">
      <name>Optical pluggable module 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 pluggable modules from vendor X and Y. This figure exposes the following internal and external interfaces:</t>
      <t>A. This interface provides the control of the host and all it's components. Note that the YANG data model addressing pluggable modules will be provided at interface (A), i.e., the management interface of the device. In general the HOST can be any devices (packet, OTN etc.) But in specific this draft addresses this when the Host is a packet device.</t>
      <t>B. The CMIS <xref target="CMIS"/> defines the communication interface between host devices and optical modules.</t>
      <t>C. The data flow between the optical pluggable module and the packet data function through this interface. This is electrical interface between optical pluggable module and the host. <xref target="building-blocks"/> will discuss this in more details.</t>
      <t>D. Optical fiber connecting the optical devices to optical pluggable modules. This carries the flow of photonic signal from the optical device to the optical pluggable modules. <xref target="building-blocks"/> will discuss this in more details.</t>
      <t>The model presented in <xref target="data-model"/> consolidates properties of optical pluggable module on interfaces (D) and (C) in <xref target="_figure-details-packet-optical-device"/> 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 pluggable modules</name>
        <artwork><![CDATA[
                  |---------------|
                  |   P-PNC(s),   |
                  |   O-PNC(s),   |
                  |   MDSC        |
                  |---------------|
                          ^
                          |  (A)
      +-------------------|-------------------+
      |            |---------------|          |
      |            |Host Management|          |
      |            |---------------|          |
      |                   |                   |  Packet Device
      |                   V                   |  Vendor X
      |        |---------------------|        |  (i.e, Host)
      |        v                     v        |
      |  |-----------|          |----------|  |
      |  | Packet    |          | optical  |  |
      |  | Function  |..........| Plug     |  |
      |  | Data      |          | Data     |  |
      |  |-----------|          |----------|  |
      |        .                      .       |
      |        .                      . (B)   |
      |        .                      .       |
      |  |--------------|   (C)   |------------------|  (D)
      |  |Packet Device |<------->| optical Plug #1  |=======
      |  |Function      |<---|    | Vendor X         |
      |  |--------------|    |    |------------------|
      |                      |                |
      |                      |    |------------------|
      |                      |--->| optical Plug #2  |=======
      |                           | Vendor Y         |
      |                           |------------------|
      |                                       |
      +---------------------------------------+

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

]]></artwork>
      </figure>
    </section>
    <section anchor="building-blocks">
      <name>Optical Module Functional Building Blocks</name>
      <t>The functional building blocks of the optical modules 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 optical modules (interface (D) 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 identify optical module capabilities, configuration, states, and telemetry data attributes from existing IETF standards and incorporates input from other industry forums and standards, such as ITU-T, OpenConfig, OIF and ONF TAPI and then perform the gap analysis to compare optical module attributes with current IETF drafts, identifying any modeling gaps. Eventually based on the identified gaps, the draft proposes solutions to address missing attributes, such as augmenting or updating existing IETF YANG models. Note that IETF terminology are given precedence wherever possible. In case there is a duplication of an attribute, this draft may describe how the attribute is named in the related document. Only if no attribute exists in IETF RFCs or IETF WG drafts, new attributes shall be introduced if they are needed.</t>
        </li>
        <li>
          <t>Host side: This functional block represents all Host/Electrical attributes of the coherent pluggables (interface (C) 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. Note that the mapping between host and media might be one to many, i.e., a host logical channel might map to one or more media logical channel.</t>
        </li>
        <li>
          <t>Equipment attributes: These attributes represent all physical and functional aspects of the optical pluggable module such as plug type, software version, thermal characteristics, power consumption etc.</t>
        </li>
      </ul>
      <figure anchor="_figure-optical-pluggable-building-blocks">
        <name>Optical pluggable module Building Blocks</name>
        <artwork><![CDATA[
  optical Pluggable Module
 |--------------------------------------------------------------|
 |                                                              |
 |  |--------------------------------------------------------|  |
 |  |                        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 optical pluggable module functional blocks in more details.</t>
      <section anchor="optical-channelotsi">
        <name>Optical Channel/OTSi</name>
        <t>The media side of the optical module is further divided into two functional blocks; Optical Channel/OTSi and Media Logical Channels. The characteristics of the Optical channel/OTSi are (See section 2.3.1 of <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/> and also section 3.2.4 <xref target="G.959.1"/>).</t>
        <ul spacing="normal">
          <li>
            <t>This is the module 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 optical aspects of the signal modulated onto 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, optical 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+ <xref target="OIF-400ZR"/>, 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 optical module 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 optical module. 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 pluggable module 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, optical 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 modules Data Modeling</name>
      <t>[Editor's notes: As part of Gap analysis, YANG reference/YANG code might be added to the data modeling section/subsections and that the current content shall be considered as placeholder for the model.]</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"/>: optical module capability attributes (i.e., supported-modes)</t>
        </li>
        <li>
          <t><xref target="plug-config-attribute"/>: optical module configuration attributes</t>
        </li>
        <li>
          <t><xref target="plug-pm-definition"/>: optical module performance monitoring data (including State data)</t>
        </li>
        <li>
          <t><xref target="plug-threshold-definition"/>: optical module threshold definition</t>
        </li>
        <li>
          <t><xref target="plug-alarm-definition"/>: optical module alarm notifications</t>
        </li>
        <li>
          <t><xref target="plug-vendor-specific-attributes"/>: Support of Opaque Attributes</t>
        </li>
      </ul>
      <section anchor="plug-capabilities-attributes">
        <name>optical module Capability Attributes (aka, Supported-Modes)</name>
        <t>Coherent optical modules 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 data modeling perspective, a set of attributes is grouped together and represented by a single identifier known as the "Operational Mode." In essence, each operational mode encapsulates a combination of properties, limitations and capabilities, such as modulation type, bit rate, baud rate, chromatic dispersion, polarization, FEC, and more. Some of these attributes limit value ranges (e.g., minimum and maximum). A optical module can support multiple operational modes, each of which can be defined by one of the following methods.</t>
        <t>Note that this current draft adheres to the definitions provided in draft <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>. See Section 2.6 of draft <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/> for:</t>
        <ul spacing="normal">
          <li>
            <t>Standard Mode: This mode pertains to optical specifications developed by standards development organizations (SDOs), such as the ITU-T recommendation <xref target="G.698.2"/>.</t>
          </li>
          <li>
            <t>Organizational Mode: In this mode, optical interface specifications are defined by operators, industry forums (e.g., Optical Internetworking Forum (OIF) or OpenConfig), or equipment vendors. This allows for the utilization of optical module capabilities that extend beyond existing standards.</t>
          </li>
          <li>
            <t>Explicit Mode: This mode enables the explicit encoding of any subset of parameters (e.g., FEC type, modulation type) to facilitate interoperability checks by a controller entity through means not covered within this draft.</t>
          </li>
        </ul>
        <t>For more detailed information, please refer to draft <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>.</t>
      </section>
      <section anchor="plug-config-attribute">
        <name>optical module Configurations Attributes</name>
        <t>Referring to <xref target="_figure-plug-config"/>, optical modules 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 optical modules 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">
          <name>Data structure for optical module Configuration 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                                    |
 |-----------------------------------------------------------------|

]]></artwork>
        </figure>
      </section>
      <section anchor="plug-pm-definition">
        <name>optical optical module Performance Monitoring Data</name>
        <t><xref target="_figure-plug-pm"/> shows the list of optical module 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 optical modules, 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>
        <figure anchor="_figure-plug-pm">
          <name>Data structure for optical module PM Attributes</name>
          <artwork><![CDATA[
 |-----------------------------------------------------------------|
 |  optical-channel  // OTSi channels                              |
 |      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 SCTG profile can be assigned |
 |           monitored-attribute-1                                 |
 |           monitored-attribute-2                                 |
 |           .....                                                 |
 |           monitored-attribute-p                                 |
 |-----------------------------------------------------------------|

]]></artwork>
        </figure>
        <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 optical modules.</t>
        <t>Performance Monitoring (PM) data is generated for various "monitored attributes" by optical modules, 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 optical module, a "windowing mechanism" is essential. Currently, this mechanism is implemented by the host platform, not the module itself. For instance, the host platform utilizes the windowing mechanism to segment the PM data collected by the optical module. 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 module'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 optical modules support for threshold crossing alerts (TCA) for all or a subset of monitored attributes.</t>
      </section>
      <section anchor="plug-threshold-definition">
        <name>optical module Threshold Definition</name>
        <t>As indicated in <xref target="plug-pm-definition"/>, optical modules are capable of providing the threshold crossing alert (TCA) for all or subset of "monitored attributes". In this situation, the optical module raises an alert which informs the host about operationally undesired situations or about critical threshold crossings of monitored attributes. The optical module raises an alert by setting an associated Flag on module memory-map that represents the alert.</t>
        <t>As mentioned previously, the TCA might be supported for a subset of optical module monitored attributes. Since it is possible that the optical module has different capabilities to raise threshold for different monitored attributes, to provide a general solution for threshold definition on optical module monitored attributes, this draft introduces the concept of "Supported Collection and Threshold Group (SCTG)" 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).</t>
        <t>In summary, as outlined in <xref target="plug-pm-definition"/> and <xref target="plug-threshold-definition"/>, each optical module PM/State attribute can have multiple Performance Monitoring (PM) values, such as current, average, minimum, and maximum, as well as multiple threshold levels, including warning, minor, major, and critical. To streamline this representation in a Google Sheet, each optical module PM/State attribute will be associated with a corresponding SCTG-Type reference.</t>
        <t>For example, consider the optical module PM attribute "channel-input-power." Tthe optical module collects PM values for current, average, minimum, and maximum, while also supporting the configuration of threshold values for warning, minor, major, and critical levels. As illustrated in <xref target="_figure-plug-threshold-definition"/>, the PM attribute "channel-input-power" is linked to "SCTG-Type-1" to simplify its representation in Google Sheet.</t>
        <figure anchor="_figure-plug-threshold-definition">
          <name>optical module Collection and Threshold Group Definition</name>
          <artwork><![CDATA[
         Supported-Collection-and-Threshold-Group (SCTG)
 |----------------------------------------------------------------|
 |   SCTG-Type-1:                                                 |
 |     Collection: current, average, min, max                     |
 |     Configured Threshold: warning, minor, major, critical      |
 |                                                                |
 |   SCTG-Type-2:                                                 |
 |     Collection: current                                        |
 |     Configured Threshold: warning, minor, major, critical      |
 |                                                                |
 |   SCTG-Type-3:                                                 |
 |     Collection: current, average, min, max                     |
 |   ...                                                          |
 |   SCTG-Type-n:                                                 |
 |----------------------------------------------------------------|
    // Note:
    // These are just a few examples. More SCTG can be defined
]]></artwork>
        </figure>
        <t>To define the warning, minor, major, critical threshold values for a optical module 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>
      </section>
      <section anchor="plug-alarm-definition">
        <name>optical module Alarm Notifications</name>
        <t>[Editor's note: To be added in a later release.]</t>
        <t>The optical modules might generate various alarm notifications due to the various reasons.</t>
      </section>
    </section>
    <section anchor="yang-model">
      <name>Addressing optical modules Attributes From Google Sheet</name>
      <t>[Editorial Note: This section in under review. It depends on the Gap Analysis as well]</t>
      <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 optical module 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 optical module Google Sheet
(Q: how can we incorporate the Google Sheet?).</t>
      <t>Based on outcome of Gap analysis, we need to address the module attributes using approaches such as:</t>
      <ul spacing="normal">
        <li>
          <t>Augmentation of existing IETF YANG data model (e.g. augmentation of draft <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>)</t>
        </li>
        <li>
          <t>Extend the content of an existing IETF YANG model via "bis/update"</t>
        </li>
      </ul>
      <t>The detail of this provided after gap analysis on optical module attributes on Google Sheet.</t>
    </section>
    <section anchor="gap-analysis">
      <name>Optical Module Data Modeling Gap Analysis</name>
      <t>[Editorial Note: This section in under review. Will start after finishing the Google Sheet]</t>
      <t>This draft on "coherent optical module data model and gap analysis" was initiated to examine existing IETF models related to modules for "completeness" to assess existing IETF properties/structures which are relevant to coherent optical modules 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 modules. 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 initial gap related to optical modules. Note that the complete list will be provided after finishing the Google Sheet.</t>
      <ul spacing="normal">
        <li>
          <t>Syntax gaps: Naming inconsistency on existing IETF drafts <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>, <xref target="I-D.ietf-ccamp-rfc9093-bis"/> and <xref target="I-D.ietf-ccamp-dwdm-if-param-yang"/> if any.</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 "Min (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: As part of gap analysis and for a complete solution for optical module, there should be some alignment between the capabilities, configuration, PM attributes and PM thresholds supported by IETF optical module and OIF supported by <xref target="CMIS"/>. This needs further investigation.</t>
        </li>
        <li>
          <t>[Editor's note: More to be added after Gap Analysis.]</t>
        </li>
      </ul>
    </section>
    <section anchor="plug-lcm">
      <name>Optical pluggable modules Lifecycle Management</name>
      <t>[Editorial Note: it is under review.
It was agreed that this section is important. Having said that, there are a few potential solution to address this topic:</t>
      <ul spacing="normal">
        <li>
          <t>Keep it is this draft</t>
        </li>
        <li>
          <t>Talk to author of use-case draft to be included in that draft https://datatracker.ietf.org/doc/draft-ietf-ccamp-actn-poi-pluggable-usecases-gaps/</t>
        </li>
        <li>
          <t>Move it to other IETF draft]</t>
        </li>
      </ul>
      <t>This section discusses the complete lifecycle of an optical pluggable module as shown in <xref target="_figure-overview-lifecycle-pluggable"/>. It includes discussion on the pre-purchase evaluation of pluggable modules through installation to the operation of a pluggable module in a live network.</t>
      <t>Most of this lifecycle discussion applies to a majority of equipment types. Where the pluggable module 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 module 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 optical pluggable module</name>
        <artwork><![CDATA[
  Market research                   \
       |                            |
       v                            |
  Testing of pluggable module samples      | Refer to
       |                            | Section 9.1
       v                            |
  Trials & PoCs                     |
       |                            |
       v                            |
  Approve pluggable module type     /
       |                   ---------
       v                            \
  Service demand Analysis           |
       |                            |
       v                            | Refer to
  Network planning                  | Section 9.2
       |                            |
       v                            |
  Service type realization analysis |
       |                            |
       v                            |
  Purchase pluggable modules        /
       |                   ---------
       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 pluggable modules 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 module type and version</name>
        <t>pluggable modules, like all equipment, are carefully chosen. A network operations company (the operator) will decide what pluggable modules to use in the network based upon research and an understanding of capabilities of the pluggable modules 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 pluggable modules 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 module of interest and probably test and then trial them. They will also probably carry out "type approval" considering each type&amp;version of pluggable module 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 module is relevant at all of these stages (see <xref target="express-capabilities"/>). The capabilities are expected to be expressed in a Repository.</t>
        <t>[Editorial Note: As the main goal of this draft is to identify, we might want to move a portion of this section to an annex or separate draft].</t>
      </section>
      <section anchor="planning-network">
        <name>Planning the network</name>
        <t>Specific pluggable modules (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 module will be required. The planning process will account for key pluggable module 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>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 module type&amp;version required will be known and purchasing can be initiated. The purchased pluggable modules 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 module type&amp;version.</t>
        <t>Prior to progressing further it is important to note that pluggable modules are highly valuable, and correspondingly expensive. They are deployed in a controlled fashion. There are a range of policies for deployment of pluggable modules.</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 pluggable modules and may cable them to adjacent ROADMS. However, it is more likely that pluggable module deployment will be on a just-in-time basis, at the other end of the range of policy choices, so a pluggable module 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 deployment approach, the module capability will be accounted for in the optical network analysis activity. Where modules are present, the range of installed modules constrain the possible realizations, where pluggable module modules have not been deployed all approved pluggable module modules (type&amp;version) could be considered during the analysis, although capability of the relevant packet devices to support specific pluggable module modules will also need to be considered, and this may eliminate some pluggable module modules. In addition, if there is some urgency, the availability of the type of pluggable modules 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 module type&amp;versions of interest, where each is defined in a corresponding and referenced Repository.</t>
      </section>
      <section anchor="install-operate">
        <name>Installing and operationalizing the pluggable module</name>
        <t>Once the design is available, any necessary physical installation exercise (pluggable module installation, cabling etc.) is carried out, driven by "Work orders" that identify the type&amp;version of pluggable module to instal etc.</t>
        <t>On detection of the pluggable module 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 module 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 module type&amp;version is evaluated for compatibility with the specific design. This evaluation is done using the Repository 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 module has been confirmed, the cabling to the pluggable module 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 module. Some degree of understanding of capability of pluggable modules (and any other equipment) is relevant.</t>
      </section>
      <section anchor="express-capabilities">
        <name>Expressing capabilities</name>
        <t>As highlighted above, prior to installation of an optical pluggable module in a device, 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 module.</t>
        <t>Detailed information on the capability of the pluggable module is required long before it is installed and operating. This points to the need for a model of capability (of a type of pluggable module) 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 module). This also suggest that discovery of capability detail from the pluggable module 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 module should be available (independent of the pluggable module instance) for each pluggable module 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 module). 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 module 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 module (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 standardized 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="appendix-a-coherent-pluggable-module-examples">
      <name>Appendix A - Coherent pluggable module Examples</name>
      <t>Within this section, we present a few use-cases showcasing the practical application of the coherent pluggable repository.
In this section, we present several use cases that demonstrate the practical application of coherent pluggable life cycle management.</t>
      <section anchor="example-1-coherent-pluggables-already-provisioned">
        <name>Example-1: Coherent Pluggables Already Provisioned</name>
        <t>The first example is illustrated in <xref target="_figure-optical-pluggable-repository-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-repository-usage-1">
          <name>Coherent Pluggable Repository Example-1</name>
          <artwork><![CDATA[
      <------------------ L3 service-1 ------------------->
       <------------------ TE-Tunnel-1 ------------------>
         <----------------- IP link-1 ----------------->
           <------------- L0 service-1 ------------->

   |------------|        |------------------|
   | Coherent   |        |                  |
   | Pluggable  |  <-->  |  SDN Controller  |
   | Repository |        |                  |
   |------------|        |------------------|
                                ^
                                |
                                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 (see section 3 YANG Model of <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>):</t>
        <ul spacing="normal">
          <li>
            <t>[organization-identifier, 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 service-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 Repository," 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-planning">
        <name>Example-2: Coherent Pluggables Planning</name>
        <t>The example in <xref target="_figure-optical-pluggable-repository-usage-2"/> demonstrates the usage of the "Coherent Pluggable Repository" 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-repository-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-repository-usage-2">
          <name>Coherent Pluggable Repository Usage 2</name>
          <artwork><![CDATA[
      <------------------ L3 service-2 ------------------->
       <------------------ TE-Tunnel-2 ------------------>
         <----------------- IP link-2 ----------------->
           <------------- L0 service-2 ------------->

   |------------|        |------------------|
   | Coherent   |        |                  |
   | Pluggable  |  <-->  |  SDN Controller  |
   | Repository |        |                  |
   |------------|        |------------------|
                                ^
                                |
                                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 Repository" by Vendor-X and OIF (see section 3 YANG Model of <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>):</t>
        <ul spacing="normal">
          <li>
            <t>[organization-identifier, operational-mode] = [OIF, 0x3E]</t>
          </li>
          <li>
            <t>[organization-identifier, 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 Repository" 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 coherent 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="plug-vendor-specific-attributes">
      <name>Appendix B - Support of Opaque Attributes</name>
      <t>[Editorial Note: This section in under review. The GihHub issue #14 addresses this].</t>
      <t>In certain cases, a coherent pluggable may support attributes that are specific to a particular vendor. This draft refers to such attributes as "Opaque Attributes". Given that coherent pluggables encompass capability, configuration, and performance monitoring (PM)/state attributes, each category may contain opaque attributes. Consequently, the opaque attributes could include the following:</t>
      <ul spacing="normal">
        <li>
          <t>Read-only opaque capability attributes</t>
        </li>
        <li>
          <t>Read-write opaque configuration attributes</t>
        </li>
        <li>
          <t>Read-only opaque PM/state attributes</t>
        </li>
      </ul>
      <t>As part of coherent pluggable work, we need to address this situation where a coherent pluggable contains some proprietary capability, configuration and PM/states attributes which are needed to be configured or accessed from coherent pluggables. In this situation we need to address how opaque attributes are treated by packet device host. This allows different coherent pluggables to be used in various multi-vendor hosts in plug-and-play fashion.</t>
      <t>It is important to note that "opaque attributes" are not simply attributes that can be addressed through augmentation of the YANG data model. The reason for this is that the coherent pluggable is exposed to external systems via the host packet device northbound interface as shown in <xref target="_figure-details-packet-optical-device"/>. If the host packet device does not recognize any of these "opaque attributes". it may prevent the discovery of the coherent pluggable.</t>
      <t>When such opaque attributes exist, although the host packet device may not comprehend the semantics of these opaque attributes, it should function as a proxy and mediator between the coherent pluggable and the northbound SDN controller. Specifically, the host packet device should understand the syntax of the opaque attributes and facilitate communication between the coherent pluggable and the northbound SDN controller. To achieve plug-and-play functionality in a multi-vendor environment, the host packet device should be capable of supporting these opaque attributes. The rest of this section will provide details on how to achieve this.</t>
      <t>Another consideration is the privacy of opaque attributes, i.e., there are situations where these attributes may be commercially sensitive. In these cases, it would be reasonable to assume that the opaque attributes are in encrypted format allowing them to be passed from coherent pluggable to northbound of the host without being observed or interpreted in any way by host.</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>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="support-of-opaque-capability-attributes">
        <name>Support of Opaque 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 Opaque Capability Attributes</name>
          <artwork><![CDATA[
 +--ro opaque-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

<opaque-capability-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>
</opaque-capability-attribute-list>
]]></artwork>
        </figure>
      </section>
      <section anchor="support-of-opaque-secret-capability-attributes">
        <name>Support of Opaque Secret Capability Attributes</name>
        <t>to be added</t>
      </section>
      <section anchor="opaque-config-solution-1">
        <name>Support of Opaque Configuration Attributes (Solution-1)</name>
        <t>To support the opaque configuration attributes, there are a few potential solutions which are discussed below. 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 Repository. 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 opaque config attributes</name>
          <artwork><![CDATA[
 +--rw opaque-config-attribute-list* [conf-attribute-id]
     +--rw conf-attribute-id             uint32
     +--rw conf-attribute-name           string
     +--rw value                         decimal64
     +--rw memory-map                    decimal64

<opaque-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>
</opaque-config-attribute-list>
]]></artwork>
        </figure>
      </section>
      <section anchor="support-of-opaque-configuration-attributes-solution-2">
        <name>Support of Opaque 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 Repository. In this scenario, the host platform must search the pluggable Repository 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 Repository 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 Repository 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 opaque config attributes</name>
          <artwork><![CDATA[
 +--rw opaque-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 Repository.

<opaque-config-attribute-list xmlns="urn:example:cc">
  <config-attribute-id> 1 </config-attribute-id >
  <config-attribute-name> AA </config-attribute-name>
  <value> 1100 </value>
</opaque-config-attribute-list>

]]></artwork>
        </figure>
      </section>
      <section anchor="support-of-opaque-configuration-attributes-solution-3">
        <name>Support of Opaque Configuration Attributes (Solution-3)</name>
        <t>This solution represents an advanced approach when a new opaque 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 Repository. For each new opaque attribute, the host platform is required to perform a lookup in the pluggable Repository 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="support-of-opaque-secret-configuration-attributes">
        <name>Support of Opaque Secret Configuration Attributes</name>
        <t>There are situations where opaque 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="opaque-config-solution-1"/>.</t>
        <t>As an example, let's assume a vendor defines secret attribute "DD" for its coherent pluggable. 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 opaque secret configuration attributes</name>
          <artwork><![CDATA[
 +--rw opaque-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 Opaque Performance Monitoring Data</name>
        <t>The host packet device 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 anchor="appendix-c-coherent-pluggable-repository">
      <name>Appendix C - Coherent Pluggable Repository</name>
      <t>[Editor's note: Formerly Manifest. GitHub issue #15 covers this].</t>
      <t>[Editor's note: Based on CCAMP WG's suggestion, this section is moved to Appendix for now. It might be moved from this draft to an existing IETF draft or to a new draft. We need to align with draft https://datatracker.ietf.org/doc/draft-ietf-ccamp-actn-poi-pluggable-usecases-gaps/ as well]</t>
      <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 Repository" The term 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 Coherent Pluggable Repository 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 repository describing its capabilities and it 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 this information 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 Coherent Pluggable Repository. 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 Repository". To provide more security, the access to the pluggable Repository 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 Repository 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 Repository (considering that some portions of the Repository 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 Repository". The Repository 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 Repository contains multiple records which are uniquely identified by tuple [organization-identifier, operational-mode].</t>
      <t>The Coherent Pluggable Repository 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-repository"/> illustrates the overall structure of the "Coherent Pluggable Repository". It contains several operational-mode records where each record includes all the capability attributes for tuple [organization-identifier, operational-mode]. As discussed in <xref target="plug-capabilities-attributes"/>, "organization-identifier" refers to any authority that defines these attributes.</t>
      <t>Each record in the coherent pluggable Repository is machine readable/interpretable and is uniquely identified by a tuple [organization-identifier, operational-mode].</t>
      <t>Using "Coherent Pluggable Repository", 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-repository">
        <name>Coherent Pluggable Repository</name>
        <artwork><![CDATA[
   A record identified by
   tuple [organization-identifier, operational-mode]

  |--------------------------------------------------------|
  |                                                        |-|
  |  organization-identifier                               | |-|
  |  operational-mode                                      | | |
  |  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 Repository
   - Contains one or more operational-mode records
   - Each record for tuple [organization-identifier,operational-mode]
   - It is machine-readable/interpretable

]]></artwork>
      </figure>
      <t>Below are several examples that demonstrate the concept of the "Coherent Pluggable Repository." <xref target="_figure-optical-pluggable-repository-example_1"/> illustrates the content of a Repository 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-repository-example_1">
        <name>Coherent Pluggable repository Defined by OIF</name>
        <artwork><![CDATA[
organization-identifier:  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-repository-example_2"/> is anther repository 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-repository-example_2">
        <name>Coherent Pluggable repository Example-2</name>
        <artwork><![CDATA[
organization-identifier: 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-repository-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-repository-example_2"/> and <xref target="_figure-optical-pluggable-repository-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 Repository is uniquely identified by tuple [organization-identifier, operational-mode].</t>
      <figure anchor="_figure-optical-pluggable-repository-example_3">
        <name>Coherent Pluggable repository Example-3</name>
        <artwork><![CDATA[
organization-identifier: 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="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="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>OIF Forum</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>OIF Forum</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>ITU-T Recommendation G.698.2</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>SNIA SFF Technology Affiliate (TA) Technical Work Group (TWG), Small Form Factor Technology Affiliate</organization>
            </author>
            <date year="2023" month="November"/>
          </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="G.959.1" target="ITU-T Recommendation G.959.1">
          <front>
            <title>Optical transport network physical layer interfaces</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="February"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-ccamp-optical-impairment-topology-yang">
          <front>
            <title>A YANG Data Model for Optical Impairment-aware Topology</title>
            <author fullname="Dieter Beller" initials="D." surname="Beller">
              <organization>Nokia</organization>
            </author>
            <author fullname="Esther Le Rouzic" initials="E." surname="Le Rouzic">
              <organization>Orange</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>Individual</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="11" month="April" year="2025"/>
            <abstract>
              <t>   In order to provision an optical connection through optical networks,
   a combination of path continuity, resource availability, and
   impairment constraints must be met to determine viable and optimal
   paths through the network.  The determination of appropriate paths is
   known as Impairment-Aware Routing and Wavelength Assignment (IA-RWA)
   for WSON, while it is known as Impairment-Aware Routing and Spectrum
   Assignment (IA-RSA) for SSON.

   This document provides a YANG data model for the impairment-aware TE
   topology in optical networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-optical-impairment-topology-yang-18"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-rfc9093-bis">
          <front>
            <title>Common YANG Data Types for Layer 0 Networks</title>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Dieter Beller" initials="D." surname="Beller">
              <organization>Nokia</organization>
            </author>
            <author fullname="Esther Le Rouzic" initials="E." surname="Le Rouzic">
              <organization>Orange</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <date day="17" month="March" year="2025"/>
            <abstract>
              <t>   This document defines a collection of common data types, identities,
   and groupings in the YANG data modeling language.  These common types
   and groupings, derived from the built-in YANG data types, identities,
   and groupings are intended to be imported by modules that model Layer
   0 configuration and state capabilities, such as Wavelength Switched
   Optical Networks (WSONs) and flexi-grid Dense Wavelength Division
   Multiplexing (DWDM) networks.

   This document obsoletes RFC 9093 by replacing the YANG module it
   contained with a new revision that includes additional YANG data
   types, identities and groupings.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-rfc9093-bis-13"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-dwdm-if-param-yang">
          <front>
            <title>A YANG data model to manage configurable DWDM optical interfaces</title>
            <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>C</organization>
            </author>
            <author fullname="Dharini Hiremagalur" initials="D." surname="Hiremagalur">
              <organization>Juniper</organization>
            </author>
            <author fullname="Gert Grammel" initials="G." surname="Grammel">
              <organization>Juniper</organization>
            </author>
            <author fullname="Roberto Manzotti" initials="R." surname="Manzotti">
              <organization>Cisco</organization>
            </author>
            <author fullname="Dirk Breuer" initials="D." surname="Breuer">
              <organization>DEUTSCHE TELEKOM AG</organization>
            </author>
            <date day="12" month="February" year="2025"/>
            <abstract>
              <t>   This memo defines a Yang model related to the Optical Transceiver
   parameters characterising coherent 100G and above interfaces.  100G
   and above Transceivers support coherent modulation, multiple
   modulation formats, multiple FEC codes including some not yet
   specified (or in phase of specification by) [ITU-T_G.698.2] or any
   other ITU-T recommendation.  Use cases are described in [RFC7698].

   The Yang model defined in this memo can be used for Optical
   Parameters monitoring and/or configuration of DWDM interfaces.  The
   use of this model does not guarantee interworking of DWDM
   transceivers.  Optical path feasibility and interoperability has to
   be determined by tools and algorithms outside the scope of this
   document.  The purpose of this model is to program interface
   parameters to consistently configure the mode of operation of
   transceivers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-dwdm-if-param-yang-12"/>
        </reference>
      </references>
    </references>
    <?line 1224?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
      <t>module</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:
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
WsKOuGAiF4RK7ZLzUCyjqGJab+RaU4kytp4wskii1XZ9DK2yIuVKnHBwGd0m
HG2UCA3JrvMhJnhbUILx6oi/EiIDpqtQ5pMUrW5JimCFYgg0yX6OyquegFFU
q1UhVTOdTIcDem6JhX5YTnA4J/fqQWz1mIMusHqBlJ7NjHxdhMz22pMcHXRR
LCo2cLIjezT0oTEooJjX5EqLBVZSjVxpNKBQ4VOajjLOBEBx+ewJV7J6q94G
7YooD7MqqG/iqMy9pcnCzNcVwhol12svvknqHhxkXmr6Becm2K3K05yX4ynf
mLvTsAWPBkBCVKL6UHBwnAww8fFtvsTZRKmAF5ZQH8NcIG4oYcaVMa31w3iy
tOiEskcyAHBxbuQMlQbKrpdUJRXb96JdBNmms5l4P4unMOPkpKDIJz0vTUpk
oYRb9zQcfZy5IjganJjRClMpvqmgZN6zCP1kJk6ONBOcQ6Pq4NxWjbIs2J6p
/Sr2HYoo04A1smot2Ec1s592/FX2gDm6V83yZDPPlm1BUNtguOBZityTEDrN
JqC0AKrhRELQ2jVScl1oyAtExs5sGV+VIoah2Zi1JvpkKyrRpE/O12QDCUg+
0bbpmiwzpLl5aU3FUCx0KbnX1DixcUm6XNMQqeua64L6M3JxYDZ3AtkCAmkT
ZJa5uvCq6iPfd94JPxBtXeL9ueB2aDh3Yc2A0tWsZVhoE8KoPU86HmG14CzT
pN64E3MTl0r3GbM2qtfpvT6wHhgRo6KeFmo6yV/kZbuv9XEQycpoNPTkL2/F
VmwLLiaE0G6JPt9S40fVlTb0BkGurUlimqEtC0z2DskCAIEOC1isa8FBzZM3
rv4vtoSyLigzoJig2b9ojS1VN9S/T2pBg36k3UxniM12sUfMuVQj+jqbI8qL
scaplUbWdbI8kWSnoJA2xd7FhbaRNQvYp1CGPjXnQARQKotGnFPMLqJW83Cp
CT1mMdKaAfxyZsCh1svCUJLYinwdZ9v1Ngj4joHswPVMouI4NzcZeeAxHN/e
ejOR+DXdfH22DU8kJ9ZU27JF7TvRKV+p4LBuMChCc8ev1SNwQIUjF2jWLKX9
EVw4FsC8jjUJmlH12/p8goqPXdiPHFevzH/g3RfbBdp7F/RO5E9NcMEz+y7P
ILQzsPfFNDsjEhfyH6k96etFbELzwv6aCrUf9AJJnMSxFdCRaAV4VwbcPjH0
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
f2shQxyObgEA

-->

</rfc>
