ietf-microwave-radio-link

This is a module for the entities in a generic microwave system. Copyright (c) 2019 IETF Trust and the persons identified as au...

  • Version: 2019-06-19

    ietf-microwave-radio-link@2019-06-19


    
      module ietf-microwave-radio-link {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link";
    
        prefix mrl;
    
        import ietf-yang-types {
          prefix yang;
          reference
            "RFC 6991";
    
    
        }
        import iana-if-type {
          prefix ianaift;
        }
        import ietf-interfaces {
          prefix if;
          reference
            "RFC 8343";
    
    
        }
        import ietf-interface-protection {
          prefix ifprot;
          reference
            "RFC 8561";
    
    
        }
        import ietf-microwave-types {
          prefix mw-types;
          reference
            "RFC 8561";
    
    
        }
    
        organization
          "Internet Engineering Task Force (IETF) CCAMP WG";
    
        contact
          "WG List: <mailto:ccamp@ietf.org>
    
         Editors:
          Jonas Ahlberg (jonas.ahlberg@ericsson.com)
          Min Ye (amy.yemin@huawei.com)
          Xi Li (Xi.Li@neclab.eu)
          Daniela Spreafico (daniela.spreafico@nokia.com)
          Marko Vaupotic (Marko.Vaupotic@aviatnet.com)";
    
        description
          "This is a module for the entities in
         a generic microwave system.
    
         Copyright (c) 2019 IETF Trust and the persons identified as
         authors of the code.  All rights reserved.
    
         Redistribution and use in source and binary forms, with or
         without modification, is permitted pursuant to, and subject
         to the license terms contained in, the Simplified BSD License
         set forth in Section 4.c of the IETF Trust's Legal Provisions
         Relating to IETF Documents
         (http://trustee.ietf.org/license-info).
         This version of this YANG module is part of RFC 8561; see
         the RFC itself for full legal notices.";
    
        revision "2019-06-19" {
          description "Initial revision.";
          reference
            "RFC 8561: A YANG Data Model for Microwave Radio Link";
    
        }
    
    
        feature xpic {
          description
            "Indicates that the device supports XPIC.";
          reference
            "ETSI TR 102 311";
    
        }
    
        feature mimo {
          description
            "Indicates that the device supports MIMO.";
          reference
            "ETSI TR 102 311";
    
        }
    
        feature tdm {
          description
            "Indicates that the device supports TDM.";
        }
    
        typedef power {
          type decimal64 {
            fraction-digits 1;
          }
          description
            "Type used for the power values in the data nodes
           for configuration or status.";
        }
    
        augment /if:interfaces/if:interface {
          when
            "derived-from-or-self(if:type,"
              + "'ianaift:microwaveRadioLinkTerminal')";
          description
            "Addition of data nodes for the radio link terminal to
           the standard Interface data model, for interfaces of
           the type 'microwaveRadioLinkTerminal'.";
          leaf id {
            type string;
            description
              "Descriptive identity of the radio link terminal used by
             far-end RLT to check that it's connected to the correct
             near-end RLT.  Does not need to be configured if this
             check is not used.";
          }
    
          leaf mode {
            type identityref {
              base mw-types:rlt-mode;
            }
            mandatory true;
            description
              "A description of the mode in which the radio link
             terminal is configured.  The format is X plus Y.
             X represents the number of bonded carrier terminations.
             Y represents the number of protecting carrier
             terminations.";
          }
    
          leaf-list carrier-terminations {
            type if:interface-ref;
            must
              "derived-from-or-self(/if:interfaces/if:interface"
                + "[if:name = current()]"
                + "/if:type, 'ianaift:microwaveCarrierTermination')" {
              description
                "The type of interface must be
               'microwaveCarrierTermination'.";
            }
            min-elements 1;
            description
              "A list of references to carrier terminations
             included in the radio link terminal.";
          }
    
          leaf-list rlp-groups {
            type leafref {
              path "/mrl:radio-link-protection-groups/mrl:protection-group/mrl:name";
            }
            description
              "A list of references to the carrier termination
             groups configured for radio link protection in this
             radio link terminal.";
          }
    
          leaf-list xpic-pairs {
            if-feature xpic;
            type leafref {
              path "/mrl:xpic-pairs/mrl:xpic-pair/mrl:name";
            }
            description
              "A list of references to the XPIC pairs used in this
             radio link terminal.  One pair can be used by two
             terminals.";
            reference
              "ETSI TR 102 311";
    
          }
    
          leaf-list mimo-groups {
            if-feature mimo;
            type leafref {
              path "/mrl:mimo-groups/mrl:mimo-group/mrl:name";
            }
            description
              "A reference to the MIMO group used in this
             radio link terminal.  One group can be used by more
             than one terminal.";
            reference
              "ETSI TR 102 311";
    
          }
    
          list tdm-connections {
            if-feature tdm;
            key "tdm-type";
            description
              "A list stating the number of active TDM connections
             of a specified tdm-type that is configured to be
             supported by the RLT.";
            leaf tdm-type {
              type identityref {
                base mw-types:tdm-type;
              }
              description
                "The type of TDM connection, which also indicates
               the supported capacity.";
            }
    
            leaf tdm-connections {
              type uint16;
              mandatory true;
              description
                "Number of connections of the specified type.";
            }
          }  // list tdm-connections
        }
    
        augment /if:interfaces/if:interface {
          when
            "derived-from-or-self(if:type,"
              + "'ianaift:microwaveCarrierTermination')";
          description
            "Addition of data nodes for carrier termination to
           the standard Interface data model, for interfaces
           of the type 'microwaveCarrierTermination'.";
          leaf carrier-id {
            type string;
            default "A";
            description
              "ID of the carrier (e.g., A, B, C, or D).
             Used in XPIC and MIMO configurations to check that
             the carrier termination is connected to the correct
             far-end carrier termination.  Should be the same
             carrier ID on both sides of the hop.  Left as
             default value when MIMO and XPIC are not in use.";
          }
    
          leaf tx-enabled {
            type boolean;
            default "false";
            description
              "Disables (false) or enables (true) the transmitter.
             Only applicable when the interface is enabled
             (interface:enabled = true); otherwise, it's always
             disabled.";
          }
    
          leaf tx-oper-status {
            type enumeration {
              enum "off" {
                value 0;
                description
                  "Transmitter is off.";
              }
              enum "on" {
                value 1;
                description "Transmitter is on.";
              }
              enum "standby" {
                value 2;
                description
                  "Transmitter is in standby.";
              }
            }
            config false;
            description
              "Shows the operative status of the transmitter.";
          }
    
          leaf tx-frequency {
            type uint32;
            units "kHz";
            mandatory true;
            description
              "Selected transmitter frequency.";
          }
    
          choice freq-or-distance {
            mandatory true;
            description
              "A choice to configure rx-frequency directly or compute
             it as duplex-distance subtracted from tx-frequency.";
            leaf rx-frequency {
              type uint32;
              units "kHz";
              description
                "Selected receiver frequency.";
            }
            leaf duplex-distance {
              type int32;
              units "kHz";
              description
                "Distance between transmitter and receiver frequencies.";
            }
          }  // choice freq-or-distance
    
          leaf actual-rx-frequency {
            type uint32;
            units "kHz";
            config false;
            description
              "Computed receiver frequency.";
          }
    
          leaf actual-duplex-distance {
            type uint32;
            units "kHz";
            config false;
            description
              "Computed distance between Tx and Rx frequencies.";
          }
    
          leaf channel-separation {
            type uint32;
            units "kHz";
            mandatory true;
            description
              "The amount of bandwidth allocated to a carrier.  The
             distance between adjacent channels in a radio
             frequency channels arrangement";
            reference
              "ETSI EN 302 217-1";
    
          }
    
          leaf polarization {
            type enumeration {
              enum "horizontal" {
                value 0;
                description
                  "Horizontal polarization.";
              }
              enum "vertical" {
                value 1;
                description
                  "Vertical polarization.";
              }
              enum "not-specified" {
                value 2;
                description
                  "Polarization not specified.";
              }
            }
            default "not-specified";
            description
              "Polarization - a textual description for info only.";
          }
    
          choice power-mode {
            mandatory true;
            description
              "A choice of RTPC or ATPC.";
            container rtpc {
              description
                "Remote Transmit Power Control (RTPC).";
              reference
                "ETSI EN 302 217-1";
    
              leaf maximum-nominal-power {
                type power {
                  fraction-digits 0;
                  range "-99..99";
                }
                units "dBm";
                mandatory true;
                description
                  "Selected output power.";
                reference
                  "ETSI EN 302 217-1";
    
              }
            }  // container rtpc
            container atpc {
              description
                "Automatic Transmitter Power Control (ATPC).";
              reference
                "ETSI EN 302 217-1";
    
              leaf maximum-nominal-power {
                type power {
                  fraction-digits 0;
                  range "-99..99";
                }
                units "dBm";
                mandatory true;
                description
                  "Selected maximum output power.  Minimum output
                 power is the same as the system capability,
                 minimum-power.";
                reference
                  "ETSI EN 302 217-1";
    
              }
    
              leaf atpc-lower-threshold {
                type power {
                  fraction-digits 0;
                  range "-99..-20";
                }
                units "dBm";
                must
                  'current() <= ../atpc-upper-threshold';
                mandatory true;
                description
                  "The lower threshold for the input power at the
                 far end, which is used in the ATPC mode.";
                reference
                  "ETSI EN 302 217-1";
    
              }
    
              leaf atpc-upper-threshold {
                type power {
                  fraction-digits 0;
                  range "-99..-20";
                }
                units "dBm";
                mandatory true;
                description
                  "The upper threshold for the input power at the
                 far end, which is used in the ATPC mode.";
                reference
                  "ETSI EN 302 217-1";
    
              }
            }  // container atpc
          }  // choice power-mode
    
          leaf actual-transmitted-level {
            type power {
              fraction-digits 0;
              range "-99..99";
            }
            units "dBm";
            config false;
            description
              "Actual transmitted power level (0.1 dBm resolution).";
            reference
              "ETSI EN 301 129";
    
          }
    
          leaf actual-received-level {
            type power {
              fraction-digits 0;
              range "-99..-20";
            }
            units "dBm";
            config false;
            description
              "Actual received power level (0.1 dBm resolution).";
            reference
              "ETSI EN 301 129";
    
          }
    
          choice coding-modulation-mode {
            mandatory true;
            description
              "A selection of single or
             adaptive coding/modulation mode.";
            container single {
              description
                "A single modulation order only.";
              reference
                "ETSI EN 302 217-1";
    
              leaf selected-cm {
                type identityref {
                  base mw-types:coding-modulation;
                }
                mandatory true;
                description
                  "Selected the single coding/modulation.";
              }
            }  // container single
            container adaptive {
              description
                "Adaptive coding/modulation.";
              reference
                "ETSI EN 302 217-1";
    
              leaf selected-min-acm {
                type identityref {
                  base mw-types:coding-modulation;
                }
                mandatory true;
                description
                  "Selected minimum coding/modulation.
                 Adaptive coding/modulation shall not go
                 below this value.";
              }
    
              leaf selected-max-acm {
                type identityref {
                  base mw-types:coding-modulation;
                }
                mandatory true;
                description
                  "Selected maximum coding/modulation.
                 Adaptive coding/modulation shall not go
                 above this value.";
              }
            }  // container adaptive
          }  // choice coding-modulation-mode
    
          leaf actual-tx-cm {
            type identityref {
              base mw-types:coding-modulation;
            }
            config false;
            description
              "Actual coding/modulation in transmitting direction.";
          }
    
          leaf actual-snir {
            type decimal64 {
              fraction-digits 1;
              range "0..99";
            }
            units "dB";
            config false;
            description
              "Actual signal to noise plus the interference ratio
             (0.1 dB resolution).";
          }
    
          leaf actual-xpi {
            if-feature xpic;
            type decimal64 {
              fraction-digits 1;
              range "0..99";
            }
            units "dB";
            config false;
            description
              "The actual carrier to cross-polar interference.
             Only valid if XPIC is enabled (0.1 dB resolution).";
            reference
              "ETSI TR 102 311";
    
          }
    
          container ct-performance-thresholds {
            description
              "Specification of thresholds for when alarms should
             be sent and cleared for various performance counters.";
            leaf received-level-alarm-threshold {
              type power {
                fraction-digits 0;
                range "-99..-20";
              }
              units "dBm";
              default "-99";
              description
                "An alarm is sent when the received power level is
               below the specified threshold.";
              reference
                "ETSI EN 301 129";
    
            }
    
            leaf transmitted-level-alarm-threshold {
              type power {
                fraction-digits 0;
                range "-99..99";
              }
              units "dBm";
              default "-99";
              description
                "An alarm is sent when the transmitted power level
               is below the specified threshold.";
              reference
                "ETSI EN 301 129";
    
            }
    
            leaf ber-alarm-threshold {
              type enumeration {
                enum "1e-9" {
                  value 0;
                  description
                    "Threshold at 1e-9 (10^-9).";
                }
                enum "1e-8" {
                  value 1;
                  description
                    "Threshold at 1e-8 (10^-8).";
                }
                enum "1e-7" {
                  value 2;
                  description
                    "Threshold at 1e-7 (10^-7).";
                }
                enum "1e-6" {
                  value 3;
                  description
                    "Threshold at 1e-6 (10^-6).";
                }
                enum "1e-5" {
                  value 4;
                  description
                    "Threshold at 1e-5 (10^-5).";
                }
                enum "1e-4" {
                  value 5;
                  description
                    "Threshold at 1e-4 (10^-4).";
                }
                enum "1e-3" {
                  value 6;
                  description
                    "Threshold at 1e-3 (10^-3).";
                }
                enum "1e-2" {
                  value 7;
                  description
                    "Threshold at 1e-2 (10^-2).";
                }
                enum "1e-1" {
                  value 8;
                  description
                    "Threshold at 1e-1 (10^-1).";
                }
              }
              default "1e-6";
              description
                "Specification of at which BER an alarm should
               be raised.";
              reference
                "ETSI EN 302 217-1";
    
            }
          }  // container ct-performance-thresholds
    
          leaf if-loop {
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Disables the IF Loop.";
              }
              enum "client" {
                value 1;
                description
                  "Loops the signal back to the client side.";
              }
              enum "radio" {
                value 2;
                description
                  "Loops the signal back to the radio side.";
              }
            }
            default "disabled";
            description
              "Enable (client/radio) or disable (disabled)
             the IF Loop, which loops the signal back to
             the client side or the radio side.";
          }
    
          leaf rf-loop {
            type enumeration {
              enum "disabled" {
                value 0;
                description
                  "Disables the RF Loop.";
              }
              enum "client" {
                value 1;
                description
                  "Loops the signal back to the client side.";
              }
              enum "radio" {
                value 2;
                description
                  "Loops the signal back to the radio side.";
              }
            }
            default "disabled";
            description
              "Enable (client/radio) or disable (disabled)
             the RF loop, which loops the signal back to
             the client side or the radio side.";
          }
    
          container capabilities {
            config false;
            description
              "Capabilities of the installed equipment and
             some selected configurations.";
            leaf min-tx-frequency {
              type uint32;
              units "kHz";
              description
                "Minimum Tx frequency possible to use.";
            }
    
            leaf max-tx-frequency {
              type uint32;
              units "kHz";
              description
                "Maximum Tx frequency possible to use.";
            }
    
            leaf min-rx-frequency {
              type uint32;
              units "kHz";
              description
                "Minimum Rx frequency possible to use.";
            }
    
            leaf max-rx-frequency {
              type uint32;
              units "kHz";
              description
                "Maximum Tx frequency possible to use.";
            }
    
            leaf minimum-power {
              type power;
              units "dBm";
              description
                "The minimum output power supported.";
              reference
                "ETSI EN 302 217-1";
    
            }
    
            leaf maximum-available-power {
              type power;
              units "dBm";
              description
                "The maximum output power supported.";
              reference
                "ETSI EN 302 217-1";
    
            }
    
            leaf available-min-acm {
              type identityref {
                base mw-types:coding-modulation;
              }
              description
                "Minimum coding-modulation possible to use.";
            }
    
            leaf available-max-acm {
              type identityref {
                base mw-types:coding-modulation;
              }
              description
                "Maximum coding-modulation possible to use.";
            }
          }  // container capabilities
    
          container error-performance-statistics {
            config false;
            description
              "ITU-T G.826 error performance statistics relevant for
             a microwave/millimeter wave carrier.";
            leaf bbe {
              type yang:counter32;
              units "number of block errors";
              description
                "Number of Background Block Errors (BBEs).  A BBE is an
               errored block not occurring as part of Severely Errored
               Seconds (SES).  Discontinuities in the value of this
               counter can occur at re-initialization of the management
               system and at other times as indicated by the value of
               'discontinuity-time' in ietf-interfaces.";
              reference
                "ITU-T G.826";
    
            }
    
            leaf es {
              type yang:counter32;
              units "seconds";
              description
                "Number of Errored Seconds (ES).  An ES is a one-second
               period with one or more errored blocks or at least one
               defect.  Discontinuities in the value of this counter
               can occur at re-initialization of the management system
               and at other times as indicated by the value of
               'discontinuity-time' in ietf-interfaces.";
              reference
                "ITU-T G.826";
    
            }
    
            leaf ses {
              type yang:counter32;
              units "seconds";
              description
                "Number of SES.  SES is a one-second period that contains
               equal or more than 30% errored blocks or at least
               one defect.  SES is a subset of ES.  Discontinuities in
               the value of this counter can occur at re-initialization
               of the management system and at other times as indicated
               by the value of 'discontinuity-time' in ietf-interfaces.";
              reference
                "ITU-T G.826";
    
            }
    
            leaf uas {
              type yang:counter32;
              units "seconds";
              description
                "Number of Unavailable Seconds (UAS); that is, the
               total time that the node has been unavailable.
               Discontinuities in the value of this counter can occur
               at re-initialization of the management system and at
               other times as indicated by the value of
               'discontinuity-time' in ietf-interfaces.";
              reference
                "ITU-T G.826";
    
            }
          }  // container error-performance-statistics
    
          container radio-performance-statistics {
            config false;
            description
              "ETSI EN 301 129 radio physical interface statistics relevant
             for a carrier termination.";
            leaf min-rltm {
              type power {
                fraction-digits 0;
                range "-99..-20";
              }
              units "dBm";
              description
                "Minimum received power level.  Discontinuities in the
               value of this counter can occur at re-initialization
               of the management system and at other times as
               indicated by the value of 'discontinuity-time' in
               ietf-interfaces.";
              reference
                "ETSI EN 301 129";
    
            }
    
            leaf max-rltm {
              type power {
                fraction-digits 0;
                range "-99..-20";
              }
              units "dBm";
              description
                "Maximum received power level.  Discontinuities in the
               value of this counter can occur at re-initialization
               of the management system and at other times as
               indicated by the value of 'discontinuity-time' in
               ietf-interfaces.";
              reference
                "ETSI EN 301 129";
    
            }
    
            leaf min-tltm {
              type power {
                fraction-digits 0;
                range "-99..99";
              }
              units "dBm";
              description
                "Minimum transmitted power level.  Discontinuities
               in the value of this counter can occur at
               re-initialization of the management system and
               at other times as indicated by the value of
               'discontinuity-time' in ietf-interfaces.";
              reference
                "ETSI EN 301 129";
    
            }
    
            leaf max-tltm {
              type power {
                fraction-digits 0;
                range "-99..99";
              }
              units "dBm";
              description
                "Maximum transmitted power level.  Discontinuities
               in the value of this counter can occur at
               re-initialization of the management system and
               at other times as indicated by the value of
               'discontinuity-time' in ietf-interfaces.";
              reference
                "ETSI EN 301 129";
    
            }
          }  // container radio-performance-statistics
        }
    
        container radio-link-protection-groups {
          description
            "Configuration of radio link protected groups of
           carrier terminations in a radio link.  More than one
           protected group per radio link terminal is allowed.";
          uses ifprot:protection-groups {
            refine protection-group/members {
              must
                "derived-from-or-self(/if:interfaces/if:interface"
                  + "[if:name = current()]"
                  + "/if:type, 'ianaift:microwaveCarrierTermination')" {
                description
                  "The type of a protection member must be
                 'microwaveCarrierTermination'.";
              }
            }
    
            refine protection-group/working-entity {
              must
                "derived-from-or-self(/if:interfaces/if:interface"
                  + "[if:name = current()]"
                  + "/if:type, 'ianaift:microwaveCarrierTermination')" {
                description
                  "The type of a working-entity must be
                 'microwaveCarrierTermination'.";
              }
            }
          }
        }  // container radio-link-protection-groups
    
        container xpic-pairs {
          if-feature xpic;
          description
            "Configuration of carrier termination pairs
           for operation in XPIC mode.";
          reference
            "ETSI TR 102 311";
    
          list xpic-pair {
            key "name";
            description
              "List of carrier termination pairs in XPIC mode.";
            leaf name {
              type string;
              description
                "Name used for identification of the XPIC pair.";
            }
    
            leaf enabled {
              type boolean;
              default "false";
              description
                "Enable(true)/disable(false) XPIC";
            }
    
            leaf-list members {
              type if:interface-ref;
              must
                "derived-from-or-self(/if:interfaces/if:interface"
                  + "[if:name = current()]"
                  + "/if:type, 'ianaift:microwaveCarrierTermination')" {
                description
                  "The type of a member must be
                 'microwaveCarrierTermination'.";
              }
              min-elements 2;
              max-elements 2;
              description
                "Association to XPIC pairs used in the radio link
               terminal.";
            }
          }  // list xpic-pair
        }  // container xpic-pairs
    
        container mimo-groups {
          if-feature mimo;
          description
            "Configuration of carrier terminations
           for operation in MIMO mode.";
          reference
            "ETSI TR 102 311";
    
          list mimo-group {
            key "name";
            description
              "List of carrier terminations in MIMO mode.";
            leaf name {
              type string;
              description
                "Name used for identification of the MIMO group.";
            }
    
            leaf enabled {
              type boolean;
              default "false";
              description
                "Enable(true)/disable(false) MIMO.";
            }
    
            leaf-list members {
              type if:interface-ref;
              must
                "derived-from-or-self(/if:interfaces/if:interface"
                  + "[if:name = current()]"
                  + "/if:type, 'ianaift:microwaveCarrierTermination')" {
                description
                  "The type of a member must be
                 'microwaveCarrierTermination'.";
              }
              min-elements 2;
              description
                "Association to a MIMO group if used in the radio
               link terminal.";
            }
          }  // list mimo-group
        }  // container mimo-groups
      }  // module ietf-microwave-radio-link
    

© 2023 YumaWorks, Inc. All rights reserved.