YANG definitions for ber test Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, All other rights reser...
Version: 2024-05-31
module org-openroadm-ber-test { yang-version 1; 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 "2024-05-31"; } 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 "2024-05-31" { description "Version 15.1"; } revision "2024-03-29" { description "Version 15.0"; } revision "2023-12-08" { description "Version 14.1"; } revision "2023-09-29" { description "Version 14.0"; } revision "2023-05-26" { description "Version 13.1"; } revision "2023-03-31" { description "Version 13.0"; } revision "2022-12-09" { description "Version 12.1"; } revision "2022-09-30" { description "Version 12.0"; } revision "2022-05-27" { description "Version 11.1"; } revision "2022-03-25" { description "Version 11.0"; } 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"; } rpc ber-test { description "This is the ber-test rpc. It is supported for a service in the service-list."; input { container sdnc-request-header { leaf request-id { type string; } leaf rpc-action { type rpc-actions; } leaf notification-url { type string; } leaf request-system-id { type string; } } // container sdnc-request-header leaf service-name { type string; mandatory true; } leaf version-number { type uint8; description "version-number for the service"; } container ber-options { leaf target-prefec-ber { type decimal64 { fraction-digits 18; } } leaf duration { type uint16; units "seconds"; } leaf pm-polling-timeout { type uint16; units "seconds"; } leaf retry-attempts { type uint16; } } // container ber-options } output { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common } } // rpc ber-test rpc complex-ber-test { description "This is the complex-ber-test rpc. It is supported for a service in the service-list."; input { container sdnc-request-header { leaf request-id { type string; } leaf rpc-action { type rpc-actions; } leaf notification-url { type string; } leaf request-system-id { type string; } } // container sdnc-request-header leaf service-name { type string; mandatory true; } leaf version-number { type uint8; description "version-number for the service"; } container complex-ber-options { container ber-options { leaf target-prefec-ber { type decimal64 { fraction-digits 18; } } leaf duration { type uint16; units "seconds"; } leaf pm-polling-timeout { type uint16; units "seconds"; } leaf retry-attempts { type uint16; } } // container ber-options leaf is-complex-result { type boolean; default "false"; description "True: Indicates that the results should be provided via complex-service-rpc-ber-test-async-callback. False: Indicates that the results should be provided via service-rpc-ber-test-async-callback"; } } // container complex-ber-options } output { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common } } // rpc complex-ber-test rpc service-rpc-ber-test-async-callback { description "This is the callback notification that the controller invokes on the carrier system."; input { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers 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."; } container ber-results { container ber-options { leaf target-prefec-ber { type decimal64 { fraction-digits 18; } } leaf duration { type uint16; units "seconds"; } leaf pm-polling-timeout { type uint16; units "seconds"; } leaf retry-attempts { type uint16; } } // container ber-options leaf line-rate { type uint64; units "seconds"; } container a-end-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; } } } // container a-end-ber-measurement container z-end-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; } } } // container z-end-ber-measurement } // container ber-results } output { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common } } // rpc service-rpc-ber-test-async-callback rpc complex-service-rpc-ber-test-async-callback { description "This is the callback notification that the controller invokes on the carrier system."; input { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers 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."; } container ber-results { container ber-options { leaf target-prefec-ber { type decimal64 { fraction-digits 18; } } leaf duration { type uint16; units "seconds"; } leaf pm-polling-timeout { type uint16; units "seconds"; } leaf retry-attempts { type uint16; } } // container ber-options container ber-test-result-details { list supporting-service-details { key "index"; leaf index { type uint16; description "Local id for list "; } container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers container service-a-end { container service-endpoint-details { leaf clli { type string; mandatory true; description "CLLI. Note this CLLI must match the site associated with the device-id of this endpoint"; } leaf node-id { type org-openroadm-common-node-types:node-id-type; description "Node Id is a globally unique identifier for a device. Same as leafref value in model, if applicable."; } container tx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container tx-direction container rx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container rx-direction } // container service-endpoint-details } // container service-a-end container service-z-end { container service-endpoint-details { leaf clli { type string; mandatory true; description "CLLI. Note this CLLI must match the site associated with the device-id of this endpoint"; } leaf node-id { type org-openroadm-common-node-types:node-id-type; description "Node Id is a globally unique identifier for a device. Same as leafref value in model, if applicable."; } container tx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container tx-direction container rx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container rx-direction } // container service-endpoint-details } // container service-z-end leaf line-rate { type uint64; units "seconds"; } container a-end-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; } } } // container a-end-ber-measurement container z-end-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; } } } // container z-end-ber-measurement } // list supporting-service-details } // container ber-test-result-details } // container ber-results } output { container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common } } // rpc complex-service-rpc-ber-test-async-callback notification service-notification-ber-test { description "This is the callback notification that the controller invokes on the carrier system."; container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers 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."; } container ber-results { container ber-options { leaf target-prefec-ber { type decimal64 { fraction-digits 18; } } leaf duration { type uint16; units "seconds"; } leaf pm-polling-timeout { type uint16; units "seconds"; } leaf retry-attempts { type uint16; } } // container ber-options leaf line-rate { type uint64; units "seconds"; } container a-end-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; } } } // container a-end-ber-measurement container z-end-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; } } } // container z-end-ber-measurement } // container ber-results } // notification service-notification-ber-test notification complex-service-notification-ber-test { description "This is the callback notification that the controller invokes on the carrier system."; container configuration-response-common { leaf request-id { type string; mandatory true; } leaf response-code { type string; mandatory true; } leaf response-message { type string; } leaf ack-final-indicator { type string; mandatory true; } } // container configuration-response-common container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers 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."; } container ber-test-result-details { list supporting-service-details { key "index"; leaf index { type uint16; description "Local id for list "; } container service-identifiers { leaf service-name { type string; } leaf common-id { type string; } leaf version-number { type uint64; } } // container service-identifiers container service-a-end { container service-endpoint-details { leaf clli { type string; mandatory true; description "CLLI. Note this CLLI must match the site associated with the device-id of this endpoint"; } leaf node-id { type org-openroadm-common-node-types:node-id-type; description "Node Id is a globally unique identifier for a device. Same as leafref value in model, if applicable."; } container tx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container tx-direction container rx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container rx-direction } // container service-endpoint-details } // container service-a-end container service-z-end { container service-endpoint-details { leaf clli { type string; mandatory true; description "CLLI. Note this CLLI must match the site associated with the device-id of this endpoint"; } leaf node-id { type org-openroadm-common-node-types:node-id-type; description "Node Id is a globally unique identifier for a device. Same as leafref value in model, if applicable."; } container tx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container tx-direction container rx-direction { container port { description "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port. From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model."; leaf port-device-name { type string; } leaf port-circuit-pack-name { type string; } leaf port-circuit-pack-type { type string; } leaf port-type { type string; } leaf port-name { type string; } leaf port-rack { type string; } leaf port-shelf { type string; } leaf port-slot { type string; } leaf port-sub-slot { type string; } } // container port } // container rx-direction } // container service-endpoint-details } // container service-z-end leaf line-rate { type uint64; units "seconds"; } container a-end-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; } } } // container a-end-ber-measurement container z-end-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; } } } // container z-end-ber-measurement } // list supporting-service-details } // container ber-test-result-details } // notification complex-service-notification-ber-test } // module org-openroadm-ber-test
© 2023 YumaWorks, Inc. All rights reserved.