Add WG4 yangs published 2023-03 (v11)
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-ecpri-delay@2021-12-01.yang
diff --git a/data-model/yang/published/o-ran/ru-fh/o-ran-ecpri-delay@2021-12-01.yang b/data-model/yang/published/o-ran/ru-fh/o-ran-ecpri-delay@2021-12-01.yang
new file mode 100644 (file)
index 0000000..c107141
--- /dev/null
@@ -0,0 +1,214 @@
+module o-ran-ecpri-delay {
+  yang-version 1.1;
+  namespace "urn:o-ran:message5:1.0";
+  prefix "o-ran-msg5";
+
+  import o-ran-processing-element {
+    prefix "element";
+  }
+
+  import o-ran-wg4-features {
+     prefix "feat";
+  }
+
+  organization "O-RAN Alliance";
+
+  contact
+    "www.o-ran.org";
+
+  description
+    "This module is an optional module for supporting eCPRI message 5 handling
+    used for eCPRI based delay measurements.
+
+    Copyright 2021 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 "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) typographical corrections in descriptions.
+      2) Add support for multiple transport-session-type per O-RU.";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-07-26" {
+    description
+      "version 7.0.0
+
+      1) add support for optional reporting of one or two-step measurements";
+
+    reference "ORAN-WG4.M.0-v07.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";
+  }
+
+// groupings
+
+  grouping msg5-group {
+    description "an eCPRI message 5 grouping";
+
+    container ru-compensation {
+      config false;
+      description
+        "leafs for ru timing compensation based on message 5 handling";
+      leaf tcv2 {
+        type uint32;
+        units nanoseconds;
+        description
+          "a compensation value to account for expected delay from packet
+          receipt at R2 to timestamping in the O-RU";
+      }
+      leaf tcv1 {
+        type uint32;
+        units nanoseconds;
+        description
+          "a compensation value to account for expected processing time from
+          timestamping in the O-RU until actual packet transmission at R3";
+      }
+    }
+
+    leaf enable-message5 {
+      type boolean;
+      default false;
+      description
+        "whether O-RU's eCPRI message 5 handling is enabled.";
+    }
+
+    leaf one-step-t34-supported {
+      type boolean;
+      config false;
+      description
+        "Indicates whether O-RU supports eCPRI message 5 one-step procedure for
+        T34 measurements.
+        An O-RU supporting this YANG model shall at least set one of
+        one-step-t34-supported or two-step-t34-supported to true.
+
+        Note, all O-RUs supporting this model shall support one-step measurements
+        for T12 measurement";
+    }
+
+    leaf two-step-t34-supported {
+      type boolean;
+      config false;
+      description
+        "Indicates whether O-RU supports eCPRI message 5 two-step procedure for
+        T34 measurements.
+        An O-RU supporting this YANG model shall at least set one of
+        one-step-t34-supported or two-step-t34-supported to true
+
+        Note, all O-RUs supporting this model shall support two-step measurements
+        for T12 measurement";
+    }
+
+    container message5-sessions {
+      description "session information for eCPRI message 5";
+
+      list session-parameters {
+        key "session-id";
+        description "list of MSG5 session information";
+        leaf session-id {
+          type uint32;
+          description "Session ID for MSG5 responder";
+        }
+        leaf processing-element-name {
+          type leafref {
+            path "/element:processing-elements/element:ru-elements/element:name";
+          }
+          description "the name of the processing element used for MSG5";
+        }
+
+        leaf transport-session-type {
+          if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+          type enumeration {
+            enum ETH-INTERFACE {
+              description "VLAN based CUS Transport ";
+            }
+            enum UDPIP-INTERFACE {
+              description "UDP/IP based CUS Transport ";
+            }
+            enum ALIASMAC-INTERFACE{
+              description "Alias MAC address based CUS Transport ";
+            }
+          }
+          description
+            "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
+             in which case it is used for referencing a processing element in 'transport-qualified-processing-element-name'";
+        }
+
+        leaf transport-qualified-processing-element-name {
+          if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
+          type leafref {
+            path "/element:processing-elements/element:additional-transport-session-type-elements[element:transport-session-type = current()/../transport-session-type]/element:ru-elements/element:name";
+          }
+          description
+              "the name of the processing element used for MSG5, used when the processing element
+               is configured by the list 'additional-transport-session-type-elements'";
+        }
+
+        container flow-state {
+          config false;
+          description "MSG5 flow state";
+          leaf responses-transmitted {
+            type uint32;
+            description
+              "The total number of eCPRI message 5 response messages transmitted by
+              the O-RU.";
+          }
+          leaf requests-transmitted {
+            type uint32;
+            description
+              "The total number of eCPRI message 5 request messages transmitted by
+              the O-RU.";
+          }
+          leaf followups-transmitted {
+            type uint32;
+            description
+              "The total number of eCPRI message 5 follow up messages transmitted by
+              the O-RU.";
+          }
+        }
+      }
+    }
+  }
+
+// top level container
+
+  container ecpri-delay-message {
+    description "top-level tree covering off O-DU to O-RU msg5 delay measurement";
+
+    uses msg5-group;
+  }
+}