Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-sync.yang
deleted file mode 100644 (file)
index 275a0f8c7b4fa911c197979f624fd8147707177b..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,916 +0,0 @@
-module o-ran-sync {
-  yang-version 1.1;
-  namespace "urn:o-ran:sync:1.0";
-  prefix "o-ran-sync";
-
-  import ietf-interfaces {
-    prefix "if";
-  }
-
-  import o-ran-interfaces {
-    prefix "o-ran-int";
-  }
-
-  organization "O-RAN Alliance";
-
-  contact
-    "www.o-ran.org";
-
-  description
-    "This module defines synchronization mechanism for the O-RAN Equipment.
-
-    Copyright 2019 the O-RAN Alliance.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the O-RAN Alliance nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2019-07-03" {
-    description
-      "version 1.1.0
-
-      1) backward compatible changes to introduce groupings.";
-
-    reference "ORAN-WG4.M.0-v01.00";
-  }
-
-  revision "2019-02-04" {
-    description
-      "version 1.0.0
-
-      1) imported model from xRAN
-      2) changed namespace and reference from xran to o-ran";
-
-    reference "ORAN-WG4.M.0-v01.00";
-  }
-
-  typedef geographic-coordinate-degree {
-           type decimal64 {
-             fraction-digits 8;
-           }
-           description
-             "Decimal degree (DD) used to express latitude and longitude
-              geographic coordinates.";
-       }
-
-  feature GNSS {
-    description
-      "This feature indicates that the equipment supports integrated GNSS functionality.";
-  }
-
-  feature ANTI-JAM {
-    description
-      "This feature indicates that the equipment supports Anti-jam fuctionality";
-  }
-
-  grouping sync-group {
-    container sync-status {
-      config false;
-
-      description
-        "Object of this class provides synchronization state of the module.";
-
-      leaf sync-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "equipment is in the locked mode, as defined in ITU-T G.810";
-          }
-          enum HOLDOVER {
-            description
-              "equipment clock is in holdover mode";
-          }
-          enum FREERUN {
-            description
-              "equipment clock isn't locked to an input reference, and is not in the holdover mode";
-          }
-        }
-        mandatory true;
-        description
-          "State of DU synchronization";
-      }
-
-      list supported-reference-types {
-        key item;
-        min-elements 1;
-        description
-          "Type of a synchronization supported source.";
-        leaf item {
-          type enumeration {
-            enum GNSS {
-              description
-                "GPS can be taken as a synchronization source";
-            }
-            enum PTP {
-              description
-                "Precision Time Protocol can be taken as a synchronization source";
-            }
-            enum SYNCE {
-              description
-                "Synchronous Ethernet can be taken as a synchronization source";
-            }
-          }
-          mandatory true;
-
-          description
-            "supported reference-type";
-        }
-      }
-    }
-
-    container sync-capability {
-      config false;
-
-      description
-        "Object of this class provides synchronization capabilities of the module.";
-
-      leaf sync-t-tsc {
-        type enumeration {
-          enum CLASS_B {
-            description
-              "Standard class B accuracy for synchronization is supported by the device";
-          }
-          enum ENCHANCED {
-            description
-              "Enchanced accuracy for synchronization is supported by the device";
-          }
-        }
-        mandatory true;
-        description
-          "This will provide information about T-TSC capability";
-
-        reference "IEEE 802.1CM";
-      }
-    }
-
-    container ptp-config {
-      description
-        "This MO defines configuration of Precise Time Protocol.";
-      leaf domain-number {
-        type uint8;
-        default 24;
-        description
-          "This parameter indicates Domain Number for PTP announce messages.";
-      }
-
-      list accepted-clock-classes {
-        key clock-classes;
-        leaf clock-classes {
-          type uint8;
-          description
-            "PTP Clock Class accepted by the O-RU";
-        }
-        description
-          "Contains list of PTP acceptable Clock Classes, sorted in the descending order.";
-      }
-
-      leaf ptp-profile {
-        type enumeration {
-          enum G_8275_1 {
-            description
-              "Usage of multicast over ethernet";
-          }
-
-          enum G_8275_2 {
-            description
-              "Usage of unicast over IP";
-          }
-        }
-        default "G_8275_1";
-        description
-          "Type of profile to be used in ptp setting";
-      }
-
-       container g-8275-1-config {
-         when "../ptp-profile='G_8275_1'";
-
-         description
-           "Container allowing for configuration of G8275.1";
-
-          leaf multicast-mac-address {
-            type enumeration {
-              enum FORWARDABLE {
-                description
-                  "means, that PTP shall use 01-1B-19-00-00-00 destination MAC address";
-              }
-              enum NONFORWARDABLE {
-                description
-                  "means, that PTP shall use 01-80-C2-00-00-0E destination MAC address";
-              }
-            }
-            default FORWARDABLE;
-            description
-              "The parameter defines destination MAC address, used by the DU in the egress PTP messages.";
-          }
-
-          leaf delay-asymmetry {
-            type int16 {
-              range -10000..10000;
-            }
-            default 0;
-            description
-              "Defines static phase error in the recovered PTP timing signal to be compensated at the O-RU.
-              The error is defined in units of nanoseconds in the range ±10 000 ns.";
-          }
-       }
-
-      container g-8275-2-config {
-        when "../ptp-profile='G_8275_2'";
-
-        description
-          "Container used for configuration of G8275.2 profile";
-
-        leaf local-ip-port {
-          type leafref {
-            path "/if:interfaces/if:interface/if:name";
-          }
-          description
-            "Reference to interface name corresponding to IP interface
-            used for G.8275.2";
-        }
-
-        list master-ip-configuration {
-          key local-priority;
-          description
-            "The parameter defines list of ip configuration of devices acting as ptp signal source.";
-          leaf local-priority {
-            type uint8;
-            description
-              "The parameter defines local priority or underlying master IP address.";
-          }
-
-          leaf ip-address {
-            type string;
-            description
-              "the parameter defines master IP address.";
-          }
-        }
-
-        leaf log-inter-sync-period {
-          type int8 {
-            range "-7..0";
-          }
-
-          description
-            "The parameter defines number of sync message during 1 second";
-        }
-
-        leaf log-inter-announce-period {
-          type int8 {
-            range "-3..0";
-          }
-
-          description
-            "The parameter defines number of announce message during 1 second";
-        }
-      }
-    }
-
-    container ptp-status {
-      description
-        "ptp status container";
-      leaf reporting-period {
-        type uint8;
-        default 10;
-        description
-          "This parameter defines minimum period in seconds between reports,
-          sent by the NETCONF Client, for parameters in this container.";
-      }
-      leaf lock-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "The integrated ordinary clock is synchronizing to the reference, recovered from PTP flow";
-          }
-          enum UNLOCKED {
-            description
-              "The integrated ordinary clock is not synchronizing to the reference, recovered from PTP flow";
-          }
-        }
-        config false;
-        description
-          "This parameter indicates, whether the integrated ordinary clock is
-          synchronizing to the reference, recovered from PTP signal.
-          The exact definition when to indicate locked or unlocked is up to specific
-          implementation.";
-      }
-
-      leaf clock-class {
-        type uint8;
-        config false;
-        description
-          "This parameter contains the clock class of the clock, controlled by the O-RU";
-      }
-
-      leaf clock-identity {
-        type string {
-          length 18;
-          pattern "0[xX][0-9a-fA-F]{16}";
-        }
-        config false;
-        description
-          "This parameter contains identity of the clock,
-            according to IEEE 1588-2008 defintion, controlled by the O-RU.
-          The string shall be formatted as an 8-octet hex value with the '0x' prefix.";
-      }
-
-      leaf partial-timing-supported {
-        type boolean;
-        config false;
-        description
-          "Provides information wheter G.8275.2 (partial timing support from network) is supported.";
-      }
-
-      list sources {
-        key local-port-number;
-        config false;
-
-        description
-          "Synchronisation sources";
-
-        leaf local-port-number {
-          type leafref {
-            path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
-          }
-          description
-            "This is reference to portNumber of ExternalEthernetPort to identify the port,
-            where the PTP signal is located.";
-        }
-
-        leaf state {
-          type enumeration {
-            enum PARENT {
-              description
-                "Indicates that this source is the current master clock, i.e. the clock,
-                which the clock, controlled by the Netconf Server, is synchronized to";
-            }
-            enum OK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, can potentially synchronize to,
-                i.e. clock class and priority, announced by the master clock is lower,
-                compared to those of the clock, controlled by the Netconf Server,
-                and and the clock class is accepted";
-            }
-            enum NOK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has an operational connection to,
-                but the class or priority of the master clock is higher or equal
-                to those of the clock, controlled by the Netconf Server,
-                or the clock class is not accepted";
-            }
-            enum DISABLED {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has no operational connection to";
-            }
-          }
-          description
-            "This parameter indicates status of the PTP source";
-        }
-
-        leaf two-step-flag {
-          type boolean;
-          description
-            "This parameter reflects status of the twoStepFlag attribute in Sync messages,
-            received from the PTP source.";
-        }
-
-        leaf leap61 {
-          type boolean;
-          description
-            "This parameter reflects status of the leap61 flag in Announce messages,
-            received from the PTP source.
-            When true, the last minute of the current UTC day contains 61 seconds.";
-        }
-
-        leaf leap59 {
-          type boolean;
-          description
-            "This parameter reflects status of the leap59 flag in Announce messages,
-            received from the PTP source.
-            When true, the last minute of the current UTC day contains 59 seconds.";
-        }
-
-        leaf current-utc-offset-valid {
-          type boolean;
-          description
-            "This parameter reflects status of the currentUtcOffsetValid flag in
-            Announce messages, received from the PTP source.
-            When true, the current UTC offset is valid.";
-        }
-
-        leaf ptp-timescale {
-          type boolean;
-          description
-            "This parameter reflects status of the ptpTimescale flag in Announce
-            messages, received from the PTP source.
-
-            When set, the clock timescale of the grandmaster clock is PTP;
-            otherwise, the timescale is ARB (arbitrary)";
-        }
-
-        leaf time-traceable {
-          type boolean;
-          description
-            "This parameter reflects status of the timeTraceable flag in Announce
-            messages, received from the PTP source.
-
-            When true, the timescale and the currentUtcOffset are traceable to a
-            primary reference";
-        }
-
-        leaf frequency-traceable {
-          type boolean;
-          description
-            "This parameter reflects status of the frequencyTraceable flag in
-            Announce messages, received from the PTP source.
-
-            When true, the frequency determining the timescale is traceable to a
-            primary reference";
-        }
-
-        leaf source-clock-identity {
-          type string {
-            length 18;
-            pattern "0[xX][0-9a-fA-F]{16}";
-          }
-          description
-            "This parameter reflects value of the sourceClockIdentity attribute in
-            Announce messages, received from the PTP source.
-
-            The string shall be formatted as an 8-octet hex value with the '0x'
-            prefix.";
-        }
-
-        leaf source-port-number {
-          type uint16;
-          description
-            "This parameter reflects value of the sourcePortNumber attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf current-utc-offset {
-          type int16;
-          description
-            "The offset between TAI and UTC when the epoch of the PTP system is
-            the PTP epoch, i.e., when ptp-timescale is TRUE; otherwise, the value
-            has no meaning";
-        }
-
-        leaf priority1 {
-          type uint8;
-          description
-            "This parameter reflects value of the priority1 attribute in Announce
-            messages, received from the PTP source.";
-        }
-
-        leaf clock-class {
-          type uint8;
-          description
-            "This parameter reflects value of the clockClass attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf clock-accuracy {
-          type uint8;
-          description
-            "This parameter reflects value of the clockAccuracy attribute in
-            Announce messages, received from the PTP source.";
-        }
-
-        leaf offset-scaled-log-variance {
-          type uint16;
-          description
-            "This parameter reflects value of the offsetScaledLogVariance
-            attribute in Announce messages, received from the PTP source.";
-        }
-
-        leaf priority2 {
-          type uint8;
-          description
-            "This parameter reflects value of the priority2 attribute in Announce
-            messages, received from the PTP source.";
-        }
-
-        leaf grandmaster-clock-identity {
-          type string {
-            length 18;
-            pattern "0[xX][0-9a-fA-F]{16}";
-          }
-          description
-            "This parameter reflects value of the grandmasterClockIdentity
-            attribute in Announce messages, received from the PTP source.
-
-            The string shall be formatted as an 8-octet hex value with the '0x'
-            prefix.";
-        }
-
-        leaf steps-removed {
-          type uint16;
-          description
-            "This parameter reflects value of the stepsRemoved attribute in
-            Announce messages, received from the PTP source.
-
-            It indicates the number of communication paths traversed
-            between the local clock and the grandmaster clock.";
-        }
-
-        leaf time-source {
-          type uint8;
-          description
-            "This parameter reflects value of the timeSource attribute in
-            Announce messages, received from the PTP source.";
-        }
-      }
-    }
-
-    container synce-config {
-      description
-        "This container defines the configuration of SyncE";
-
-      leaf-list acceptance-list-of-ssm {
-        type enumeration {
-          enum PRC {
-            description
-              "PRC";
-          }
-          enum PRS {
-            description
-              "PRS";
-          }
-          enum SSU_A {
-            description
-              "SSU_A";
-          }
-          enum SSU_B {
-            description
-              "SSU_B";
-          }
-          enum ST2 {
-            description
-              "ST2";
-          }
-          enum ST3 {
-            description
-              "ST3";
-          }
-          enum ST3E {
-            description
-              "ST3E";
-          }
-          enum EEC1 {
-            description
-              "EEC1";
-          }
-          enum EEC2 {
-            description
-              "EEC2";
-          }
-          enum DNU {
-            description
-              "DNU";
-          }
-          enum NONE {
-            description
-              "NONE";
-          }
-        }
-
-        default "PRC";
-
-        description
-          "The parameter contains the list of SyncE acceptable SSMs.";
-      }
-
-      leaf ssm-timeout {
-        type uint16;
-
-        description
-          "The parameter contains the value of maximum duration in seconds for which the actual SSM value may be different than configured values.";
-      }
-    }
-
-    container synce-status {
-      description
-        "SyncE status container";
-
-      leaf reporting-period {
-          type uint8;
-          default 10;
-          description
-            "This parameter defines minimum period in seconds between reports,
-             sent by the NETCONF client, for parameters in this container.";
-      }
-
-      leaf lock-state {
-        type enumeration {
-          enum LOCKED {
-            description
-              "The integrated ordinary clock is synchronizing to the reference, recovered from SyncE signal";
-          }
-          enum UNLOCKED {
-            description
-              "The integrated ordinary clock is not synchronizing to the reference, recovered from SyncE signal";
-          }
-        }
-        config false;
-        description
-          "This parameter indicates, whether the integrated ordinary clock is
-          synchronizing to the reference, recovered from SyncE signal.
-
-          The exact definition when to indicate locked or unlocked is up to
-          specific implementation.";
-      }
-
-      list sources {
-        key local-port-number;
-        config false;
-        leaf local-port-number {
-          type leafref {
-            path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
-          }
-          description
-            "This is reference to portNumber of ExternalEthernetPort to identify
-            the port, where the SyncE signal is located.";
-        }
-
-        leaf state {
-          type enumeration {
-            enum PARENT {
-              description
-                "Indicates that this source is the current master clock, i.e. the clock,
-                which the clock, controlled by the Netconf Server, is synchronized to";
-            }
-            enum OK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, can potentially synchronize to,
-                i.e. clock class and priority, announced by the master clock is lower,
-                compared to those of the clock, controlled by the Netconf Server,
-                and and the clock class is accepted";
-            }
-            enum NOK {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has an operational connection to,
-                but the class or priority of the master clock is higher or equal
-                to those of the clock, controlled by the Netconf Server,
-                or the clock class is not accepted";
-            }
-            enum DISABLED {
-              description
-                "Indicates that this source is an alternate master, which the clock,
-                controlled by the Netconf Server, has no operational connection to";
-            }
-          }
-          description
-            "This parameter indicates status of the SyncE source";
-        }
-
-        leaf quality-level {
-          type uint8 {
-            range 0..15;
-          }
-          description
-            "This parameter contains value of the SSM clock quality level,
-            received in SSM messages from the SyncE source.";
-        }
-        min-elements 1;
-        description
-          "This parameter contains characteristics of SyncE sources of the clock, controlled by the O-RU.";
-      }
-    }
-
-    container gnss-config {
-      if-feature GNSS;
-      description
-        "This container defines the configuration of Global Navigation Satellite System (GNSS).";
-
-      leaf enable {
-        type boolean;
-
-        description
-          "This parameter defines if GNSS receiver shall be enabled or not.";
-      }
-
-      leaf-list satellite-constelation-list {
-        type enumeration {
-          enum GPS {
-            description
-              "GPS";
-          }
-          enum GLONASS {
-            description
-              "GLONASS should not be used alone but always along with GPS or BEIDOU because of missing leap second information";
-          }
-          enum GALILEO {
-            description
-              "GALILEO";
-          }
-          enum BEIDOU {
-            description
-              "BEIDOU";
-          }
-        }
-
-        description
-          "This parameter defines list of constellations to be used to acquire synchronization.";
-      }
-
-      leaf polarity {
-        type enumeration {
-          enum POSITIVE {
-            description
-              "POSITIVE";
-          }
-          enum NEGATIVE {
-            description
-              "NEGATIVE";
-          }
-        }
-        default POSITIVE;
-
-        description
-          "This parameter defines pulse polarity";
-      }
-
-      leaf cable-delay {
-        type uint16 {
-          range "0..1000";
-        }
-        default 5;
-
-        description
-          "This parameter is used to compensate cable delay.";
-      }
-
-      leaf anti-jam-enable {
-        if-feature ANTI-JAM;
-        type boolean;
-        default false;
-        description
-          "This parameter is used to enable or disable anti-jamming.";
-      }
-    }
-
-    container gnss-status {
-      if-feature GNSS;
-      description
-        "Provides information about state of gps receiver";
-      leaf reporting-period {
-        type uint8;
-        default 10;
-        description
-          "This parameter defines minimum period in seconds between reports,
-          sent by the NETCONF Client, for parameters in this container.";
-      }
-      leaf name {
-        type string {
-          length "1..255";
-        }
-        config false;
-        description
-        "A name that is unique that identifies a GNSS instance.
-        This name may be used in fault management to refer to a
-        fault source or affected object";
-      }
-      leaf gnss-sync-status {
-        type enumeration {
-          enum SYNCHRONIZED {
-            description "GNSS functionality is synchronized";
-          }
-          enum ACQUIRING-SYNC {
-            description "GNSS functionality is acquiring sync";
-          }
-          enum ANTENNA-DISCONNECTED {
-            description "GNSS functionality has its antenna disconnected";
-          }
-          enum BOOTING {
-            description "GNSS functionality is booting";
-          }
-          enum ANTENNA-SHORT-CIRCUIT {
-            description "GNSS functionality has an antenna short circuit";
-          }
-        }
-        config false;
-        description "when available, indicates the status of the gnss receiver.";
-      }
-      container gnss-data {
-        when "../gnss-sync-status='SYNCHRONIZED'";
-        config false;
-        description
-          "GPS data contained";
-        leaf satellites-tracked {
-          type uint8;
-          description "Number of satellites tracked";
-        }
-        container location {
-          description
-            "Containes information about geo location";
-          leaf altitude {
-            type int64;
-            units millimeter;
-            description
-              "Distance above the sea level.";
-          }
-          leaf latitude {
-            type geographic-coordinate-degree {
-              range "-90..90";
-            }
-            description
-              "Relative position north or south on the Earth's surface.";
-          }
-          leaf longitude {
-            type geographic-coordinate-degree {
-              range "-180..180";
-            }
-            description
-              "Angular distance east or west on the Earth's surface.";
-          }
-        }
-      }
-    }
-  }
-
-  container sync {
-    description
-      "Main containter for sync related parameters";
-
-    uses sync-group;
-  }
-
-  //notification statement
-  notification synchronization-state-change {
-    description
-      "Notification used to inform about synchronization state change";
-
-    leaf sync-state {
-      type leafref {
-        path "/sync/sync-status/sync-state";
-      }
-      description
-        "State of equipment synchronization is notified at state change";
-    }
-  }
-
-  notification ptp-state-change {
-    description
-      "Notification used to inform about ptp synchronization state change";
-
-    leaf ptp-state{
-      type leafref{
-        path "/sync/ptp-status/lock-state";
-      }
-      description
-        "ptp-state-change notification is signalled from equipment at state change";
-    }
-  }
-  notification synce-state-change {
-    description
-      "Notification used to inform about synce synchronization state change";
-
-    leaf synce-state{
-      type leafref{
-        path "/sync/synce-status/lock-state";
-      }
-      description
-        "synce-state change notification is signalled from equipment at state change";
-    }
-  }
-  notification gnss-state-change {
-    if-feature GNSS;
-    description
-      "Notification used to inform about gnss synchronization state change";
-
-    leaf gnss-state{
-      type leafref{
-        path "/sync/gnss-status/gnss-sync-status";
-      }
-      description
-        "gnss-state-change notification is signalled from equipment at state change";
-    }
-  }
-
-}
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..f1f94a1bec7e2d7644c1c10f80d2057baaf64b11
--- /dev/null
@@ -0,0 +1 @@
+./o-ran-sync@2022-08-15.yang
\ No newline at end of file