+++ /dev/null
-module org-openroadm-ber-test {
- namespace "http://org/openroadm/ber-test";
- prefix org-openroadm-ber-test;
-
- import org-openroadm-common-service-types {
- prefix org-openroadm-common-service-types;
- revision-date 2021-12-10;
- }
- import org-openroadm-common-ber-test {
- prefix org-openroadm-common-ber-test;
- revision-date 2020-05-29;
- }
- import ietf-yang-types {
- prefix yang;
- revision-date 2013-07-15;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions for ber test
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- 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";
-
- revision 2021-12-10 {
- description
- "Version 10.1";
- }
- revision 2021-09-24 {
- description
- "Version 10.0";
- }
- revision 2021-05-28 {
- description
- "Version 9.1";
- }
- revision 2021-03-26 {
- description
- "Version 9.0";
- }
- revision 2020-12-11 {
- description
- "Version 8.1";
- }
- revision 2020-09-25 {
- description
- "Version 8.0";
- }
- revision 2020-05-29 {
- description
- "Version 7.1.0";
- }
- revision 2020-03-27 {
- description
- "Version 7.0.0";
- }
- revision 2019-11-29 {
- description
- "Version 6.1.0";
- }
- revision 2019-09-27 {
- description
- "Version 6.0.0";
- }
- revision 2019-05-31 {
- description
- "Version 5.1.0";
- }
- revision 2019-03-29 {
- description
- "Version 5.0.0";
- }
- revision 2018-11-30 {
- description
- "Version 4.1.0";
- }
- revision 2018-09-28 {
- description
- "Version 4.0.0";
- }
- revision 2018-05-30 {
- description
- "Version 3.1.0";
- }
- revision 2018-03-30 {
- description
- "Version 3.0.0";
- }
-
- identity service-rpc-identity {
- description
- "Identifies the service rpc associated with this callback";
- }
-
- identity ber-test {
- base service-rpc-identity;
- description
- "Identity for the ber-test rpc";
- }
-
- grouping ber-measurement {
- leaf ber-passed {
- type boolean;
- }
- leaf target-prefec-ber {
- type decimal64 {
- fraction-digits 4;
- }
- }
- leaf measured-prefec-ber {
- type decimal64 {
- fraction-digits 4;
- }
- }
- }
-
- grouping ber-test-result-details-container {
- container ber-results {
- uses org-openroadm-common-ber-test:ber-test-options-container;
- leaf line-rate {
- type uint64;
- units "seconds";
- }
- container a-end-ber-measurement {
- uses ber-measurement;
- }
- container z-end-ber-measurement {
- uses ber-measurement;
- }
- }
- }
-
- grouping ber-test-complex-result-details-container {
- container ber-test-result-details {
- list supporting-service-details {
- key "index";
- leaf index {
- type uint16;
- description
- "Local id for list ";
- }
- uses org-openroadm-common-service-types:service-identifiers-container;
- uses org-openroadm-common-service-types:service-ends-container;
- leaf line-rate {
- type uint64;
- units "seconds";
- }
- container a-end-ber-measurement {
- uses ber-measurement;
- }
- container z-end-ber-measurement {
- uses ber-measurement;
- }
- }
- }
- }
-
- grouping ber-test-complex-result-container {
- container ber-results {
- uses org-openroadm-common-ber-test:ber-test-options-container;
- uses ber-test-complex-result-details-container;
- }
- }
-
- rpc ber-test {
- description
- "This is the ber-test rpc. It is supported for a service in the service-list.";
- input {
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf service-name {
- type string;
- mandatory true;
- }
- uses org-openroadm-common-ber-test:ber-test-options-container;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
-
- rpc complex-ber-test {
- description
- "This is the complex-ber-test rpc. It is supported for a service in the service-list.";
- input {
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf service-name {
- type string;
- mandatory true;
- }
- uses org-openroadm-common-ber-test:complex-ber-test-options-container;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
-
- rpc service-rpc-ber-test-async-callback {
- description
- "This is the callback notification that the controller invokes on the carrier system.";
- input {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:service-identifiers-container;
- leaf rpc-timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the initial rpc command that invoked the test";
- }
- leaf timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the callback/notification.";
- }
- uses ber-test-result-details-container;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
-
- rpc complex-service-rpc-ber-test-async-callback {
- description
- "This is the callback notification that the controller invokes on the carrier system.";
- input {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:service-identifiers-container;
- leaf rpc-timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the initial rpc command that invoked the test";
- }
- leaf timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the callback/notification.";
- }
- uses ber-test-complex-result-container;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
-
- notification service-notification-ber-test {
- description
- "This is the callback notification that the controller invokes on the carrier system.";
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:service-identifiers-container;
- leaf rpc-timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the initial rpc command that invoked the test";
- }
- leaf timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the callback/notification.";
- }
- uses ber-test-result-details-container;
- }
-
- notification complex-service-notification-ber-test {
- description
- "This is the callback notification that the controller invokes on the carrier system.";
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:service-identifiers-container;
- leaf rpc-timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the initial rpc command that invoked the test";
- }
- leaf timestamp {
- type yang:date-and-time;
- units "seconds";
- description
- "timestamp of the callback/notification.";
- }
- uses ber-test-complex-result-details-container;
- }
-}