mirror of
https://github.com/Telecominfraproject/oopt-open-optical-models.git
synced 2025-10-29 17:22:40 +00:00
481 lines
12 KiB
YANG
481 lines
12 KiB
YANG
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;
|
|
|
|
|
|
|
|
} |