Blame tests/data/files/ietf-microwave-radio-link@2018-10-03.yang

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