blob: 51b01e7288f338bdff6bf91756f0ab93b05d0fc4 [file] [log] [blame]
module ciena-waveserver-ptp {
namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-ptp";
prefix ptp;
import ciena-waveserver-typedefs {
prefix cienawstypes;
}
import ciena-waveserver-xcvr {
prefix xcvr;
}
organization
"Ciena Corporation";
contact
"Web URL: http://www.ciena.com/
Postal: 7035 Ridge Road
Hanover, Maryland 21076
U.S.A.
Phone: +1 800-921-1144
Fax: +1 410-694-5750";
description
"Physical Termination Point. This module models the physical characteristics of the signal. This base module contains generic definitions for all PTPs. Specific characteristics of PTPs can augment this model to provide more detail. PTPs are automatically provisioned by the system.";
revision 2017-11-27 {
description
"Added conditional 'when' statements to line-specific and client-specific leafs.";
reference "Waveserver Ai user's guide.";
}
revision 2017-08-10 {
description
"Waveserver Platform Data Model
Migrated from Waveserver Classic R1.4 YANG model.
Updated namespace to 'ciena-waveserver'.
Changed 'ptps' list key from 'ptp-index' (integer type) to 'ptp-id' (string type) to accommodate '<slot>-<port>' format.
Changed 'parent-index' to 'parent-id' (this is the parent xcvr-id) and type to leafref.
Changed 'rate' enum to 'nominal-bit-rate' string type, in Gbps units.
Renamed 'channels' container to 'lanes'.
Removed 'diagnostics' container.
Added 'lower-level-down' operational state value.
Wavelength is operational (config false) now. Also moved 'actual' wavelength attribute to per-lane attributes.
Moved ptp-pluggable operational attributes (tx loss-of-signal, loss-of-lock) into this common module. The pluggable-only attributes will be omitted from the display of line-side/modem PTP queries.
Added 'spli-management' support.";
reference "Waveserver Ai user's guide.";
}
typedef ptp-op-enum {
type enumeration {
enum "up" {
description
"The PTP is enabled/operational and capable of carrying traffic.";
}
enum "down" {
description
"The PTP is disabled.";
}
enum "tuning" {
description
"Wavelength or CDR tuning in progress.";
}
enum "fault" {
description
"There is an active alarm associated with the PTP.";
}
enum "lower-layer-down" {
description
"The PTP is enabled, but a parent object is faulted.";
}
}
description
"PTP operational state.";
}
container waveserver-ptps {
description
"Waveserver Physical Termination Point (PTP) configuration and operational data.";
list ptps {
key "ptp-id";
description
"List of PTP objects.";
leaf ptp-id {
type cienawstypes:name-string;
mandatory true;
description
"Unique, access identifier string of the PTP (e.g., '1-1'). Key value for the PTP list. Read-only attribute.";
}
container id {
config false;
description
"Identification information of this PTP instance.";
leaf name {
type cienawstypes:name-string;
config false;
description
"Name of the PTP instance. Read only attribute.";
}
}
container state {
description
"State information of this PTP instance.";
leaf admin-state {
type cienawstypes:enabled-disabled-enum;
description
"Administrative state (enabled or disabled) of the PTP. If Admin State is set to enabled, majority of the PTP fields will no longer be modifiable. When PTP Transmitter State is Disabled, PTP Admin State cannot be changed from Disabled to Enabled.";
}
leaf operational-state {
type ptp-op-enum;
config false;
description
"Operational state of the PTP. Read-only attribute.";
}
leaf spli-management {
when "../../properties/xcvr-type = 'WaveLogic Ai'" {
description
"SPLI management supported on line-side PTPs only.";
}
type cienawstypes:enabled-disabled-enum;
description
"Whether or not SPLI management is enabled for this PTP.";
}
}
container properties {
description
"All the configurable and operational data of this PTP instance.";
leaf xcvr-type {
type cienawstypes:xcvr-type;
description
"Transceiver type of the XCVR that's associated with this PTP. Type depends on what is physically plugged in. Read only attribute.";
}
leaf parent-id {
type leafref {
path "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:xcvr-id";
}
config false;
description
"Reference to the name of the transceiver (XCVR) associated with the PTP. Read-only attribute.";
}
leaf nominal-bit-rate {
type cienawstypes:string-maxl-16;
units "Gbps";
config false;
description
"Bit rate, nominal, in Gbps.";
}
container transmitter {
description
"PTP transmitter related config and operational data fields.";
leaf state {
type cienawstypes:enabled-disabled-na-enum;
description
"Transmitter state (enabled or disabled) of the PTP. PTP Admin State cannot be changed to enabled unless the transmitter state is enabled.";
}
container wavelength {
config false;
description
"PTP tx wavelength related operational data fields.";
leaf value {
type cienawstypes:decimal-2-dig;
units "nm";
config false;
description
"Wavelength value setting of the PTP, in nm. Read-only attribute.";
}
leaf min-value {
when "../../../xcvr-type = 'WaveLogic Ai'" {
description
"XCVR min-value supported on line-side PTPs only.";
}
type cienawstypes:decimal-2-dig-small;
units "nm";
config false;
description
"The minimum wavelength supported by the XCVR. Supported on line-side ports only.";
}
leaf max-value {
when "../../../xcvr-type = 'WaveLogic Ai'" {
description
"XCVR max-value supported on line-side PTPs only.";
}
type cienawstypes:decimal-2-dig-small;
units "nm";
config false;
description
"The maximum wavelength supported by the XCVR. Supported on line-side ports only.";
}
}
}
container lanes {
config false;
description
"PTP lanes related operational data fields.";
leaf number-of-lanes {
type cienawstypes:lanes-number;
config false;
description
"Number of lanes this PTP has.";
}
list lane {
key "lane-number";
config false;
max-elements "4";
description
"Operational data of a specific PTP lane.";
leaf lane-number {
type cienawstypes:lanes-number;
config false;
description
"Lane number of the PTP being queried.";
}
leaf actual-wavelength {
type cienawstypes:decimal-2-dig;
units "nm";
config false;
description
"Actual wavelength value for the lane, in nm.";
}
container rx {
description
"Lane Rx attributes.";
container power {
description
"Lane Rx Power operational attributes (actual power, min/max recorded power, etc.).";
uses xcvr:optical-power-group;
}
container status {
description
"Lane Rx Power high/low alarm/warning status/thresholds, where applicable for the XCVR type.";
uses xcvr:optical-power-status-group;
uses xcvr:optical-power-threshold-group;
leaf loss-of-signal {
type boolean;
config false;
description
"Rx Loss of Signal.";
}
leaf loss-of-lock {
when "../../../../../xcvr-type = 'QSFP28'" {
description
"Returned for on pluggables only.";
}
type boolean;
config false;
description
"Rx Loss of Lock.";
}
}
}
container tx {
description
"Lane Tx attributes.";
container power {
description
"Lane Tx Power operational attributes (actual power, min/max recorded power, etc.).";
uses xcvr:optical-power-group;
}
container status {
description
"Lane Tx Power high/low alarm/warning status/thresholds, where applicable for the XCVR type.";
uses xcvr:optical-power-status-group;
uses xcvr:optical-power-threshold-group;
leaf loss-of-signal {
when "../../../../../xcvr-type = 'QSFP28'" {
description
"Returned for on pluggables only.";
}
type boolean;
config false;
description
"Tx Loss of Signal.";
}
leaf loss-of-lock {
when "../../../../../xcvr-type = 'QSFP28'" {
description
"Returned for on pluggables only.";
}
type boolean;
config false;
description
"Tx Loss of Lock.";
}
}
}
}
}
}
}
}
}