| module openconfig-transport-line-common { |
| |
| yang-version "1"; |
| |
| // namespace |
| namespace "http://openconfig.net/yang/transport-line-common"; |
| |
| prefix "oc-line-com"; |
| |
| // import some basic types |
| import iana-if-type { prefix ift; } |
| import openconfig-extensions { prefix oc-ext; } |
| import openconfig-interfaces { prefix oc-if; } |
| import openconfig-platform { prefix oc-platform; } |
| import openconfig-types { prefix oc-types; } |
| import openconfig-transport-types { prefix oc-opt-types; } |
| |
| |
| // meta |
| organization "OpenConfig working group"; |
| |
| contact |
| "OpenConfig working group |
| www.openconfig.net"; |
| |
| description |
| "This module defines common data elements for OpenConfig data |
| models for optical transport line system elements, such as |
| amplifiers and ROADMs (wavelength routers)."; |
| |
| oc-ext:openconfig-version "0.3.1"; |
| |
| revision "2017-09-08" { |
| description |
| "Correct bug with OSC interfaces"; |
| reference "0.3.1"; |
| } |
| |
| revision "2017-07-08" { |
| description |
| "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"; |
| } |
| |
| |
| // extension statements |
| |
| // feature statements |
| |
| // identity statements |
| |
| identity OPTICAL_LINE_PORT_TYPE { |
| description |
| "Type definition for optical node port types"; |
| } |
| |
| identity INGRESS { |
| base OPTICAL_LINE_PORT_TYPE; |
| description |
| "Ingress port, corresponding to a signal entering |
| a line device such as an amplifier or wavelength |
| router."; |
| } |
| |
| identity EGRESS { |
| base OPTICAL_LINE_PORT_TYPE; |
| description |
| "Egress port, corresponding to a signal exiting |
| a line device such as an amplifier or wavelength |
| router."; |
| } |
| |
| identity ADD { |
| base OPTICAL_LINE_PORT_TYPE; |
| description |
| "Add port, corresponding to a signal injected |
| at a wavelength router."; |
| } |
| |
| identity DROP { |
| base OPTICAL_LINE_PORT_TYPE; |
| description |
| "Drop port, corresponding to a signal dropped |
| at a wavelength router."; |
| } |
| |
| identity MONITOR { |
| base OPTICAL_LINE_PORT_TYPE; |
| description |
| "Monitor port, corresponding to a signal used by an optical |
| channel monitor. This is used to represent the connection |
| that a channel monitor port is connected to. This |
| connection may be via physical cable and faceplate ports or |
| internal to the device"; |
| } |
| |
| // typedef statements |
| |
| // grouping statements |
| |
| grouping optical-osc-config { |
| description |
| "Configuration data for OSC interfaces"; |
| |
| leaf interface { |
| type oc-if:base-interface-ref; |
| description |
| "Reference to an OSC interface"; |
| } |
| } |
| |
| grouping optical-osc-state { |
| description |
| "Operational state data for OSC interfaces"; |
| |
| container input-power { |
| description |
| "The input optical power of this port in units |
| of 0.01dBm. If avg/min/max statistics are not supported, |
| the target is expected to just supply the instant value"; |
| |
| uses oc-types:avg-min-max-instant-stats-precision2-dBm; |
| } |
| |
| container output-power { |
| description |
| "The output optical power of this port in units |
| of 0.01dBm. If avg/min/max statistics are not supported, |
| the target is expected to just supply the instant value"; |
| |
| uses oc-types:avg-min-max-instant-stats-precision2-dBm; |
| } |
| |
| container laser-bias-current { |
| description |
| "The current applied by the system to the transmit laser to |
| achieve the output power. The current is expressed in mA |
| with up to one decimal precision. If avg/min/max statistics |
| are not supported, the target is expected to just supply |
| the instant value"; |
| |
| uses oc-types:avg-min-max-instant-stats-precision2-mA; |
| } |
| } |
| |
| |
| |
| grouping optical-osc-top { |
| description |
| "Top-level grouping for configuration and operational state |
| data for optical supervisory channels (OSC) for amplifiers, |
| WSS/ROADM, nodes, etc."; |
| |
| container config { |
| description |
| "Configuration data for OSCs"; |
| |
| uses optical-osc-config; |
| } |
| |
| container state { |
| |
| config false; |
| |
| description |
| "Operational state data for OSCs"; |
| |
| uses optical-osc-config; |
| uses optical-osc-state; |
| } |
| } |
| |
| |
| grouping transport-line-common-port-config { |
| description |
| "Configuration data for optical line ports"; |
| |
| leaf admin-state { |
| type oc-opt-types:admin-state-type; |
| description |
| "Sets the admin state of the optical-port"; |
| } |
| } |
| |
| grouping transport-line-common-port-state { |
| description |
| "Operational state data describing optical line ports"; |
| |
| leaf optical-port-type { |
| type identityref { |
| base OPTICAL_LINE_PORT_TYPE; |
| } |
| description |
| "Indicates the type of transport line port. This is an |
| informational field that should be made available by the |
| device (e.g., in the openconfig-platform model)."; |
| } |
| |
| container input-power { |
| description |
| "The total input optical power of this port in units |
| of 0.01dBm. If avg/min/max statistics are not supported, |
| just supply the instant value"; |
| |
| uses oc-types:avg-min-max-instant-stats-precision2-dBm; |
| } |
| |
| container output-power { |
| description |
| "The total output optical power of this port in units |
| of 0.01dBm. If avg/min/max statistics are not supported, |
| just supply the instant value"; |
| |
| uses oc-types:avg-min-max-instant-stats-precision2-dBm; |
| } |
| } |
| |
| grouping transport-line-common-port-top { |
| description |
| "Top-level grouping "; |
| |
| container optical-port { |
| description |
| "Top-level container "; |
| |
| container config { |
| |
| description |
| "Operational config data for optical line ports"; |
| |
| uses transport-line-common-port-config; |
| } |
| |
| container state { |
| |
| config false; |
| |
| description |
| "Operational state data for optical line ports"; |
| |
| uses transport-line-common-port-config; |
| uses transport-line-common-port-state; |
| } |
| } |
| } |
| |
| |
| |
| // data definition statements |
| |
| // uses optical-osc-top; |
| |
| // augment statements |
| |
| augment "/oc-platform:components/oc-platform:component" { |
| description |
| "Adding optical line port data to platform model"; |
| |
| uses transport-line-common-port-top { |
| when "/oc-platform:components/oc-platform:component/" + |
| "oc-platform:state/oc-platform:type = 'PORT'" { |
| description |
| "Augment is active when component is of type |
| PORT"; |
| } |
| } |
| } |
| |
| //TODO:this is placeholder until SONET model is added |
| //to interfaces model |
| augment "/oc-if:interfaces/oc-if:interface" { |
| when "oc-if:config/oc-if:type = 'ift:sonet'" { |
| description "Additional interface configuration parameters when |
| the interface type is SONET/SDH"; |
| } |
| description "Adds additional SONET/SDH-specific data to |
| osc model"; |
| |
| container sonet { |
| description |
| "Data related to SONET/SDH interfaces"; |
| } |
| } |
| |
| // rpc statements |
| |
| // notification statements |
| |
| } |