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.";
        }
    
        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.";
          list protection-group {
            key "name";
            description
              "List of protected groups of interfaces
    in a higher-layer interface.";
            leaf name {
              type string;
              description
                "Name used for identification of the protection group.";
            }
    
            leaf protection-architecture-type {
              type identityref {
                base protection-architecture-type;
              }
              default "ifprot:one-plus-one-type";
              description
                "The type of protection architecture used, e.g., one
    interface protecting one or several other interfaces.";
              reference
                "ITU-T G.808.1";
    
            }
    
            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 protection member must be
    'microwaveCarrierTermination'.";
              }
              min-elements 2;
              description
                "Association to a group of interfaces configured for
    protection and used by a higher-layer interface.";
            }
    
            leaf operation-type {
              type enumeration {
                enum "non-revertive" {
                  value 0;
                  description
                    "In non-revertive operation, the traffic does not
    return to the working interface if the switch requests
    are terminated.";
                  reference
                    "ITU-T G.808.1";
    
                }
                enum "revertive" {
                  value 1;
                  description
                    "In revertive operation, the traffic always
    returns to (or remains on) the working interface
    if the switch requests are terminated.";
                  reference
                    "ITU-T G.808.1";
    
                }
              }
              default "non-revertive";
              description
                "The type of protection operation, i.e., revertive
    or non-revertive operation.";
            }
    
            leaf-list working-entity {
              when
                "../operation-type = 'revertive'";
              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 working-entity must be
    'microwaveCarrierTermination'.";
              }
              min-elements 1;
              description
                "The interfaces that the traffic normally should
    be transported over when there is no need to use the
    protecting interface.";
            }
    
            leaf revertive-wait-to-restore {
              when
                "../operation-type = 'revertive'";
              type uint16;
              units "seconds";
              default "0";
              description
                "The time to wait before switching back to the working
    interface if operation-type is revertive.";
              reference
                "ITU-T G.808.1";
    
            }
    
            leaf hold-off-timer {
              type uint16;
              units "milliseconds";
              default "0";
              description
                "Time interval after the detection of a fault and its
    confirmation as a condition requiring the protection-
    switching procedure.";
              reference
                "ITU-T G.808.1";
    
            }
    
            leaf status {
              type identityref {
                base protection-states;
              }
              config false;
              description
                "Status of the protection in a group of interfaces
    configured in a protection mode.";
              reference
                "ITU-T G.808.1";
    
            }
    
            action manual-switch-working {
              description
                "A switch action initiated by an operator command.
    It switches a normal traffic signal to the working
    transport entity.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc manual-switch-working
    
            action manual-switch-protection {
              description
                "A switch action initiated by an operator command.
    It switches a normal traffic signal to the protection
    transport entity.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc manual-switch-protection
    
            action forced-switch {
              description
                "A switch action initiated by an operator command.
    It switches a normal traffic signal to the protection
    transport entity and forces it to remain on that
    entity even when criteria for switching back to
    the original entity are fulfilled.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc forced-switch
    
            action lockout-of-protection {
              description
                "A switch action temporarily disables access to the
    protection transport entity for all signals.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc lockout-of-protection
    
            action freeze {
              description
                "A switch action temporarily prevents any switch action
    to be taken and, as such, freezes the current state.
    Until the freeze is cleared, additional near-end external
    commands are rejected, and fault condition changes and
    received Automatic Protection-Switching (APS) messages
    are ignored.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc freeze
    
            action exercise {
              description
                "A switch action to test if the APS communication is
    operating correctly.  It is lower priority than any 'real'
    switch request.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc exercise
    
            action clear {
              description
                "An action clears all switch commands.";
              reference
                "ITU-T G.808.1";
    
            }  // rpc clear
          }  // list protection-group
        }  // 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.