fujitsu-otn-odu-interfaces

This module contains YANG definitions for the ODU Interfaces of an Optical White Box (OWB). Copyright (c) 2015 Fujitsu Ltd. All...

  • Version: 2018-02-02

    fujitsu-otn-odu-interfaces@2018-02-02


    
      module fujitsu-otn-odu-interfaces {
    
        yang-version 1;
    
        namespace
          "urn:fujitsu:params:xml:ns:yang:interface:odu";
    
        prefix odu;
    
        import ietf-interfaces {
          prefix if;
        }
        import fujitsu-entity-states {
          prefix entity-states;
        }
        import fujitsu-entity-maintenance-testsignal {
          prefix fujitsu-testsignal;
        }
        import fujitsu-gcc {
          prefix fujitsuGcc;
        }
        import fujitsu-otn {
          prefix otn;
        }
        import fujitsu-performance-monitoring-typedefs {
          prefix pmtypedefs;
        }
        import fujitsu-ains-keywords {
          prefix ains;
        }
    
        organization "Fujitsu Ltd.";
    
        contact
          "Fujitsu Ltd.
    
    Address: 2801 Telecom Parkway
    	 Richardson, Texas 75082
    
    Tel: +1-800-USE-FTAC (1-800-873-3822)
    Email: ftac@fnc.fujitsu.com
    Web: www.fujitsu.com/us/services/telecom";
    
        description
          "This module contains YANG definitions
    for the ODU Interfaces of
    an Optical White Box (OWB).
    
    Copyright (c) 2015 Fujitsu Ltd.
    All rights reserved. ";
    
        revision "2018-02-02" {
          description
            "Adding TCM list to keep track of ALL Associated TCM from HO and LO ODU";
        }
    
        revision "2018-01-24" {
          description
            "Added new values for CBR service";
        }
    
        revision "2018-01-09" {
          description
            "Added BDI Cross Coupling ID";
        }
    
        revision "2017-12-13" {
          description
            "gfpnumts/cbrservice mandatory";
        }
    
        revision "2017-12-08" {
          description
            "Added hidden nodes for ts/tpn validation";
        }
    
        revision "2017-10-31" {
          description
            "Changed trib-port to uint16 type";
        }
    
        revision "2017-10-18" {
          description
            "Removed leafref for pg-name and XCON name";
        }
    
        revision "2017-10-11" {
          description
            "Modified SNCP hidden nodes and added XCON hidden nodes";
        }
    
        revision "2017-10-03" {
          description
            "Hidden Nodes for SNCP and Xcon";
        }
    
        revision "2017-09-22" {
          description
            "compilation fix and cbr names changed";
        }
    
        revision "2017-09-20" {
          description
            "Removed the Odu-function attribute";
        }
    
        revision "2017-09-07" {
          description "oleaf related attributes";
        }
    
        revision "2017-07-17" {
          description
            "Added parent-odu-allocation for odu container.
    Grouping parent-odu-allocation attributes only
    for easy reuse by other module like smr";
        }
    
        revision "2017-05-02" {
          description
            " Added AINS for odu container";
        }
    
        revision "2016-10-14" {
          description
            "Removed range from degthr description string";
        }
    
        revision "2016-10-10" {
          description
            "Removed when condition from opu container";
        }
    
        revision "2016-07-22" {
          description
            "pm thershold configure support.";
        }
    
        revision "2015-08-13" {
          description "Initial revision.";
        }
    
    
        feature bdi-cross-coupling {
          description
            "This feature iss used for activating
    BDI-Cross-Couplig";
        }
    
        identity odu-rate-identity {
          description
            "A unique rate identification of the ODUk.";
        }
    
        identity ODU4 {
          base odu-rate-identity;
          description "Identity for an ODU4";
        }
    
        identity ODU3 {
          base odu-rate-identity;
          description "Identity for an ODU3";
        }
    
        identity ODU2 {
          base odu-rate-identity;
          description "Identity for an ODU2";
        }
    
        identity ODU2e {
          base odu-rate-identity;
          description "Identity for an ODU2e";
        }
    
        identity ODU1 {
          base odu-rate-identity;
          description "Identity for an ODU1";
        }
    
        identity ODU0 {
          base odu-rate-identity;
          description "Identity for an ODU0";
        }
    
        identity ODUflexCBR {
          base odu-rate-identity;
          description
            "Identity for an ODUflex CBR";
        }
    
        identity ODUflexGFP {
          base odu-rate-identity;
          description
            "Identity for an ODUflexGFP";
        }
    
        identity ODUflex {
          base odu-rate-identity;
          description "Identity for an ODUflex";
        }
    
        identity odu-cbr-identity {
          description
            "A unique cbr identification of the ODUk.";
        }
    
        identity CBR-IBSDR {
          base odu-cbr-identity;
          description "Identity for CBR-IBSDR";
        }
    
        identity CBR-IBDDR {
          base odu-cbr-identity;
          description "Identity for CBR-IBDDR";
        }
    
        identity CBR-IBQDR {
          base odu-cbr-identity;
          description "Identity for CBR-IBQDR";
        }
    
        identity CBR-FC400 {
          base odu-cbr-identity;
          description "Identity for CBR-FC400";
        }
    
        identity CBR-FC800 {
          base odu-cbr-identity;
          description "Identity for CBR-FC800";
        }
    
        identity CBR-3GSDI {
          base odu-cbr-identity;
          description "Identity for CBR-3GSDI";
        }
    
        identity CBR-3GSDI1 {
          base odu-cbr-identity;
          description "Identity for CBR-3GSDI1";
        }
    
        identity CBR-CPRI4 {
          base odu-cbr-identity;
          description "Identity for CBR-CPRI4";
        }
    
        identity CBR-CPRI5 {
          base odu-cbr-identity;
          description "Identity for CBR-CPRI5";
        }
    
        identity CBR-CPRI6 {
          base odu-cbr-identity;
          description "Identity for CBR-CPRI6";
        }
    
        identity CBR-FC1600 {
          base odu-cbr-identity;
          description "Identity for CBR-FC1600";
        }
    
        identity CBR-FC3200 {
          base odu-cbr-identity;
          description "Identity for CBR-FC3200";
        }
    
        identity odtu-type-identity {
          description
            "A unique identification for the MSI odtu type.";
        }
    
        identity ODTU4.ts-Allocated {
          base odtu-type-identity;
          description
            "OPU4 MSI - ODTU4.ts, TS is occupied/allocated";
        }
    
        identity ODTU01 {
          base odtu-type-identity;
          description "ODTU01 MSI type";
        }
    
        identity ODTU12 {
          base odtu-type-identity;
          description "ODTU12 MSI type";
        }
    
        identity ODTU13 {
          base odtu-type-identity;
          description "ODTU13 MSI type";
        }
    
        identity ODTU23 {
          base odtu-type-identity;
          description "ODTU23 MSI type";
        }
    
        identity ODTU2.ts {
          base odtu-type-identity;
          description "ODTU2.ts MSI type";
        }
    
        identity ODTU3.ts {
          base odtu-type-identity;
          description "ODTU3.ts MSI type";
        }
    
        identity unallocated {
          base odtu-type-identity;
          description "Unallocated MSI type";
        }
    
        identity otn-monitoring-layer-identity {
          description
            "An identification for OTN monitoring layer.";
        }
    
        identity otn-section-layer {
          base otn-monitoring-layer-identity;
          description
            "Identity for section layer.";
        }
    
        identity otn-path-layer {
          base otn-monitoring-layer-identity;
          description "Identity for path layer.";
        }
    
        identity otn-tandem-connection-layer-1 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 1.";
        }
    
        identity otn-tandem-connection-layer-2 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 2.";
        }
    
        identity otn-tandem-connection-layer-3 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 3.";
        }
    
        identity otn-tandem-connection-layer-4 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 4.";
        }
    
        identity otn-tandem-connection-layer-5 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 5.";
        }
    
        identity otn-tandem-connection-layer-6 {
          base otn-monitoring-layer-identity;
          description
            "Identity for tandem connection layer 6.";
        }
    
        typedef trib-resource-type {
          type uint16 {
            range "1..80";
          }
        }
    
        notification odu-notif {
          leaf name {
            type leafref {
              path "/if:interfaces/if:interface/if:name";
            }
          }
    
          container odu {
            leaf ains {
              type ains-state;
              default "disabled";
            }
    
            leaf vstimer {
              when "../ains = 'enabled'";
              type vstimer;
            }
    
            leaf ACTVST {
              when "../ains = 'enabled'";
              type string;
              config false;
            }
    
            leaf actual-vstimer {
              type string {
                pattern
                  '([0-4][0-8])-([0-5][0-9])';
              }
              config false;
              description
                "The amount of time a valid state timer has been running uninterrupted.
    This timer is in the format <hh>-<mm>.";
            }
    
            leaf rate {
              type identityref {
                base odu-rate-identity;
              }
              description
                "rate identity of the ODU. 'identityref' is used
    to allow to extend for future higher rates";
            }
    
            leaf oduflexcbr-service {
              when "../rate = 'odu:ODUflexCBR'";
              type identityref {
                base odu-cbr-identity;
              }
              mandatory true;
              description
                "cbr service identity of ODUflex. 'identityref' is used
    to allow to extend";
            }
    
            leaf oduflex-gfp-num-ts {
              when "../rate = 'odu:ODUflexGFP'";
              type uint8 {
                range "1..80";
              }
              mandatory true;
              description
                "No of timeslots allowed when ODUflex-gfp";
            }
    
            leaf oduflex-rate {
              type decimal64 {
                fraction-digits 3;
              }
              config false;
              description "ODUflex client rate";
            }
    
            leaf oper-status {
              type oper-status;
              description
                "The current operational state of the interface.
    
    This leaf has the same semantics as ifOperStatus.";
            }
    
            leaf admin-status {
              type admin-status;
              default "down";
              description
                "The desired state of the interface.
    
    This leaf has the same read semantics as ifAdminStatus.";
            }
    
            leaf circuit-id {
              type string {
                length "0..45";
              }
              description
                "circuit identifier/user label";
            }
    
            leaf direction {
              type enumeration {
                enum "uni-rx" {
                  value 0;
                  description
                    "unidirectional receive only";
                }
                enum "uni-tx" {
                  value 1;
                  description
                    "unidirectional transmit only";
                }
                enum "bi" {
                  value 2;
                  description "bidirectional";
                }
              }
              description
                "direction of interface";
            }
    
            leaf tx-clock-source {
              type enumeration {
                enum "through" {
                  value 0;
                  description
                    "Timing is passed through";
                }
                enum "internal" {
                  value 1;
                  description
                    "Timed from freerunning internal oscillator";
                }
                enum "system" {
                  value 2;
                  description
                    "Timed from system active clock reference";
                }
              }
              description
                "Transmit Clock - Specifies souce of ODU transit timing";
            }
    
            leaf ais-pt {
              type enumeration {
                enum "ais" {
                  value 0;
                  description
                    "use AIS-ODU for escalation";
                }
                enum "csf" {
                  value 1;
                  description
                    "use CSF-OPU for escalation";
                }
              }
              description
                "alarm escalation setting";
            }
    
            container tx-ftfl {
              description
                "Transmit Fault Type Fault Location (FTFL)";
              leaf fw-op-id {
                type string {
                  length "0..9";
                }
                description
                  "Forward Operator Indentifier sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf fw-op-spec {
                type string {
                  length "0..118";
                }
                description
                  "Forward Operator Specific sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf bw-op-id {
                type string {
                  length "0..9";
                }
                description
                  "Backward Operator Indentifier sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf bw-op-spec {
                type string {
                  length "0..118";
                }
                description
                  "Backward Operator Specific sub field of the backward and forward fields
    in the FTFL message";
              }
            }  // container tx-ftfl
    
            container rx-ftfl {
              description
                "Receive Fault Type Fault Location (FTFL)";
              leaf fw-op-id {
                type string {
                  length "0..9";
                }
                description
                  "Forward Operator Indentifier sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf fw-op-spec {
                type string {
                  length "0..118";
                }
                description
                  "Forward Operator Specific sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf bw-op-id {
                type string {
                  length "0..9";
                }
                description
                  "Backward Operator Indentifier sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf bw-op-spec {
                type string {
                  length "0..118";
                }
                description
                  "Backward Operator Specific sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf fw-flt-typ {
                type uint8 {
                  range "0..255";
                }
                description
                  "Forward Fault Type sub field of the backward and forward fields
    in the FTFL message";
              }
    
              leaf bw-flt-typ {
                type uint8 {
                  range "0..255";
                }
                description
                  "Backward Fault Type sub field of the backward and forward fields
    in the FTFL message";
              }
            }  // container rx-ftfl
    
            leaf monitoring-mode {
              type enumeration {
                enum "not-terminated" {
                  value 0;
                  description
                    "Not Terminated: no detection or generation.
    Overhead is passed through the interface transparently in receive direction";
                }
                enum "terminated" {
                  value 1;
                  description
                    "Terminated: detection and generation enabled.
    Overhead is erased (replaced with all zeros) in receive direction";
                }
                enum "monitored" {
                  value 2;
                  description
                    "Monitored: detection enabled.
    Overhead is passed through the interface transparently in receive direction";
                }
              }
              description
                "Monitoring mode of the ODU Overhead";
            }
    
            leaf auto-rx {
              type boolean;
              description
                "enable/disable generation of transient condition when
    the value of the TTI changes.";
            }
    
            leaf auto-tx {
              type boolean;
              description
                "enable/disable automatic population of outgoing TTI";
            }
    
            choice standard {
              default "itu";
              description
                "choice between ANSI Trail Trace Identifier and
    ITU-T Trail Trace Identifer (SAPI, DAPI, OperatorSpecific)";
              container tti-itu {
                description
                  "ITU-T Trail Trace Identifer (SAPI, DAPI, OperatorSpecific)";
                container tx-tti {
                  description
                    "Transmitted Trail Trace Identifier";
                  leaf sapi {
                    type itu-otn-tti-sapi;
                    description
                      "Source Access Point Identifier";
                  }
    
                  leaf dapi {
                    type itu-otn-tti-dapi;
                    description
                      "Destination Access Point Identifier";
                  }
    
                  leaf op-spec {
                    type itu-otn-tti-op-spec;
                    description
                      "TTI Operator Spec";
                  }
                }  // container tx-tti
    
                container rx-tti {
                  config false;
                  description
                    "Received Trail Trace Identifier";
                  leaf sapi {
                    type itu-otn-oper-tti-sapi;
                    description
                      "Source Access Point Identifier";
                  }
    
                  leaf dapi {
                    type itu-otn-oper-tti-dapi;
                    description
                      "Destination Access Point Identifier";
                  }
    
                  leaf op-spec {
                    type itu-otn-oper-tti-op-spec;
                    description
                      "TTI Operator Spec";
                  }
                }  // container rx-tti
    
                container exp-tti {
                  description
                    "Expected Trail Trace Identifier";
                  leaf sapi {
                    type itu-otn-tti-sapi;
                    description
                      "Source Access Point Identifier";
                  }
    
                  leaf dapi {
                    type itu-otn-tti-dapi;
                    description
                      "Destination Access Point Identifier";
                  }
    
                  leaf op-spec {
                    type itu-otn-tti-op-spec;
                    description
                      "TTI Operator Spec";
                  }
                }  // container exp-tti
    
                leaf tim-det-mode {
                  type itu-tim-det-mode;
                  description
                    "TIM detection mode";
                }
    
                leaf tim-act-enabled {
                  type boolean;
                  description
                    "Enables TTI Mismatch consequent actions.";
                }
              }  // container tti-itu
              container tti-ansi {
                description
                  "ANSI Trail Trace Identifer";
                container tx-tti {
                  description
                    "Transmitted Trail Trace Identifier";
                  leaf tti {
                    type ansi-otn-tti;
                    description
                      "Trail Trace Identifier";
                  }
                }  // container tx-tti
    
                container rx-tti {
                  config false;
                  description
                    "Received Trail Trace Identifier";
                  leaf tti {
                    type ansi-otn-tti;
                    description
                      "Trail Trace Identifier";
                  }
                }  // container rx-tti
    
                container exp-tti {
                  description
                    "Expected Trail Trace Identifier";
                  leaf tti {
                    type ansi-otn-tti;
                    description
                      "Trail Trace Identifier";
                  }
                }  // container exp-tti
    
                leaf tim-act-enabled {
                  type boolean;
                  description
                    "Enables TTI Mismatch consequent actions.";
                }
              }  // container tti-ansi
            }  // choice standard
    
            leaf degthr {
              type int16 {
                range "-9..2";
              }
              default "0";
              description
                "DEGTHR:Degraded defect one-second Errored Block Count threshold
    DEGTHR specifies the exponent part X of 10^X [%].";
            }
    
            leaf degm {
              type int8 {
                range "2..10";
              }
              default "10";
              description
                "DEGM:Degraded defect consecutive one-second monitoring intervals";
            }
    
            leaf proactive-DM {
              type boolean;
              description
                "enable/disable proactive Delay Measurement";
            }
    
            leaf gcc0-pass-through {
              type boolean;
              description
                "If this attribute is set to false, GCC0 bytes are terminated.
    If set to true, GCC0 bytes are tunneled; if traffic is looped back
    GCC0 bytes will also be looped back.";
            }
    
            list tcm {
              key "layer tcm-direction";
              max-elements 6;
              description
                "Tandem Connection Management";
              leaf layer {
                type uint8 {
                  range "1..6";
                }
                description "TCM layer";
              }
    
              leaf extension {
                type enumeration {
                  enum "normal" {
                    value 0;
                  }
                  enum "erase" {
                    value 1;
                  }
                  enum "passthrough" {
                    value 2;
                  }
                }
                description "TCM extension";
              }
    
              leaf monitoring-mode {
                type enumeration {
                  enum "not-terminated" {
                    value 0;
                    description
                      "Not Terminated: no detection or generation.
    Overhead is passed through the interface transparently in receive direction
    unless extension is set for erase";
                  }
                  enum "terminated" {
                    value 1;
                    description
                      "Terminated: detection and generation enabled.
    Overhead is erased (replaced with all zeros) in receive direction, unless
    extension is set to passthrough";
                  }
                  enum "monitored" {
                    value 2;
                    description
                      "Monitored: detection enabled.
    Overhead is passed through the interface transparently in receive direction
    unless extension is set for erase";
                  }
                }
                description
                  "Monitoring mode of the TCM layer";
              }
    
              leaf ltc-act-enabled {
                type boolean;
                description
                  "enable/disable alarm transfer on detection of LTC";
              }
    
              leaf auto-rx {
                type boolean;
                description
                  "enable/disable generation of transient condition when
    the value of the TTI changes.";
              }
    
              leaf auto-tx {
                type boolean;
                description
                  "enable/disable automatic population of outgoing TTI";
              }
    
              choice standard {
                default "itu";
                description
                  "choice between ANSI Trail Trace Identifier and
    ITU-T Trail Trace Identifer (SAPI, DAPI, OperatorSpecific)";
                container tti-itu {
                  description
                    "ITU-T Trail Trace Identifer (SAPI, DAPI, OperatorSpecific)";
                  container tx-tti {
                    description
                      "Transmitted Trail Trace Identifier";
                    leaf sapi {
                      type itu-otn-tti-sapi;
                      description
                        "Source Access Point Identifier";
                    }
    
                    leaf dapi {
                      type itu-otn-tti-dapi;
                      description
                        "Destination Access Point Identifier";
                    }
    
                    leaf op-spec {
                      type itu-otn-tti-op-spec;
                      description
                        "TTI Operator Spec";
                    }
                  }  // container tx-tti
    
                  container rx-tti {
                    config false;
                    description
                      "Received Trail Trace Identifier";
                    leaf sapi {
                      type itu-otn-oper-tti-sapi;
                      description
                        "Source Access Point Identifier";
                    }
    
                    leaf dapi {
                      type itu-otn-oper-tti-dapi;
                      description
                        "Destination Access Point Identifier";
                    }
    
                    leaf op-spec {
                      type itu-otn-oper-tti-op-spec;
                      description
                        "TTI Operator Spec";
                    }
                  }  // container rx-tti
    
                  container exp-tti {
                    description
                      "Expected Trail Trace Identifier";
                    leaf sapi {
                      type itu-otn-tti-sapi;
                      description
                        "Source Access Point Identifier";
                    }
    
                    leaf dapi {
                      type itu-otn-tti-dapi;
                      description
                        "Destination Access Point Identifier";
                    }
    
                    leaf op-spec {
                      type itu-otn-tti-op-spec;
                      description
                        "TTI Operator Spec";
                    }
                  }  // container exp-tti
    
                  leaf tim-det-mode {
                    type itu-tim-det-mode;
                    description
                      "TIM detection mode";
                  }
    
                  leaf tim-act-enabled {
                    type boolean;
                    description
                      "Enables TTI Mismatch consequent actions.";
                  }
                }  // container tti-itu
                container tti-ansi {
                  description
                    "ANSI Trail Trace Identifer";
                  container tx-tti {
                    description
                      "Transmitted Trail Trace Identifier";
                    leaf tti {
                      type ansi-otn-tti;
                      description
                        "Trail Trace Identifier";
                    }
                  }  // container tx-tti
    
                  container rx-tti {
                    config false;
                    description
                      "Received Trail Trace Identifier";
                    leaf tti {
                      type ansi-otn-tti;
                      description
                        "Trail Trace Identifier";
                    }
                  }  // container rx-tti
    
                  container exp-tti {
                    description
                      "Expected Trail Trace Identifier";
                    leaf tti {
                      type ansi-otn-tti;
                      description
                        "Trail Trace Identifier";
                    }
                  }  // container exp-tti
    
                  leaf tim-act-enabled {
                    type boolean;
                    description
                      "Enables TTI Mismatch consequent actions.";
                  }
                }  // container tti-ansi
              }  // choice standard
    
              leaf degthr {
                type int16 {
                  range "-9..2";
                }
                default "0";
                description
                  "DEGTHR:Degraded defect one-second Errored Block Count threshold
    DEGTHR specifies the exponent part X of 10^X [%].";
              }
    
              leaf degm {
                type int8 {
                  range "2..10";
                }
                default "10";
                description
                  "DEGM:Degraded defect consecutive one-second monitoring intervals";
              }
    
              leaf proactive-DM {
                type boolean;
                description
                  "enable/disable proactive Delay Measurement";
              }
    
              leaf tcm-direction {
                type enumeration {
                  enum "up-tcm" {
                    value 0;
                    description
                      "TCM termination direction faces the switch fabric.";
                  }
                  enum "down-tcm" {
                    value 1;
                    description
                      "TCM termination direction faces the facility";
                  }
                }
                description "Direction of TCM.";
              }
    
              container pm {
                description
                  "Performance Monitoring Info";
                list pm-threshold {
                  key "pm-name pm-location pm-direction";
                  description
                    "List of PMs thresholds for the parent entity.";
                  leaf pm-name {
                    type pm-identity;
                  }
    
                  leaf pm-location {
                    type pm-location;
                  }
    
                  leaf pm-direction {
                    type pm-direction;
                  }
    
                  leaf pm-type {
                    type pm-type;
                  }
    
                  container pm-th-metered {
                    when
                      "../pm-type = 'metered'";
                    leaf pm-th-type {
                      type enumeration {
                        enum "auto" {
                          value 0;
                          description
                            "HW autoprovisioned";
                        }
                        enum "user" {
                          value 1;
                          description
                            "User-provisioned";
                        }
                      }
                      default "auto";
                    }
    
                    leaf pm-th-low {
                      when
                        "../pm-th-type = 'user'";
                      type pm-data-type;
                      mandatory true;
                    }
    
                    leaf pm-th-high {
                      when
                        "../pm-th-type = 'user'";
                      type pm-data-type;
                      mandatory true;
                    }
                  }  // container pm-th-metered
    
                  container pm-th-binned {
                    when "../pm-type = 'binned'";
                    list pm-time-periods {
                      key "pm-time-period";
                      leaf pm-time-period {
                        type pm-time-period;
                      }
    
                      leaf pm-value {
                        type pm-data-type;
                        mandatory true;
                      }
                    }  // list pm-time-periods
                  }  // container pm-th-binned
                }  // list pm-threshold
    
                list pm-oper-range {
                  key "pm-name pm-location pm-direction";
                  config false;
                  ordered-by user;
                  leaf pm-name {
                    type pm-identity;
                  }
    
                  leaf pm-location {
                    type pm-location;
                  }
    
                  leaf pm-direction {
                    type pm-direction;
                  }
    
                  leaf pm-alarm-low {
                    type pm-data-type;
                    description
                      "PM Alarm Detect Low";
                  }
    
                  leaf pm-alarm-high {
                    type pm-data-type;
                    description
                      "PM Alarm Detect High";
                  }
    
                  leaf pm-capability-min {
                    type pm-data-type;
                    description
                      "PM Operating Range Low";
                  }
    
                  leaf pm-capability-max {
                    type pm-data-type;
                    description
                      "PM Operating Range High";
                  }
    
                  leaf pm-warning-low {
                    type pm-data-type;
                    description
                      "PM Threshold Low";
                  }
    
                  leaf pm-warning-high {
                    type pm-data-type;
                    description
                      "PM Threshold High";
                  }
                }  // list pm-oper-range
              }  // container pm
            }  // list tcm
    
            container opu {
              description
                "Optical Channel Payload Unit (OPU)";
              leaf payload-type {
                type string {
                  length "2";
                  pattern '[0-9a-fA-F]*';
                }
                description "Payload Type";
              }
    
              leaf rx-payload-type {
                type string {
                  length "2";
                  pattern '[0-9a-fA-F]*';
                }
                description
                  "Received Payload Type";
              }
    
              leaf exp-payload-type {
                type string {
                  length "2";
                  pattern '[0-9a-fA-F]*';
                }
                description
                  "Expected Payload Type";
              }
    
              container msi {
                when
                  "../payload-type = '20' or ../payload-type = '21'";
                list tx-msi {
                  key "trib-slot";
                  description "Transmit MSI";
                  leaf trib-slot {
                    type uint16;
                    description
                      "tributary slot (TS)";
                  }
    
                  leaf odtu-type {
                    type identityref {
                      base odtu-type-identity;
                    }
                    description
                      "ODTU type, part of the MSI (Multiplex Structure Identifier)";
                  }
    
                  leaf trib-port {
                    type uint16;
                    description
                      "Tributary Port Number (0-based), part of the MSI";
                  }
                }  // list tx-msi
    
                list rx-msi {
                  key "trib-slot";
                  description "Receive MSI";
                  leaf trib-slot {
                    type uint16;
                    description
                      "tributary slot (TS)";
                  }
    
                  leaf odtu-type {
                    type identityref {
                      base odtu-type-identity;
                    }
                    description
                      "ODTU type, part of the MSI (Multiplex Structure Identifier)";
                  }
    
                  leaf trib-port {
                    type uint16;
                    description
                      "Tributary Port Number (0-based), part of the MSI";
                  }
                }  // list rx-msi
    
                list exp-msi {
                  key "trib-slot";
                  description "Expected MSI";
                  leaf trib-slot {
                    type uint16;
                    description
                      "tributary slot (TS)";
                  }
    
                  leaf odtu-type {
                    type identityref {
                      base odtu-type-identity;
                    }
                    description
                      "ODTU type, part of the MSI (Multiplex Structure Identifier)";
                  }
    
                  leaf trib-port {
                    type uint16;
                    description
                      "Tributary Port Number (0-based), part of the MSI";
                  }
                }  // list exp-msi
              }  // container msi
            }  // container opu
    
            container parent-odu-allocation {
              presence
                "Attributes for LO-ODU Allocation in its parent OPU";
              leaf trib-port-number {
                type trib-resource-type;
                mandatory true;
                description
                  "Tributary port number in parent OPU MSI";
              }
    
              leaf-list trib-slots {
                type trib-resource-type;
                min-elements 1;
                max-elements 80;
                description
                  "Trib slots occupied in parent OPU MSI";
              }
            }  // container parent-odu-allocation
    
            container pm {
              description
                "Performance Monitoring Info";
              list pm-threshold {
                key "pm-name pm-location pm-direction";
                description
                  "List of PMs thresholds for the parent entity.";
                leaf pm-name {
                  type pm-identity;
                }
    
                leaf pm-location {
                  type pm-location;
                }
    
                leaf pm-direction {
                  type pm-direction;
                }
    
                leaf pm-type {
                  type pm-type;
                }
    
                container pm-th-metered {
                  when "../pm-type = 'metered'";
                  leaf pm-th-type {
                    type enumeration {
                      enum "auto" {
                        value 0;
                        description
                          "HW autoprovisioned";
                      }
                      enum "user" {
                        value 1;
                        description
                          "User-provisioned";
                      }
                    }
                    default "auto";
                  }
    
                  leaf pm-th-low {
                    when
                      "../pm-th-type = 'user'";
                    type pm-data-type;
                    mandatory true;
                  }
    
                  leaf pm-th-high {
                    when
                      "../pm-th-type = 'user'";
                    type pm-data-type;
                    mandatory true;
                  }
                }  // container pm-th-metered
    
                container pm-th-binned {
                  when "../pm-type = 'binned'";
                  list pm-time-periods {
                    key "pm-time-period";
                    leaf pm-time-period {
                      type pm-time-period;
                    }
    
                    leaf pm-value {
                      type pm-data-type;
                      mandatory true;
                    }
                  }  // list pm-time-periods
                }  // container pm-th-binned
              }  // list pm-threshold
    
              list pm-oper-range {
                key "pm-name pm-location pm-direction";
                config false;
                ordered-by user;
                leaf pm-name {
                  type pm-identity;
                }
    
                leaf pm-location {
                  type pm-location;
                }
    
                leaf pm-direction {
                  type pm-direction;
                }
    
                leaf pm-alarm-low {
                  type pm-data-type;
                  description
                    "PM Alarm Detect Low";
                }
    
                leaf pm-alarm-high {
                  type pm-data-type;
                  description
                    "PM Alarm Detect High";
                }
    
                leaf pm-capability-min {
                  type pm-data-type;
                  description
                    "PM Operating Range Low";
                }
    
                leaf pm-capability-max {
                  type pm-data-type;
                  description
                    "PM Operating Range High";
                }
    
                leaf pm-warning-low {
                  type pm-data-type;
                  description "PM Threshold Low";
                }
    
                leaf pm-warning-high {
                  type pm-data-type;
                  description
                    "PM Threshold High";
                }
              }  // list pm-oper-range
            }  // container pm
    
            leaf lpg-name {
              type string;
              description "SNCP Line PG Name";
            }
    
            leaf ppg-name {
              type string;
              description "SNCP Path PG Name";
            }
    
            list from-xcon-name {
              key "xcon-name";
              leaf xcon-name {
                type string;
              }
            }  // list from-xcon-name
    
            list to-xcon-name {
              key "xcon-name";
              leaf xcon-name {
                type string;
              }
            }  // list to-xcon-name
    
            leaf-list trib-slots-hidden {
              type trib-resource-type;
              max-elements 80;
              description
                "Trib slots occupied in parent OPU MSIdden";
            }
    
            leaf-list trib-ports-hidden {
              type trib-resource-type;
              max-elements 80;
              description
                "Trib port occupied in parent OPU MSIdden";
            }
    
            leaf bdi-cross-coupling-id {
              if-feature bdi-cross-coupling;
              type uint32;
              description
                "BDI Cross Coupling ID.";
            }
    
            list allTcmList {
              key "oduIfName tcmLayer tcmDirn";
              leaf oduIfName {
                type string;
              }
    
              leaf tcmLayer {
                type uint8;
              }
    
              leaf tcmDirn {
                type uint8;
              }
            }  // list allTcmList
          }  // container odu
        }  // notification odu-notif
    
        rpc operate-dm {
          description
            "on-demand delay measurement.";
          input {
            leaf name {
              type leafref {
                path "/if:interfaces/if:interface/if:name";
              }
              description "interface name";
            }
    
            leaf layer-measured {
              type identityref {
                base otn-monitoring-layer-identity;
              }
              description
                "target layer for measurement";
            }
          }
    
          output {
            leaf dm-value {
              type uint32;
              description
                "response of command: measured delay value is responded.";
            }
          }
        }  // rpc operate-dm
      }  // module fujitsu-otn-odu-interfaces
    

© 2023 YumaWorks, Inc. All rights reserved.