module opendevice-channel-monitor { | |
yang-version 1; | |
namespace "http://www.opendevice.net/yang/opendeivce-channels-monitor"; | |
prefix "od-chan-mon"; | |
import opendevice-types { | |
prefix "od-types"; | |
revision-date 2017-10-08; | |
} | |
organization "Infinera"; | |
contact | |
"support@infinera.com"; | |
description | |
"This model describes operational state data for an optical | |
channel monitor (OCM) for optical transport line system | |
elements such as wavelength routers (ROADMs) and amplifiers. | |
It represent the information obtain by an OCM and not the device itself. | |
An optical channel is characterized by an optical spectrum band having a lower | |
and an upper frequency. Once provisioned, this channel can have information | |
reported about it like optical power spectral density (PSD). Also, this channel is what is | |
switched at a ROADM node. | |
The flex-channel-monitors list and the channel-monitors are two model of optical channel monitorl, | |
The channel-monitor model is used for OCM where channels are pre-fixed. | |
The flex-channel-monitors is used for OCM products where channels | |
are dynamically provisioned. A product would support one of these lists, not | |
both. | |
A flex-channel-monitor can contain sub-channels (carriers) within it. The support for carriers | |
is indicated by the multi-carrier feature. | |
An flex-channel-monitors can also support raising of alarms when its PSD cross provisioned thresholds. | |
"; | |
revision 2018-05-15 { | |
description "cleanup comment"; | |
} | |
revision 2017-10-08 { | |
description | |
"Use opendevice-types | |
Yang version 1"; | |
} | |
revision 2017-09-18; | |
feature flex-channel-monitors { | |
description | |
"The flex-channel monitor and prefix-channel-monitors features | |
are mutually exlusive. A product would normally support one of these | |
features and not both. | |
A flex-channel-monitors is intended to be used in products that | |
dynamically create monitored channels."; | |
} | |
feature prefix-channel-monitors { | |
description | |
"The flex-channel monitor and prefix-channel-monitors features | |
are mutually exlusive. A product would normally support one of these | |
features and not both. | |
An prefix-channel-monitors is intended to be used in products that | |
have a fixed channel-plan and therefore do not create channels | |
dynamically."; | |
} | |
feature multi-carrier { | |
description | |
"The multi-carrier feature provides for specifying multiple sub-channels | |
or carriers within a channel."; | |
} | |
grouping media-channel-psd-state { | |
description | |
"Operational state data for the media channel PSD"; | |
leaf lower-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Lower frequency of the specified PSD"; | |
} | |
leaf upper-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Upper frequency of the specified PSD"; | |
} | |
leaf psd { | |
type od-types:optical-psd; | |
units dBm/GHz; | |
} | |
leaf valid-data { | |
type boolean; | |
description "True if measured values are valid"; | |
} | |
} | |
grouping media-channel-psd-top { | |
description | |
"Top-level grouping "; | |
container channels { | |
description | |
"Enclosing container for the list of values describing | |
the power spectral density distribution"; | |
list channel { | |
key "lower-frequency upper-frequency"; | |
config false; | |
description | |
"List of tuples describing the PSD distribution"; | |
leaf lower-frequency { | |
type leafref { | |
path "../state/lower-frequency"; | |
} | |
description | |
"Reference to the list key"; | |
} | |
leaf upper-frequency { | |
type leafref { | |
path "../state/upper-frequency"; | |
} | |
description | |
"Reference to the list key"; | |
} | |
container state { | |
config false; | |
description | |
"Operational state data for PSD"; | |
uses media-channel-psd-state; | |
} | |
} | |
} | |
} | |
grouping flex-media-carrier-psd-config { | |
description | |
"Configuration data for media channel carrier definitions"; | |
leaf name { | |
type string; | |
description | |
"Identifier for the defined media channel"; | |
} | |
leaf lower-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"The lower frequency for the spectrum defined by this media | |
channel"; | |
} | |
leaf upper-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"The upper frequency for the spectrum defined by this media | |
channel"; | |
} | |
} | |
grouping flex-media-carrier-psd-state { | |
description | |
"Operational state data for the media channel PSD"; | |
leaf actual-lower-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Lower frequency of the specified PSD"; | |
} | |
leaf actual-upper-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Upper frequency of the specified PSD"; | |
} | |
leaf psd { | |
type od-types:optical-psd; | |
} | |
leaf valid-data { | |
type boolean; | |
description "True if measured values are valid"; | |
} | |
} | |
grouping flex-media-carrier-psd-top { | |
description | |
"Top-level grouping "; | |
container carriers { | |
description | |
"Enclosing container for the list of media-carrier"; | |
list carrier { | |
key name; | |
description | |
"List describing the PSD distribution"; | |
leaf name { | |
type leafref { | |
path "../config/name"; | |
} | |
description | |
"Reference to the list key"; | |
} | |
container config { | |
uses flex-media-carrier-psd-config; | |
} | |
container state { | |
config false; | |
description | |
"Operational state data for PSD"; | |
uses flex-media-carrier-psd-config; | |
uses flex-media-carrier-psd-state; | |
} | |
} | |
} | |
} | |
grouping flex-media-channel-psd-config { | |
description | |
"Configuration data for media channel definitions"; | |
leaf name { | |
type string; | |
description | |
"Identifier for the defined media channel"; | |
} | |
leaf lower-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"The lower frequency for the spectrum defined by this media | |
channel"; | |
} | |
leaf upper-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"The upper frequency for the spectrum defined by this media | |
channel"; | |
} | |
} | |
grouping flex-media-channel-psd-state { | |
description | |
"Operational state data for the media channel PSD"; | |
leaf actual-lower-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Lower frequency of the specified PSD"; | |
} | |
leaf actual-upper-frequency { | |
type od-types:dwdm-frequency-ghz; | |
description | |
"Upper frequency of the specified PSD"; | |
} | |
leaf psd { | |
type od-types:optical-psd; | |
units dBm/GHz; | |
description | |
"Power spectral density expressed in nanowatts per | |
megahertz, nW/MHz. These units allow the value to often | |
be greater than 1.0. It also avoids dealing with zero values | |
for 0dBm. For example, a 40GHz wide channel | |
with 0dBm power would be: | |
0dBm = 1mW = 10^6nW | |
40GHz = 40,000MHz | |
0dBm/40GHz = 10^6nW/40,000MHz = 1000/40 = 25"; | |
} | |
leaf valid-data { | |
type boolean; | |
description "True if measured values are valid"; | |
} | |
} | |
grouping flex-media-channel-psd-top { | |
description | |
"Top-level grouping "; | |
container channels { | |
description | |
"Enclosing container for the list of media-channel"; | |
list channel { | |
key name; | |
description | |
"List describing the PSD distribution"; | |
leaf name { | |
type leafref { | |
path "../config/name"; | |
} | |
description | |
"Reference to the list key"; | |
} | |
container config { | |
uses flex-media-channel-psd-config; | |
} | |
container state { | |
config false; | |
description | |
"Operational state data for PSD"; | |
uses flex-media-channel-psd-config; | |
uses flex-media-channel-psd-state; | |
} | |
uses flex-media-carrier-psd-top; | |
} | |
} | |
} | |
grouping channel-monitor-config { | |
description | |
"Configuration data for the optical channel monitor"; | |
leaf name { | |
type string ; | |
description | |
"Reference to the optical channel monitor (OCM) name. | |
"; | |
} | |
leaf monitor-port { | |
type string ; | |
description | |
"Reference to the name of the port that the | |
OCM channel monitor is physically connected | |
"; | |
} | |
} | |
grouping channel-monitor-state { | |
description | |
"Operational state data "; | |
} | |
grouping channel-monitor-top { | |
description | |
"Top-level grouping "; | |
container channel-monitors { | |
description | |
"Top-level container for optical channel monitors"; | |
list channel-monitor { | |
key "name monitor-port"; | |
description | |
"List of channel monitors, keyed by channel monitor name."; | |
leaf name { | |
type leafref { | |
path "../config/name"; | |
} | |
description | |
"References the optical channel monitor name"; | |
} | |
leaf monitor-port { | |
type leafref { | |
path "../config/monitor-port"; | |
} | |
} | |
container config { | |
description | |
"Configuration data "; | |
uses channel-monitor-config; | |
} | |
container state { | |
config false; | |
description | |
"Operational state data "; | |
uses channel-monitor-config; | |
uses channel-monitor-state; | |
} | |
uses media-channel-psd-top; | |
} | |
} | |
} | |
grouping flex-channel-monitor-top { | |
description | |
"Top-level grouping "; | |
container flex-channel-monitors { | |
description | |
"Top-level container for optical channel monitors"; | |
list channel-monitor { | |
key "name monitor-port"; | |
description | |
"List of channel monitors, keyed by channel monitor name."; | |
leaf name { | |
type leafref { | |
path "../config/name"; | |
} | |
description | |
"References the optical channel monitor name"; | |
} | |
leaf monitor-port { | |
type leafref { | |
path "../config/monitor-port"; | |
} | |
} | |
container config { | |
description | |
"Configuration data "; | |
uses channel-monitor-config; | |
} | |
container state { | |
config false; | |
description | |
"Operational state data "; | |
uses channel-monitor-config; | |
uses channel-monitor-state; | |
} | |
uses flex-media-channel-psd-top; | |
} | |
} | |
} | |
uses channel-monitor-top; | |
uses flex-channel-monitor-top; | |
} |