--- 1/draft-ietf-ccamp-optical-impairment-topology-yang-04.txt 2020-11-02 13:14:00.852441033 -0800 +++ 2/draft-ietf-ccamp-optical-impairment-topology-yang-05.txt 2020-11-02 13:14:00.972444377 -0800 @@ -1,25 +1,25 @@ CCAMP Working Group Y. Lee Internet-Draft SKKU (Sung Kyun Kwan University) Intended status: Standards Track JL. Auge -Expires: March 12, 2021 Orange +Expires: May 6, 2021 Orange V. Lopez Telefonica G. Galimberti Cisco D. Beller Nokia - September 8, 2020 + November 2, 2020 A Yang Data Model for Optical Impairment-aware Topology - draft-ietf-ccamp-optical-impairment-topology-yang-04 + draft-ietf-ccamp-optical-impairment-topology-yang-05 Abstract 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 Assigment (IA-RSA) for SSON. @@ -35,75 +35,79 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on March 12, 2021. + This Internet-Draft will expire on May 6, 2021. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 - 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 + 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 2. Reference Architecture . . . . . . . . . . . . . . . . . . . 5 2.1. Control Plane Architecture . . . . . . . . . . . . . . . 5 2.2. Transport Data Plane . . . . . . . . . . . . . . . . . . 6 - 2.3. OMS Media Links . . . . . . . . . . . . . . . . . . . . . 6 - 2.3.1. Optical Tributary Signal (OTSi) . . . . . . . . . . . 7 - 2.3.2. Optical Tributary Signal Group (OTSiG) . . . . . . . 7 - 2.3.3. Media Channel (MC) . . . . . . . . . . . . . . . . . 8 - 2.3.4. Media Channel Group (MCG) . . . . . . . . . . . . . . 9 - 2.4. Amplifiers . . . . . . . . . . . . . . . . . . . . . . . 10 - 2.5. Transponders . . . . . . . . . . . . . . . . . . . . . . 11 - 2.6. WSS/Filter . . . . . . . . . . . . . . . . . . . . . . . 11 - 2.7. Optical Fiber . . . . . . . . . . . . . . . . . . . . . . 11 - 2.8. ROADM Node Architectures . . . . . . . . . . . . . . . . 12 + 2.3. OMS Media Links . . . . . . . . . . . . . . . . . . . . . 7 + 2.3.1. Optical Tributary Signal (OTSi) . . . . . . . . . . . 8 + 2.3.2. Optical Tributary Signal Group (OTSiG) . . . . . . . 8 + 2.3.3. Media Channel (MC) . . . . . . . . . . . . . . . . . 9 + 2.3.4. Media Channel Group (MCG) . . . . . . . . . . . . . . 10 + 2.4. Amplifiers . . . . . . . . . . . . . . . . . . . . . . . 11 + 2.5. Transponders . . . . . . . . . . . . . . . . . . . . . . 12 + 2.5.1. Application Codes . . . . . . . . . . . . . . . . . . 12 + 2.5.2. Organizational Modes . . . . . . . . . . . . . . . . 13 + 2.5.3. Explicit Modes . . . . . . . . . . . . . . . . . . . 14 + 2.5.4. Transponder Capabilities and Current Configuration . 14 + 2.6. WSS/Filter . . . . . . . . . . . . . . . . . . . . . . . 15 + 2.7. Optical Fiber . . . . . . . . . . . . . . . . . . . . . . 15 + 2.8. ROADM Node Architectures . . . . . . . . . . . . . . . . 16 2.8.1. Integrated ROADM Architecture with Integrated Optical - Transponders . . . . . . . . . . . . . . . . . . . . 12 + Transponders . . . . . . . . . . . . . . . . . . . . 16 2.8.2. Integrated ROADMs with Integrated Optical Transponders and Single Channel Add/Drop Interfaces - for Remote Optical Transponders . . . . . . . . . . . 13 + for Remote Optical Transponders . . . . . . . . . . . 17 2.8.3. Disaggregated ROADMs Subdivided into Degree, - Add/Drop, and Optical Transponder Subsystems . . . . 14 - 2.8.4. Optical Impairments Imposed by ROADM Nodes . . . . . 15 - 3. YANG Model (Tree Structure) . . . . . . . . . . . . . . . . . 17 - 4. Optical Impairment Topology YANG Model . . . . . . . . . . . 20 - 5. Security Considerations . . . . . . . . . . . . . . . . . . . 53 - 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 53 - 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 54 - 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 - 8.1. Normative References . . . . . . . . . . . . . . . . . . 54 - 8.2. Informative References . . . . . . . . . . . . . . . . . 54 - Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 56 - Appendix B. Additional Authors . . . . . . . . . . . . . . . . . 57 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 58 + Add/Drop, and Optical Transponder Subsystems . . . . 18 + 2.8.4. Optical Impairments Imposed by ROADM Nodes . . . . . 19 + 3. YANG Model (Tree Structure) . . . . . . . . . . . . . . . . . 21 + 4. Optical Impairment Topology YANG Model . . . . . . . . . . . 25 + 5. Security Considerations . . . . . . . . . . . . . . . . . . . 56 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56 + 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 57 + 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 + 8.1. Normative References . . . . . . . . . . . . . . . . . . 57 + 8.2. Informative References . . . . . . . . . . . . . . . . . 57 + Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 60 + Appendix B. Additional Authors . . . . . . . . . . . . . . . . . 60 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 61 1. Introduction In order to provision an optical connection (an optical path) through a wavelength switched optical networks (WSONs) or spectrum switched optical networks (SSONs), 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) [RFC6566] for WSON, while it is known as IA- @@ -453,37 +457,181 @@ abstract as much as possible. One modeling consideration of the ROADM internal is to model power parameter through the ROADM, factoring the output power from the Pre- Amplifier minus the ROADM power loss would give the input power to the Booster Amplifier. In other words, Power_in (@ ROADM Booster) = Power_out (@ ROADM Pre-Amplifier) - Power_loss (@ ROADM WSS/Filter). 2.5. Transponders + [Editor's note: The relationship between the transponder and the OTSi + in the YANG model described in Section 3 needs further clarification + and refinement.] + A Transponder is the element that sends and receives the optical - signal from a fiber. A transponder is typically characterized by its - data rate and the maximum distance the signal can travel. Channel - frequency, per channel input power, FEC and Modulation are also - associated with a transponder. From a path computation point of - view, the selection of the compatible source and destination - transponders is an important factor for optical signal to traverse - through the fiber. There are three main approaches to determine - optical signal compatibility. Application Code based on G.698.2 is - one approach that only checks the code at both ends of the link. - Another approach is organization codes that are specific to an - organization or a vendor. The third approach is specify all the - relevant parameters explicitly, e.g., FEC type, Modulation type, etc. + signal from a DWDM network. A transponder can comprise one or more + transceivers. A transceiver can be seen as a pair of transmitter and + receiver, as defined in ITU-T Recommendation G.698.2 [G.698.2]. - [Editor's note: The current YANG model described in Section 3 with - respect to the relationship between the transponder attributes and - the OTSi will need to be investigated in the future revision] + A transponder is typically characterized by its data/symbol rate and + the maximum distance the signal can travel. Other transponder + properties are: carrier frequency for the optical channels, output + power per channel, measured input power, modulation scheme, FEC, etc. + + From a path computation perspective, the selection of the compatible + configuration of the source and the destination transceivers is an + important factor for optical signals to traverse through the DWDM + network. + + The YANG model defines three different approaches to describe the + transceiver capabilities (called "modes") that are needed to + determine optical signal compatibility: + + o Application Codes as defined in ITU-T Recommendation G.698.2 + [G.698.2] + o Organizational Modes + o Explicit Modes + +2.5.1. Application Codes + + An application code represents a standard ITU-T G.698.2 optical + interface specification towards the realization of transversely + compatible DWDM systems. Two transceivers supporting the same + application code and a line system matching the constraints, defined + in ITU-T G.698.2, for that application code will interoperate. + +2.5.2. Organizational Modes + + Organizations like operator groups, industry fora, or equipment + vendors can define organizational modes, which will allow these + organizations to make use of advanced transceiver capabilities going + beyond existing standardized application codes. Such an + organizational mode is identified by the organization-identifier + attribute defining the scope and an operational-mode that is + meaningful within the scope of the organization. Hence, the two + attributes must always be considered together. Two transceivers are + inter-operable, if they have at least one (organization-identifier, + operational-mode) pair in common and if the supported carrier + frequency and power attributes have a matching range. This is a + necessary condition for path computation in the context of + organizational modes. An operational mode is a transceiver preset (a + configuration with well-defined parameter values) subsuming several + transceiver properties including: + + o FEC type + o Modulation scheme + o Encoding (mapping of bit patterns to symbols in the constellation + diagram) + o Baud rate (symbol rate) + o Carrier bandwidth (typically measured in GHz) + + The major reason for these transceiver presets is the fact that the + attribute values typically cannot be configured independently and are + therefore advertised as supported operational mode capabilities. It + is the responsibility of the organization to assign operational modes + and to ensure that operational modes are unique and not ambiguous + within the scope of the organization. + + In addition to the transceiver properties subsumed by the operational + mode, optical power and carrier frequency related properties are + modeled separately, i.e., outside of the operational mode. This + modeling approach allows transponders using different transceiver + variants (e.g. optical modules) with slightly different power and/or + frequency range properties to interoperate without defining separate + operational modes. Different optical modules (pluggables) from + different suppliers typically have slightly different input and + output power ranges or may have slightly different carrier frequency + tuning ranges. + + The received channel power and the received total power are two + parameters that can be measured by the receiver and can be provided + by the transceiver in order to allow a controller to determine the + expected performance of the end-to-end service taking into account + the optical impairments along the path. + +2.5.3. Explicit Modes + + The explicit mode allows to encode, explicitly, any subset of + parameters e.g., FEC type, Modulation type, etc, to enable a + controller entity to check for interoperability by means outside of + this draft. It shall be noted that using the explicit encoding does + not guarantee interoperability between two transceivers even in case + of identical parameter definitions. The explicit mode shall + therefore be used with care, but it could be useful when no common + Application Codes or Organizational Modes exist or the constraints of + common Application Codes or Organizational Modes cannot be met by the + line system. + +2.5.4. Transponder Capabilities and Current Configuration + + The YANG model described in Section 3 defines the optical transceiver + properties. They are divided between: + + a. Optical transceiver capabilities, describing how it can be + configured + b. Current transceiver setting, indicating how it is currently + configured + + The transceiver capabilities are described by the set of modes the + transceiver is supporting. Each mode MUST follow only one of the + three mode options defined above (choice in the YANG model). The + YANG model allows to describe the transceiver capabilities by mixing + different modes. A transceiver may support some ITU-T application + codes and in addition some organizational or explicit modes. + + A transceiver mode description comprises the following properties: + + o Supported transmitter tuning range with min/max nominal carrier + frequency [f_tx_min, f_tx_max] + o Supported transmitter tunability grid, the distance between two + adjacent carrier frequencies (in GHz) + o Supported transmitter power range [p_tx-min, p_tx_max] + o Supported receiver channel power range [p_rx-min, p_rx_max] + o Supported maximum total power, rx power for all channels fed into + the receiver + + These optical transceiver properties are explicitly defined in the + model for explicit and organizational modes, while they are + implicitly defined for the application codes (see ITU-T G698.2 + [G.698.2]). + + The set of optical impairment limits, e.g., min OSNR, max PMD, max + CD, max PDL, Q-factor limit, are explicitly defined for the explicit + modes while they are defined implicitly for the application codes and + organizational modes. + + It is possible that the set of parameter values defined for an + explicit mode may also be represented in form of an organizational + mode or one or more application codes. The "supported-mode" + container may provide two different lists with pointers to + application codes and organizational modes, respectively. + + The current transponder configuration describes the properties of the + OTSi transmitted or received by the transceiver attached to a + specific transponder port. + + Each OTSi has the following three pointer attributes modeled as + leafrefs: + + o Pointer to the transponder instance containing the transceiver + terminating the OTSi + o Pointer to the transceiver instance terminating the OTSi + o Pointer to the currently configured transceiver mode + + Additionally, the OTSi is described by the following frequency and + optical power related attributes: + + o current carrier-frequency + o currently transmitted channel power + o currently received channel power + o currently received total power 2.6. WSS/Filter WSS separates the incoming light input spectrally as well as spatially, then chooses the wavelength that is of interest by deflecting it from the original optical path and then couple it to another optical fibre port. WSS/Filter is internal to ROADM. So this document does not model the inside of ROADM. 2.7. Optical Fiber @@ -740,199 +888,252 @@ element, respectively, which are defined as a pointer to the corresponding entry in the roadm-path-impairments list (leaf-ref). [Editor's note: this section is still work in progress] 3. YANG Model (Tree Structure) module: ietf-optical-impairment-topology augment /nw:networks/nw:network/nw:network-types/tet:te-topology: +--rw optical-impairment-topology! - augment /nw:networks/nw:network/nt:link/tet:te/ - tet:te-link-attributes: + augment /nw:networks/nw:network/nt:link/tet:te + /tet:te-link-attributes: +--ro OMS-attributes - +--ro generalized-snr? decimal64 + +--ro generalized-snr? l0-types-ext:snr +--ro equalization-mode identityref +--ro (power-param)? | +--:(channel-power) | | +--ro nominal-channel-power? decimal64 | +--:(power-spectral-density) | +--ro nominal-power-spectral-density? decimal64 +--ro media-channel-group* [i] | +--ro i int16 | +--ro media-channels* [flexi-n] - | +--ro flexi-n uint16 - | +--ro flexi-m? uint16 - | +--ro OTSiG-ref? -> /nw:networks/network/node/tet:te/ - tunnel-termination-point/OTSiG-element/OTSiG-identifier - | +--ro OTSi-ref? -> /nw:networks/network/node/tet:te/ - tunnel-termination-point/ - OTSiG-element[OTSiG-identifier=current()/../OTSiG-ref]/ - OTSiG-container/OTSi/OTSi-carrier-id + | +--ro flexi-n l0-types:flexi-n + | +--ro flexi-m? l0-types:flexi-m + | +--ro OTSiG-ref? leafref + | +--ro OTSi-ref? leafref +--ro OMS-elements* [elt-index] +--ro elt-index uint16 +--ro uid? string +--ro type identityref +--ro element +--ro (element)? +--:(amplifier) | +--ro amplifier | +--ro type-variety string | +--ro operational - | +--ro actual-gain decimal64 - | +--ro tilt-target decimal64 - | +--ro out-voa decimal64 - | +--ro in-voa decimal64 + | +--ro actual-gain + | | decimal64 + | +--ro tilt-target + | | decimal64 + | +--ro out-voa + | | decimal64 + | +--ro in-voa + | | decimal64 | +--ro (power-param)? | +--:(channel-power) | | +--ro nominal-channel-power? - decimal64 + | | decimal64 | +--:(power-spectral-density) | +--ro nominal-power-spectral-density? - decimal64 + | decimal64 +--:(fiber) | +--ro fiber | +--ro type-variety string | +--ro length decimal64 | +--ro loss-coef decimal64 | +--ro total-loss decimal64 | +--ro pmd? decimal64 | +--ro conn-in? decimal64 | +--ro conn-out? decimal64 +--:(concentratedloss) +--ro concentratedloss +--ro loss? decimal64 - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:tunnel-termination-point: - +--ro OTSiG-element* [OTSiG-identifier] - | +--ro OTSiG-identifier int16 - | +--ro OTSiG-container - | +--ro OTSi* [OTSi-carrier-id] - | +--ro OTSi-carrier-id int16 - | +--ro OTSi-carrier-frequency? decimal64 - | +--ro OTSi-signal-width? decimal64 - | +--ro channel-delta-power? decimal64 - +--ro transponders-list* [transponder-id] + augment /nw:networks/nw:network/nw:node/tet:te + /tet:tunnel-termination-point: + +--ro otsi-group* [otsi-group-id] + | +--ro otsi-group-id int16 + | +--ro otsi* [otsi-carrier-id] + | +--ro otsi-carrier-id int16 + | +--ro transponder-ref? leafref + | +--ro transceiver-ref? leafref + | +--ro configured-mode? leafref + | +--ro OTSi-carrier-frequency? frequency-thz + | +--ro tx-channel-power? dbm-t + | +--ro rx-channel-power? dbm-t + | +--ro rx-total-power? dbm-t + +--ro transponder* [transponder-id] +--ro transponder-id uint32 - +--ro (mode)? - | +--:(G.692.2) - | | +--ro standard-mode? standard-mode - | +--:(organizational-mode) - | | +--ro operational-mode? operational-mode - | | +--ro organization-identifier? vendor-identifier - | +--:(explicit-mode) - | +--ro available-modulation-types* identityref - | +--ro configured-modulation-type? identityref - | +--ro available-baud-rates* uint32 - | +--ro configured-baud-rate? uint32 - | +--ro available-FEC-types* identityref - | +--ro configured-FEC-type? identityref - | +--ro FEC-code-rate? decimal64 - | +--ro FEC-threshold? decimal64 - +--ro power? int32 - +--ro power-min? int32 - +--ro power-max? int32 - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:tunnel-termination-point: - +--ro transponder-list* [carrier-id] + +--ro transceiver* [transceiver-id] + +--ro transceiver-id uint32 + +--ro supported-modes + +--ro supported-mode* [mode-id] + +--ro mode-id string + +--ro (mode) + +--:(G.698.2) + | +--ro standard-mode? standard-mode + +--:(organizational-mode) + | +--ro organizational-mode + | +--ro operational-mode? + | | operational-mode + | +--ro organization-identifier? + | | organization-identifier + | +--ro min-central-frequency? + | | frequency-thz + | +--ro max-central-frequency? + | | frequency-thz + | +--ro minimum-channel-spacing? + | | frequency-ghz + | +--ro tx-channel-power-min? dbm-t + | +--ro tx-channel-power-max? dbm-t + | +--ro rx-channel-power-min? dbm-t + | +--ro rx-channel-power-max? dbm-t + | +--ro rx-total-power-max? dbm-t + +--:(explicit-mode) + +--ro explicit-mode + +--ro supported-modes + | +--ro supported-application-codes* + | | -> ../../mode-id + | +--ro supported-organizational-modes* + | -> ../../mode-id + +--ro line-coding-bitrate? + | identityref + +--ro max-polarization-mode-dispersion? + | decimal64 + +--ro max-chromatic-dispersion? + | decimal64 + +--ro chromatic-and-polarization-dispersion-penalty* [] + | +--ro chromatic-dispersion + | | decimal64 + | +--ro polarization-mode-dispersion + | | decimal64 + | +--ro penalty + | decimal64 + +--ro max-diff-group-delay? + | int32 + +--ro max-polarization-dependent-loss? + | decimal64 + +--ro available-modulation-type? + | identityref + +--ro OTSi-carrier-bandwidth? + | frequency-ghz + +--ro min-OSNR? + | snr + +--ro min-Q-factor? + | int32 + +--ro available-baud-rate? + | uint32 + +--ro available-FEC-type? + | identityref + +--ro FEC-code-rate? + | decimal64 + +--ro FEC-threshold? + | decimal64 + +--ro min-central-frequency? + | frequency-thz + +--ro max-central-frequency? + | frequency-thz + +--ro minimum-channel-spacing? + | frequency-ghz + +--ro tx-channel-power-min? + | dbm-t + +--ro tx-channel-power-max? + | dbm-t + +--ro rx-channel-power-min? + | dbm-t + +--ro rx-channel-power-max? + | dbm-t + +--ro rx-total-power-max? + dbm-t + augment /nw:networks/nw:network/nw:node/tet:te + /tet:tunnel-termination-point: + +--ro sliceable-transponder-list* [carrier-id] +--ro carrier-id uint32 - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:te-node-attributes: + augment /nw:networks/nw:network/nw:node/tet:te + /tet:te-node-attributes: +--ro roadm-path-impairments* [roadm-path-impairments-id] +--ro roadm-path-impairments-id uint32 +--ro (impairment-type)? +--:(roadm-express-path) | +--ro roadm-express-path | +--ro roadm-pmd? decimal64 | +--ro roadm-cd? decimal64 | +--ro roadm-pdl? decimal64 | +--ro roadm-inband-crosstalk? decimal64 | +--ro roadm-maxloss? decimal64 +--:(roadm-add-path) | +--ro roadm-add-path | +--ro roadm-pmd? decimal64 | +--ro roadm-cd? decimal64 | +--ro roadm-pdl? decimal64 | +--ro roadm-inband-crosstalk? decimal64 | +--ro roadm-maxloss? decimal64 | +--ro roadm-pmax? decimal64 - | +--ro roadm-osnr? decimal64 + | +--ro roadm-osnr? l0-types-ext:snr | +--ro roadm-noise-figure? decimal64 +--:(roadm-drop-path) +--ro roadm-drop-path +--ro roadm-pmd? decimal64 +--ro roadm-cd? decimal64 +--ro roadm-pdl? decimal64 +--ro roadm-inband-crosstalk? decimal64 +--ro roadm-maxloss? decimal64 +--ro roadm-minloss? decimal64 +--ro roadm-typloss? decimal64 +--ro roadm-pmin? decimal64 +--ro roadm-pmax? decimal64 +--ro roadm-ptyp? decimal64 - +--ro roadm-osnr? decimal64 + +--ro roadm-osnr? l0-types-ext:snr +--ro roadm-noise-figure? decimal64 - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:information-source-entry/tet:connectivity-matrices: - +--ro roadm-path-impairments? -> ../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:information-source-entry/tet:connectivity-matrices/ - tet:connectivity-matrix: - +--ro roadm-path-impairments? -> ../../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:te-node-attributes/tet:connectivity-matrices: - +--ro roadm-path-impairments? -> ../../roadm-path-impairments/ - roadm-path-impairments-id - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:te-node-attributes/tet:connectivity-matrices/ - tet:connectivity-matrix: - +--ro roadm-path-impairments? -> ../../../ - roadm-path-impairments/roadm-path-impairments-id - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:tunnel-termination-point/tet:local-link-connectivities: - +--ro add-path-impairments? -> ../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id - +--ro drop-path-impairments? -> ../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id - augment /nw:networks/nw:network/nw:node/tet:te/ - tet:tunnel-termination-point/tet:local-link-connectivities/ - tet:local-link-connectivity: - +--ro add-path-impairments? -> ../../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id - +--ro drop-path-impairments? -> ../../../../ - tet:te-node-attributes/roadm-path-impairments/ - roadm-path-impairments-id + augment /nw:networks/nw:network/nw:node/tet:te + /tet:information-source-entry/tet:connectivity-matrices: + +--ro roadm-path-impairments? leafref + augment /nw:networks/nw:network/nw:node/tet:te + /tet:information-source-entry/tet:connectivity-matrices + /tet:connectivity-matrix: + +--ro roadm-path-impairments? leafref + augment /nw:networks/nw:network/nw:node/tet:te + /tet:te-node-attributes/tet:connectivity-matrices: + +--ro roadm-path-impairments? + -> ../../roadm-path-impairments/roadm-path-impairments-id + augment /nw:networks/nw:network/nw:node/tet:te + /tet:te-node-attributes/tet:connectivity-matrices + /tet:connectivity-matrix: + +--ro roadm-path-impairments? leafref + augment /nw:networks/nw:network/nw:node/tet:te + /tet:tunnel-termination-point + /tet:local-link-connectivities: + +--ro add-path-impairments? leafref + +--ro drop-path-impairments? leafref + augment /nw:networks/nw:network/nw:node/tet:te + /tet:tunnel-termination-point + /tet:local-link-connectivities + /tet:local-link-connectivity: + +--ro add-path-impairments? leafref + +--ro drop-path-impairments? leafref 4. Optical Impairment Topology YANG Model [Editor's note: YANG code below may have to be updated before submission!] module ietf-optical-impairment-topology { yang-version 1.1; - namespace "urn:ietf:params:xml" +":ns:yang:ietf-optical-impairment-topology"; prefix "optical-imp-topo"; import ietf-network { prefix "nw"; - } import ietf-network-topology { prefix "nt"; } import ietf-te-topology { prefix "tet"; } @@ -930,21 +1131,25 @@ import ietf-network-topology { prefix "nt"; } import ietf-te-topology { prefix "tet"; } import ietf-layer0-types { - prefix "layer0-types"; + prefix "l0-types"; + } + + import ietf-layer0-types-ext { + prefix "l0-types-ext"; } organization "IETF CCAMP Working Group"; contact "Editor: Young Lee Editor: Haomian Zheng Editor: Nicola Sambo Editor: Victor Lopez @@ -964,23 +1169,31 @@ impairment-aware optical networks. Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents - (http://trustee.ietf.org/license-info)."; + (http://trustee.ietf.org/license-info). + This version of this YANG module is part of RFC XXXX; see + the RFC itself for full legal notices."; - revision 2020-03-09 { + // RFC Ed.: replace XXXX with actual RFC number and remove + // this note + + // replace the revision date with the module publication date + // the format is (year-month-day) + + revision 2020-10-13 { description "Initial Version"; reference "RFC XXXX: A Yang Data Model for Impairment-aware Optical Networks"; } // identity identity modulation { @@ -1063,66 +1275,29 @@ } enum G.653 { description "G.653 Dispersion Shifted Fiber"; } enum G.655 { description "G.655 Non-Zero Dispersion Shifted Fiber"; } enum G.656 { description "G.656 Non-Zero Dispersion for Wideband Optical Transport"; - } enum G.657 { description "G.657 Bend-Insensitive Fiber"; } } description "ITU-T based fiber-types"; } - /*temporary defined here for disalignment with*/ - /* ietf-layer0-types module*/ - - typedef operational-mode { - type string; - description - "Vendor-specific mode that guarantees - interoperability."; - reference "ITU-T G.698.2 (11/2018)"; - } - - // temporary defined here for disalignment with - //ietf-layer0-types module - typedef standard-mode { - type string; - description - "ITU-T G.698.2 standard mode that guarantees - interoperability. - It must be an string with the following format: - B-DScW-ytz(v) where all these attributes - are conformant - to the ITU-T recomendation"; - reference "ITU-T G.698.2 (11/2018)"; - } - - // temporary defined here for disalignment - //with ietf-layer0-types module - typedef vendor-identifier { - type string; - description - "vendor identifier that uses vendor-specific mode"; - reference - "RFC7581: Routing and Wavelength Assignment Information - Encoding for Wavelength Switched Optical Networks"; - } - // grouping grouping transponder-attributes { description "Configuration of an optical transponder"; leaf-list available-modulation-types { type identityref { base modulation; } config false; @@ -1198,31 +1373,30 @@ description "Threshold on the BER, for which FEC is able to correct errors"; } } grouping sliceable-transponder-attributes { description "Configuration of a sliceable transponder."; - list transponder-list { + list sliceable-transponder-list { key "carrier-id"; config false; description "List of carriers"; leaf carrier-id { type uint32; config false; description "Identifier of the carrier"; } } - } grouping optical-fiber-data { description "optical link (fiber) attributes with impairment data"; leaf fiber-type { type fiber-type; config false; description "fiber-type"; } @@ -1271,24 +1445,21 @@ type decimal64 { fraction-digits 5; } units "ps/nm/km"; config false; description "Cromatic Dispersion"; } leaf osnr { - type decimal64 { - fraction-digits 5; - } - units "dB"; + type l0-types-ext:snr; config false; description "Optical Signal-to-Noise Ratio (OSNR) estimated at the receiver"; } leaf sigma { type decimal64 { fraction-digits 5; } @@ -1348,85 +1521,45 @@ type decimal64 { fraction-digits 5; } units "ps/nm/km"; config false; description "per channel Cromatic Dispersion"; } leaf ch-osnr { - type decimal64 { - fraction-digits 5; - } - units "dB"; + type l0-types-ext:snr; config false; description "per channel Optical Signal-to-Noise Ratio (OSNR) estimated at the receiver"; } leaf q-factor { type decimal64 { fraction-digits 5; } units "dB"; config false; description "q-factor estimated at the receiver"; } } - grouping standard-mode { - description - "ITU-T G.698.2 standard mode that guarantees interoperability. - It must be an string with the following format: - B-DScW-ytz(v) where all these attributes are conformant - to the ITU-T recomendation"; - - leaf standard-mode { - type standard-mode; - config false; - description - "G.698.2 standard mode"; - } - } - - grouping organizational-mode { - description - "Transponder operational mode supported by organizations or - vendor"; - - leaf operational-mode { - type operational-mode; - config false; - description - "configured organization- or vendor-specific - application identifiers (AI) supported by the transponder"; - } - - leaf organization-identifier { - type vendor-identifier; - config false; - description - "organization identifier that uses organizational - mode"; - - } - } - /* * Identities */ identity type-element { description "Base identity for element type"; + } identity Fiber { base type-element; description "Fiber element"; } identity Roadm { base type-element; @@ -1707,24 +1836,21 @@ "This is the maximum (per carrier) power level permitted at the add block input ports, that can be handled by the ROADM node. This may reflect either add amplifier power contraints or WSS adjustment limits. Higher power transponders would need to have their launch power reduced to this value or lower"; } leaf roadm-osnr { - type decimal64 { - fraction-digits 5; - } - units "dB"; + type l0-types-ext:snr; description "Optical Signal-to-Noise Ratio (OSNR). If the add path contains the ability to adjust the carrier power levels into an add path amplifier (if present) to a target value, this reflects the OSNR contribution of the add amplifier assuming this target value is obtained. The worst case OSNR based on the input power and NF calculation method, and this value, should be used (if both are defined)."; @@ -1894,24 +2021,21 @@ for example, to hit target power levels into a drop path amplifier,or simply,to reduce the power of a "strong" carrier(due to ripple,for example), then the use of the ROADM input power levels and the above drop losses is not appropriate. This parameter corresponds to the typical case per carrier power levels expected at the output of the drop block."; } leaf roadm-osnr { - type decimal64 { - fraction-digits 5; - } - units "dB"; + type l0-types-ext:snr; description "Optical Signal-to-Noise Ratio (OSNR). Expected OSNR contribution of the drop path amplifier(if present) for the case of additional drop path loss (before this amplifier) in order to hit a target power level (per carrier). If both, the OSNR based on the ROADM input power level (Pcarrier = @@ -1981,32 +2103,28 @@ leaf nominal-power-spectral-density{ type decimal64 { fraction-digits 16; } units W/Hz ; description " Reference power spectral density after the ROADM or after the out-voa. Typical value : 3.9 E-14, resolution 0.1nW/MHz"; } - } } } grouping oms-general-optical-params { description "OMS link optical parameters"; leaf generalized-snr { - type decimal64 { - fraction-digits 5; - } - units "dB@0.1nm"; + type l0-types-ext:snr; description "generalized snr"; } leaf equalization-mode{ type identityref { base type-power-mode; } mandatory true; description "equalization mode"; } uses power-param; @@ -2003,114 +2121,122 @@ description "generalized snr"; } leaf equalization-mode{ type identityref { base type-power-mode; } mandatory true; description "equalization mode"; } uses power-param; + } grouping OTSiG { description "OTSiG definition , representing client digital information stream supported by 1 or more OTSi"; - container OTSiG-container { + list otsi { + key "otsi-carrier-id"; config false; description - "the container contains the related list of OTSi. + "list of OTSi contained in 1 OTSiG. The list could also be of only 1 element"; - list OTSi { - key "OTSi-carrier-id"; - description - "list of OTSi's under OTSi-G"; - leaf OTSi-carrier-id { + leaf otsi-carrier-id { type int16; description "OTSi carrier-id"; } - leaf OTSi-carrier-frequency { - type decimal64 { - fraction-digits 3; + + /*any OTSi as signal generated by transceiver and*/ + /* attached to a transponder.*/ + + leaf transponder-ref { + type leafref { + path "/nw:networks/nw:network/nw:node/tet:te" + + "/tet:tunnel-termination-point" + + "/transponder/transponder-id"; } - units GHz; - config false; description - "OTSi carrier frequency"; - + "Reference to the configured transponder"; } - leaf OTSi-signal-width { - type decimal64 { - fraction-digits 3; + leaf transceiver-ref { + type leafref { + path "/nw:networks/nw:network/nw:node/tet:te" + + "/tet:tunnel-termination-point/" + +"transponder[transponder-id=current()" + +"/../transponder-ref]/" + + "transceiver/transceiver-id" ; } - units GHz; - config false; description - "OTSi signal width"; + "Reference to the configured transceiver " ; } - leaf channel-delta-power { - type decimal64 { - fraction-digits 2; + leaf configured-mode { + type leafref { + path "/nw:networks/nw:network/nw:node/tet:te" + + "/tet:tunnel-termination-point/" + +"transponder[transponder-id=current()" + +"/../transponder-ref]/"+ + "transceiver[transceiver-id=current()/"+ + "../transceiver-ref]/supported-modes/"+ + "supported-mode/mode-id"; } - units dB; - config false; description - "optional ; delta power to ref channel - input-power applied - to this media channel"; - } - + "Reference to the configured mode for transceiver + compatibility approach"; } - } // OTSiG container + uses l0-types-ext:common-transceiver-configured-param; + } // OTSi list } // OTSiG grouping grouping media-channel-groups { description "media channel groups"; list media-channel-group { key "i"; description "list of media channel groups"; leaf i { type int16; description "index of media channel group member"; } list media-channels { key "flexi-n"; description "list of media channels represented as (n,m)"; - uses layer0-types:flexi-grid-channel; + + // this grouping add both n.m values + uses l0-types:flexi-grid-frequency-slot; + leaf OTSiG-ref { type leafref { path "/nw:networks/nw:network/nw:node/tet:te" + "/tet:tunnel-termination-point" + - "/OTSiG-element/OTSiG-identifier" ; + "/otsi-group/otsi-group-id" ; } description - "Reference to the OTSiG list to get OTSiG + "Reference to the otsi-group list to get otsi-group identifier of the - OSiG carried by this media channel + OTSiG carried by this media channel that reports the transient stat"; } leaf OTSi-ref { type leafref { path "/nw:networks/nw:network/nw:node/tet:te" + "/tet:tunnel-termination-point/" - +"OTSiG-element[OTSiG-identifier=current()" + +"otsi-group[otsi-group-id=current()" +"/../OTSiG-ref]/" - + "OTSiG-container/OTSi/OTSi-carrier-id" ; + + "otsi/otsi-carrier-id" ; } description - "Reference to the OTSi list supporting the - related OTSiG" ; + "Reference to the otsi list supporting + the related OTSiG to get otsi identifier"; } } // media channels list } // media-channel-groups list } // media media-channel-groups grouping grouping oms-element { description "OMS description"; list OMS-elements { key "elt-index"; @@ -2194,82 +2321,57 @@ when "/nw:networks/nw:network/nw:network-types" +"/tet:te-topology/optical-imp-topo:optical-impairment-topology"{ description "This augment is only valid for Impairment with non-sliceable transponder model"; } description "Tunnel termination point augmentation for non-sliceable transponder model."; - list OTSiG-element { - key "OTSiG-identifier"; + list otsi-group { + key "otsi-group-id"; config false; description "the list of possible OTSiG representing client digital stream"; - leaf OTSiG-identifier { + leaf otsi-group-id { type int16; - description "index of OTSiG element"; + description "index of otsi-group element"; } uses OTSiG; - } + } // list of OTSiG - list transponders-list { + list transponder { key "transponder-id"; config false; - description "list of transponders"; + description "list of transponder"; leaf transponder-id { type uint32; description "transponder identifier"; } - choice mode { - description "standard mode, organizational mode or - explicit mode"; - - case G.692.2 { - uses standard-mode; - - } - - case organizational-mode { - uses organizational-mode; - } - - case explicit-mode { - uses transponder-attributes; - } - } - - leaf power { - type int32; - units "dBm"; + list transceiver { + key "transceiver-id"; config false; - description "per channel power"; + description "list of transceiver related to a transponder"; + leaf transceiver-id { + type uint32; + description "transceiver identifier"; } + uses l0-types-ext:transceiver-capabilities; + } // end of list of transceiver - leaf power-min { - type int32; - units "dBm"; - config false; - description "minimum power of the transponder"; - } - leaf power-max { - type int32; - units "dBm"; - config false; - description "maximum power of the transponder"; - } - } - } + } // end list of transponder + + } // end of augment augment "/nw:networks/nw:network/nw:node/tet:te" + "/tet:tunnel-termination-point" { when "/nw:networks/nw:network/nw:network-types" +"/tet:te-topology/" + "optical-imp-topo:optical-impairment-topology" { description "This augment is only valid for optical impairment with sliceable transponder model"; } @@ -2600,29 +2705,29 @@ DOI 10.17487/RFC8453, August 2018, . [I-D.ietf-teas-yang-te-topo] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", draft-ietf-teas-yang-te-topo-22 (work in progress), June 2019. [I-D.ietf-ccamp-wson-yang] - Zheng, H., Lee, Y., Guo, A., Lopezalvarez, V., and D. - King, "A YANG Data Model for WSON (Wavelength Switched - Optical Networks)", draft-ietf-ccamp-wson-yang-25 (work in - progress), May 2020. + Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A + YANG Data Model for WSON (Wavelength Switched Optical + Networks)", draft-ietf-ccamp-wson-yang-27 (work in + progress), October 2020. [I-D.ietf-ccamp-layer0-types] - Zheng, H., Lee, Y., Guo, A., Lopezalvarez, V., and D. - King, "A YANG Data Model for Layer 0 Types", draft-ietf- - ccamp-layer0-types-06 (work in progress), May 2020. + Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A + YANG Data Model for Layer 0 Types", draft-ietf-ccamp- + layer0-types-08 (work in progress), October 2020. [I-D.ietf-ccamp-dwdm-if-param-yang] Galimberti, G., Kunze, R., Burk, A., Hiremagalur, D., and G. Grammel, "A YANG model to manage the optical interface parameters for an external transponder in a WDM network", draft-ietf-ccamp-dwdm-if-param-yang-04 (work in progress), May 2020. [G.807] "Generic functional architecture of the optical media network", ITU-T Recommendation G.807 - in publication @@ -2633,20 +2738,24 @@ [G.694.1] "Spectral grids for WDM applications: DWDM frequency grid", ITU-T Recommendation G.694.1, February 2012. [G.959.1] "Optical transport network physical layer interfaces", ITU-T Recommendation G.959.1, February 2012. [G.872] "Architecture of optical transport networks", ITU-T Recommendation G.872, January 2017. + [G.698.2] "Amplified multichannel dense wavelength division + multiplexing applications with single channel optical + interfaces", ITU-T Recommendation G.698.2, November 2018. + Appendix A. Contributors Aihua Guo Huawei Technologies Email: aguo@futurewei.com Jonas Martensson RISE