+++ /dev/null
-module org-openroadm-prot-otn-linear-aps {
- namespace "http://org/openroadm/prot/otn-linear-aps";
- prefix org-openroadm-prot-otn-linear-aps;
-
- import org-openroadm-device {
- prefix org-openroadm-device;
- revision-date 2018-10-19;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2018-10-19;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions for device facility OTN linear APS protection groups.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- Also contains code components extracted from IETF Interfaces. These code components
- are copyrighted and licensed as follows:
-
- Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
- All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents carefully, as they
- describe your rights and restrictions with respect to this document. Code Components
- extracted from this document must include Simplified BSD License text as described in
- Section 4.e of the Trust Legal Provisions and are provided without warranty as
- described in the Simplified BSD License.";
-
- revision 2018-10-19 {
- description
- "Version 2.2.1";
- }
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
-
- identity otn-protection-type {
- description
- "OTN base protection identity from which
- specific protection types are derived.";
- }
-
- identity odu-one-plus-one {
- base otn-protection-type;
- description
- "ODU Linear Protection 1+1 permanant bridge";
- }
-
- grouping odu-sncp-protection-grps {
- list odu-sncp-pg {
- key "name";
- leaf name {
- type string;
- description
- "The odu-sncp-protection-group name";
- }
- leaf level {
- type enumeration {
- enum "line" {
- value 1;
- }
- enum "path" {
- value 2;
- }
- }
- mandatory true;
- description
- "Designates protection group as Line or Path";
- }
- leaf prot-type {
- type identityref {
- base otn-protection-type;
- }
- default "odu-one-plus-one";
- description
- "The type of the protection group.";
- }
- leaf switching-direction {
- type enumeration {
- enum "unidirectional-switching" {
- value 1;
- }
- enum "bidirectional-switching" {
- value 2;
- }
- }
- default "unidirectional-switching";
- description
- "Bidirectional refers to APS signaling enabled (G.873.1 Table 7-1 Table 8-1).";
- }
- leaf revertive {
- type boolean;
- default "false";
- description
- "Sets reversion behavior.";
- }
- leaf mode {
- type enumeration {
- enum "SNC/Ne" {
- value 1;
- description
- "applicable to line or path switching";
- }
- enum "SNC/Ns" {
- value 2;
- description
- "applicable to line or path switching";
- }
- enum "SNC/S" {
- value 3;
- description
- "applicable to line or path switching";
- }
- enum "SNC/I" {
- value 4;
- description
- "applicable to line switching only";
- }
- enum "CL-SNCG/I" {
- value 5;
- description
- "applicable to line switching only";
- }
- }
- mandatory true;
- description
- "Sets the protection mode";
- }
- leaf protection-trigger-level {
- type enumeration {
- enum "OTUk/ODUkA-SSF-SSD" {
- value 1;
- description
- "applicable to SNC/I";
- }
- enum "ODUkP/ODUjA-SSF-SSD" {
- value 2;
- description
- "applicable to CL-SNCG/I";
- }
- enum "ODUP-SSF-SSD" {
- value 3;
- description
- "applicable to SNC/Ne";
- }
- enum "ODUT1" {
- value 4;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- enum "ODUT2" {
- value 5;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- enum "ODUT3" {
- value 6;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- enum "ODUT4" {
- value 7;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- enum "ODUT5" {
- value 8;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- enum "ODUT6" {
- value 9;
- description
- "applicable to SNC/Ns or SNC/S";
- }
- }
- description
- "Indicates switch trigger.";
- }
- leaf wait-to-restore {
- when "../revertive = 'true'";
- type uint8 {
- range "1..12";
- }
- units "minutes";
- default "5";
- description
- "Wait to restore time in minutes";
- }
- container holdoff-timer {
- leaf holdoff {
- type uint8 {
- range "0 | 20 | 100";
- }
- units "milliseconds";
- default "0";
- description
- "switch hold-off time in milliseconds";
- }
- leaf holdoff-multiplier {
- when "../holdoff= 100";
- type uint8 {
- range "1 .. 100";
- }
- default "1";
- description
- "switch holdoff time multiplier x100 milliseconds";
- }
- }
- leaf working-if {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
- }
- mandatory true;
- description
- "Designated work interface";
- }
- leaf-list pg-interfaces {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
- }
- min-elements 1;
- description
- "List of interfaces in the PG";
- }
- leaf active-if {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
- }
- config false;
- description
- "Active interface in the PG";
- }
- }
- }
-
- rpc odu-sncp-protection-switch {
- description
- "ODU SNCP Protection Switch RPC with synchronous implementation";
- input {
- leaf protection-group {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protection-grps/org-openroadm-prot-otn-linear-aps:odu-sncp-pg/org-openroadm-prot-otn-linear-aps:name";
- }
- mandatory true;
- description
- "Target protection group";
- }
- leaf pg-interface {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
- }
- mandatory true;
- description
- "Target protection group interface";
- }
- leaf switch-command {
- type enumeration {
- enum "Lock-Out-Protect" {
- value 1;
- }
- enum "Force-Switch" {
- value 2;
- }
- enum "Manual-Switch" {
- value 3;
- }
- enum "Release" {
- value 4;
- }
- }
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- }
- notification odu-sncp-pg-switch-event {
- leaf switch-status {
- type enumeration {
- enum "switched-to-protect" {
- value 1;
- }
- enum "switched-back-to-working" {
- value 2;
- }
- }
- description
- "Completed protection switch";
- }
- leaf odu-sncp-pg-name {
- type string;
- description
- "The odu-sncp-protection-group name";
- }
- }
- augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protection-grps" {
- uses odu-sncp-protection-grps;
- }
-}