Merge "Update YANG models for OpenFronthaul M-Plane."
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-ecpri-delay.yang
@@ -7,6 +7,10 @@ module o-ran-ecpri-delay {
     prefix "element";
   }
 
     prefix "element";
   }
 
+  import o-ran-wg4-features {
+     prefix "feat";
+  }
+
   organization "O-RAN Alliance";
 
   contact
   organization "O-RAN Alliance";
 
   contact
@@ -16,7 +20,7 @@ module o-ran-ecpri-delay {
     "This module is an optional module for supporting eCPRI message 5 handling
     used for eCPRI based delay measurements.
 
     "This module is an optional module for supporting eCPRI message 5 handling
     used for eCPRI based delay measurements.
 
-    Copyright 2019 the O-RAN Alliance.
+    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
 
     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -42,6 +46,25 @@ module o-ran-ecpri-delay {
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.";
 
     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
   revision "2019-02-04" {
     description
       "version 1.0.0
@@ -55,6 +78,7 @@ module o-ran-ecpri-delay {
 // groupings
 
   grouping msg5-group {
 // groupings
 
   grouping msg5-group {
+    description "an eCPRI message 5 grouping";
 
     container ru-compensation {
       config false;
 
     container ru-compensation {
       config false;
@@ -83,6 +107,32 @@ module o-ran-ecpri-delay {
         "whether O-RU's eCPRI message 5 handling is enabled.";
     }
 
         "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";
 
     container message5-sessions {
       description "session information for eCPRI message 5";
 
@@ -99,25 +149,54 @@ module o-ran-ecpri-delay {
           }
           description "the name of the processing element used for MSG5";
         }
           }
           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
         container flow-state {
           config false;
           description "MSG5 flow state";
           leaf responses-transmitted {
             type uint32;
             description
-              "The total number of eCPRI mesage 5 response messages transmitted by
+              "The total number of eCPRI message 5 response messages transmitted by
               the O-RU.";
           }
           leaf requests-transmitted {
             type uint32;
             description
               the O-RU.";
           }
           leaf requests-transmitted {
             type uint32;
             description
-              "The total number of eCPRI mesage 5 request messages transmitted by
+              "The total number of eCPRI message 5 request messages transmitted by
               the O-RU.";
           }
           leaf followups-transmitted {
             type uint32;
             description
               the O-RU.";
           }
           leaf followups-transmitted {
             type uint32;
             description
-              "The total number of eCPRI mesage 5 follow up messages transmitted by
+              "The total number of eCPRI message 5 follow up messages transmitted by
               the O-RU.";
           }
         }
               the O-RU.";
           }
         }
@@ -128,7 +207,7 @@ module o-ran-ecpri-delay {
 // top level container
 
   container ecpri-delay-message {
 // top level container
 
   container ecpri-delay-message {
-    description "top level tree covering off O-DU to O-RU msg5 delay measurement";
+    description "top-level tree covering off O-DU to O-RU msg5 delay measurement";
 
     uses msg5-group;
   }
 
     uses msg5-group;
   }