summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-wavelength-router.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-wavelength-router.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-wavelength-router.yang360
1 files changed, 360 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-wavelength-router.yang b/src/plugins/yang/openconfig/openconfig-wavelength-router.yang
new file mode 100644
index 0000000..c6ad945
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-wavelength-router.yang
@@ -0,0 +1,360 @@
+module openconfig-wavelength-router {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/wavelength-router";
+
+ prefix "oc-wave-router";
+
+ // import some basic types
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-platform { prefix oc-platform; }
+ import openconfig-transport-types { prefix oc-opt-types; }
+ import openconfig-types { prefix oc-types; }
+
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This model describes configuration and operational state data
+ for an optical transport line system node, or ROADM (incl. CDC
+ ROADMs, WSS, Dynamic Gain Equalizer/DGE).
+
+ Nodes are modeled as a configurable switching element with
+ ingress and egress ports, as well as a number of add/drop ports
+ that can be set up to direct portions of the optical spectrum
+ to the appropriate degrees.";
+
+ oc-ext:openconfig-version "0.3.2";
+
+ revision "2018-07-17" {
+ description
+ "Correct bug so that source/dest ports are components";
+ reference "0.3.2";
+ }
+
+ revision "2017-09-08" {
+ description
+ "Correct bug with OSC interfaces";
+ reference "0.3.1";
+ }
+
+ revision "2017-07-08" {
+ description
+ "Support multiple OCMs, add monitor port type
+ and refs to hw ports, ";
+ reference "0.3.0";
+ }
+
+ revision "2017-03-28" {
+ description
+ "Added min/max/avg stats, status for media channels, OCM, APS";
+ reference "0.2.0";
+ }
+
+ revision "2016-03-31" {
+ description
+ "Initial public release";
+ reference "0.1.0";
+ }
+
+
+
+ // grouping statements
+
+ grouping media-channel-port-config {
+ description
+ "Configuration data for a media channel source/dest port";
+
+ leaf port-name {
+ type leafref {
+ path "/oc-platform:components/oc-platform:component/" +
+ "oc-platform:name";
+ }
+ description
+ "Reference to the corresponding node port";
+ }
+ }
+
+ grouping media-channel-port-state {
+ description
+ "Operational state data for a media channel source/dest port";
+ }
+
+ grouping media-channel-source-port-top {
+ description
+ "Top-level grouping for source of the media channel";
+
+ container source {
+ description
+ "Top-level container for media channel source";
+
+ container config {
+ description
+ "Configuration data for the media channel source";
+
+ uses media-channel-port-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data for the media channel source";
+
+ uses media-channel-port-config;
+ uses media-channel-port-state;
+ }
+ }
+ }
+
+ grouping media-channel-dest-port-top {
+ description
+ "Top-level grouping for destination of the media channel";
+
+ container dest {
+ description
+ "Top-level container for media channel destination";
+
+ container config {
+ description
+ "Configuration data for the media channel destination";
+
+ uses media-channel-port-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data for the media channel destination";
+
+ uses media-channel-port-config;
+ uses media-channel-port-state;
+ }
+ }
+ }
+
+ grouping media-channel-psd-config {
+ description
+ "Configuration data for the media channel PSD";
+
+ leaf lower-frequency {
+ type oc-opt-types:frequency-type;
+ description
+ "Lower frequency of the specified PSD";
+ }
+
+ leaf upper-frequency {
+ type oc-opt-types:frequency-type;
+ description
+ "Upper frequency of the specified PSD";
+ }
+
+ leaf psd {
+ type oc-types:ieeefloat32;
+ units "nW/MHz";
+ 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";
+ }
+ }
+
+ grouping media-channel-psd-state {
+ description
+ "Operational state data for the media channel PSD";
+ }
+
+ grouping media-channel-psd-top {
+ description
+ "Top-level grouping ";
+
+ container psd-distribution {
+ description
+ "Enclosing container for the list of values describing
+ the power spectral density distribution";
+
+ list psd-value {
+ key "lower-frequency upper-frequency";
+ description
+ "List of tuples describing the PSD distribution";
+
+ leaf lower-frequency {
+ type leafref {
+ path "../config/lower-frequency";
+ }
+ description
+ "Reference to the list key";
+ }
+
+ leaf upper-frequency {
+ type leafref {
+ path "../config/upper-frequency";
+ }
+ description
+ "Reference to the list key";
+ }
+
+ container config {
+ description
+ "Configuration data for PSD";
+
+ uses media-channel-psd-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data for PSD";
+
+ uses media-channel-psd-config;
+ uses media-channel-psd-state;
+ }
+ }
+ }
+ }
+
+ grouping media-channel-config {
+ description
+ "Configuration data for media channel definitions";
+
+ leaf index {
+ type uint32;
+ description
+ "Identifier for the defined media channel";
+ }
+
+ leaf name {
+ type string;
+ description
+ "The user supplied name of the media channel";
+ }
+
+ leaf lower-frequency {
+ type oc-opt-types:frequency-type;
+ description
+ "The lower frequency for the spectrum defined by this media
+ channel";
+ }
+
+ leaf upper-frequency {
+ type oc-opt-types:frequency-type;
+ description
+ "The upper frequency for the spectrum defined by this media
+ channel";
+ }
+
+ leaf admin-status {
+ type oc-opt-types:admin-state-type;
+ description
+ "Sets the admin status of the media channel";
+ }
+
+ }
+
+ grouping media-channel-state {
+ description
+ "Operational state data for media channels ";
+
+ leaf oper-status {
+ type enumeration {
+ enum UP {
+ description
+ "Media channel is operationally up";
+ }
+ enum DOWN {
+ description
+ "Media channel is operationally down";
+ }
+ }
+ description
+ "Operational state of the media channel";
+ }
+
+ }
+
+ grouping media-channel-top {
+ description
+ "Top-level grouping for list of defined media channels";
+
+ container media-channels {
+ description
+ "Enclosing container for media channel list";
+
+ list channel {
+ key "index";
+ description
+ "List of media channels";
+
+ leaf index {
+ type leafref {
+ path "../config/index";
+ }
+ description
+ "Reference to index number of the media channel";
+ }
+
+ container config {
+ description
+ "Configuration data ";
+
+ uses media-channel-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data ";
+
+ uses media-channel-config;
+ uses media-channel-state;
+ }
+
+ uses media-channel-source-port-top;
+ uses media-channel-dest-port-top;
+ uses media-channel-psd-top;
+ }
+ }
+ }
+
+ grouping wavelength-router-top {
+ description
+ "Top level grouping for the wavelength router";
+
+ container wavelength-router {
+ description
+ "Top-level container for wavelength router device";
+
+ uses media-channel-top;
+ }
+ }
+
+ // data definition statements
+
+ uses wavelength-router-top;
+
+ // augment statements
+
+ // rpc statements
+
+ // notification statements
+
+}