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.";
        }
    
        grouping block-base-ber-threshold {
          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";
          }
        }  // grouping block-base-ber-threshold
    
        grouping 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";
          }
        }  // grouping ftfl
    
        grouping ftfl-ft {
          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";
          }
        }  // grouping ftfl-ft
    
        typedef trib-resource-type {
          type uint16 {
            range "1..80";
          }
        }
    
        grouping msi-entry {
          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";
          }
        }  // grouping msi-entry
    
        grouping odu-attributes {
          description "ODU attributes";
          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";
          }
    
          uses entity-states:oper-status;
    
          uses entity-states:admin-status {
            refine admin-status {
              default "down";
              mandatory false;
            }
          }
    
          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)";
            uses ftfl;
          }  // container tx-ftfl
    
          container rx-ftfl {
            description
              "Receive Fault Type Fault Location (FTFL)";
            uses ftfl;
    
            uses ftfl-ft;
          }  // 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";
          }
    
          uses otn:tti-choice;
    
          uses block-base-ber-threshold;
    
          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";
            uses tcm-attributes;
    
            uses pmtypedefs:pm-info;
          }  // list tcm
    
          uses opu;
    
          container parent-odu-allocation {
            presence
              "Attributes for LO-ODU Allocation in its parent OPU";
            uses parent-odu-allocation-attributes;
          }  // container parent-odu-allocation
    
          uses pmtypedefs:pm-info;
    
          uses pg-attributes;
    
          list allTcmList {
            key "oduIfName tcmLayer tcmDirn";
            leaf oduIfName {
              type string;
            }
    
            leaf tcmLayer {
              type uint8;
            }
    
            leaf tcmDirn {
              type uint8;
            }
          }  // list allTcmList
        }  // grouping odu-attributes
    
        grouping opu {
          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";
                uses msi-entry;
              }  // list tx-msi
    
              list rx-msi {
                key "trib-slot";
                description "Receive MSI";
                uses msi-entry;
              }  // list rx-msi
    
              list exp-msi {
                key "trib-slot";
                description "Expected MSI";
                uses msi-entry;
              }  // list exp-msi
            }  // container msi
          }  // container opu
        }  // grouping opu
    
        grouping parent-odu-allocation-attributes {
          description
            "Allocation of the LO-ODU 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";
          }
        }  // grouping parent-odu-allocation-attributes
    
        grouping tcm-attributes {
          description
            "Tandem Connection Monitoring (TCM) attributes";
          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";
          }
    
          uses otn:tti-choice;
    
          uses block-base-ber-threshold;
    
          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.";
          }
        }  // grouping tcm-attributes
    
        grouping xcon-id {
          description "XCON ID Reference";
          leaf xcon-name {
            type string;
          }
        }  // grouping xcon-id
    
        grouping pg-attributes {
          description
            "Hidden attributes for PG and XCON";
          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";
            uses xcon-id;
          }  // list from-xcon-name
    
          list to-xcon-name {
            key "xcon-name";
            uses xcon-id;
          }  // 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.";
          }
        }  // grouping pg-attributes
    
        augment /if:interfaces/if:interface {
          container odu {
            when "../if:type = 'ianaift:otnOdu'";
            presence
              "Attribute Nodes for Optical Data Unit (ODU)";
            description
              "Optical Channel Data Unit (ODU)";
            uses ains:ains-prov-keywords;
    
            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>.";
            }
    
            uses fujitsu-testsignal:maint-testsignal;
    
            uses odu-attributes {
              refine oper-status {
                config false;
              }
    
              refine opu/rx-payload-type {
                config false;
              }
    
              refine opu/msi/tx-msi {
                config false;
              }
    
              refine opu/msi/rx-msi {
                config false;
              }
    
              refine opu/msi/exp-msi {
                config false;
              }
    
              refine rx-ftfl {
                config false;
              }
            }
    
            list list-gcc {
              key "gccType";
              description
                " List of GCCs (GCC1, GCC2, GCC12) ";
              uses fujitsuGcc:gcc-group;
            }  // list list-gcc
          }  // container odu
        }
    
        notification odu-notif {
          leaf name {
            type leafref {
              path "/if:interfaces/if:interface/if:name";
            }
          }
    
          container odu {
            uses ains:ains-prov-keywords;
    
            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>.";
            }
    
            uses odu-attributes;
          }  // container odu
        }  // notification odu-notif
    
        grouping rpc-response-status {
          leaf status {
            type enumeration {
              enum "Successful" {
                value 1;
              }
              enum "Failed" {
                value 2;
              }
              enum "In-progress" {
                value 3;
              }
            }
            mandatory true;
            description
              "Successful, Failed or In-progress";
          }
    
          leaf status-message {
            type string;
            description
              "Gives a more detailed status.";
          }
        }  // grouping rpc-response-status
    
        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.