Merge "Update YANG models for OpenFronthaul M-Plane."
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-shared-cell.yang
@@ -8,7 +8,18 @@ module o-ran-shared-cell {
   }
   import o-ran-processing-element {
     prefix "o-ran-pe";
-    revision-date 2020-04-17;
+  }
+
+  import o-ran-common-yang-types {
+    prefix "o-ran-cmn";
+  }
+
+  import o-ran-wg4-features {
+    prefix "feat";
+  }
+
+  import o-ran-usermgmt {
+    prefix "or-user";
   }
 
   organization "O-RAN Alliance";
@@ -45,6 +56,37 @@ module o-ran-shared-cell {
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.";
 
+  revision "2022-12-05" {
+    description
+      "version 11.0.0
+
+      1) eaxc-id-group support in shared cell";
+
+    reference "ORAN-WG4.M.0-v11.00";
+  }
+
+
+  revision "2022-08-15" {
+    description
+      "version 10.0.0
+
+      1) added SHARED-ORU-MULTI-OPERATOR anf SHARED-ORU-MULTI-ODU features";
+
+    reference "ORAN-WG4.M.0-v10.00";
+  }
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) typographical corrections in descriptions.
+      2) add support for multi-cell in cascade mode.
+      3) add SCS info and mapping with eaxc-id into Combine-entity.
+      4) add enhanced-t-combine feature Add T_combine-net (capability)
+      5) add Tx-duration, enhanced-t-combine-enabled";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
   revision "2020-12-10" {
     description
       "version 5.0.0
@@ -133,9 +175,22 @@ module o-ran-shared-cell {
           "Corresponding to the maximum FHM or cascade O-RU processing delay
            between receiving an IQ sample over the fronthaul interface from
            the south-node(s), combing them and transmitting it over the
-           fronthaul interface to the north-node.";
+           fronthaul interface to the north-node.
+
+           When enhanced-t-combine-enabled is 'true' by O-DU, FHM/Cascade O-RU supporting
+           ENHANCED-T-COMBINE uses t-combine-net and tx-duration instead of this value.";
       }
 
+      leaf t-combine-net {
+        type uint32;
+        units nanoseconds;
+        description
+          "Corresponding to the maximum FHM or cascade O-RU processing delay
+           between starting time to combine IQ data from received message(s)
+           and starting time to transmit them with a message over the fronthaul
+           interface to O-DU or the north-node.";
+         }
+
       leaf ta3-prime-max-upper-range {
         type uint32;
         units nanoseconds;
@@ -175,7 +230,7 @@ module o-ran-shared-cell {
         description
           "Indicates the maximum number of eaxc-ids for the copy functions
            of cascade O-RU or FHM.
-           For Cascade, it is same number of static-low-level-tx-endpoints plus
+           For Cascade O-RU, it is same number of static-low-level-tx-endpoints plus
            static-low-level-rx-endpoints, for which low-level-tx(rx)-endpoints
            are configured with eaxc-id in u-plane configuration.
            For FHM, it is max configurable number of eaxc-ids in
@@ -190,11 +245,34 @@ module o-ran-shared-cell {
         description
           "Indicates the maximum number of eaxc-ids for the combine functions
            of cascade O-RU or FHM.
-           For Cascade, it is same number of static-low-level-rx-endpoints,
+           For Cascade O-RU, it is same number of static-low-level-rx-endpoints,
            for which low-level-rx-endpoints are configured with eaxc-id in
            u-plane configuration.
            For FHM, it is max configurable number of eaxc-ids in rx-eaxc-id
-           in shared-cell-combine-uplane-config.";
+           in shared-cell-combine-uplane-config across all combine-enities.
+
+           When multiple scs or multiple c-plane section types with a single eaxc-id
+           are used for FHM supporting MULTIPLE-SCS-IN-EAXC, all eaxc-id instances
+           across scs, C-Plane section types and combine entities are counted even
+           though they are same eaxc-id. The counted number shall not excced this value.";
+      }
+
+      container eaxc-id-group-capabilities {
+        if-feature FHM;
+        description
+          "Presence of this container indicates that FHM can refer to C-Plane in UL direction
+          to support combining U-Plane messages commanded by C-Plane with Section Extension 10.";
+        leaf max-num-rx-eaxc-id-groups {
+          type uint8;
+          description
+            "Maximum number of configurable rx-eaxc-id-group supported by FHM.";
+        }
+
+        leaf max-num-rx-eaxc-ids-per-group {
+          type uint8;
+          description
+            "Maximum number of member-rx-eaxc-id in single rx-eaxc-id-group supported by FHM.";
+        }
       }
 
       list compression-method-supported {
@@ -203,6 +281,20 @@ module o-ran-shared-cell {
           "List of supported compression methods for FHM";
         uses cf:compression-details;
       }
+
+      leaf multi-cell-in-cascade-mode-supported {
+        type boolean;
+        description
+          "This parameter indicates whether O-RU supports multi cell
+           operation in shared cell cascade mode.
+           If multi-cell-in-cascade-mode-supported = false then each shared cell
+           O-RU in a physical cascaded chain can only be used for operating
+           carriers that correspond to a single cell.
+           If multi-cell-in-cascade-mode-supported = true, it means that the O-RU
+           may be configured such that the shared-cell carriers can be used to
+           support mutiple different cells, where each cell is served by its own
+           separate cascade chain. See CUS-Plane Specification for more details.";
+      }
     }
   }
 
@@ -227,7 +319,7 @@ module o-ran-shared-cell {
       case SELECTIVE-BEAM-ID {
         if-feature "FHM and SELECTIVE-BEAM-ID";
         description
-        "Case that FHM has selective transmission and reception fucntion
+        "Case that FHM has selective transmission and reception function
          by using beamId";
 
          uses shared-cell-copy-configuration-for-selective-beam-id;
@@ -344,6 +436,30 @@ module o-ran-shared-cell {
          "the name of shared-cell-copy-entity.";
       }
 
+      leaf odu-id {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        type string;
+        description
+          "An optional o-du identity associated with this list entry.
+          When present, indicates that the list entry is associated with
+          a particular odu-id.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource identity associated with this list entry.
+          When present, indicates that the list entry corresponds to a shared cell copy entity
+          associated with a shared resouce operator where the sro-id
+          identifies the specific shared resouce operator.
+
+          This schema-node is used to refince NACM privileges for shared
+          resource operators";
+      }
+
       uses processing-element-set;
 
       container shared-cell-copy-uplane-config {
@@ -396,6 +512,30 @@ module o-ran-shared-cell {
          "the name of shared-cell-copy-entity.";
       }
 
+      leaf odu-id {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        type string;
+        description
+          "An optional o-du identity associated with this list entry.
+          When present, indicates that the list entry is associated with
+          a particular odu-id.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource identity associated with this list entry.
+          When present, indicates that the list entry corresponds to a shared cell copy entity
+          with selective bean id associated with a shared resouce operator where the sro-id
+          identifies the specific shared resouce operator.
+
+          This schema-node is used to refince NACM privileges for shared
+          resource operators";
+      }
+
       uses processing-element-set-for-selective-beam-id;
 
       container shared-cell-copy-uplane-config {
@@ -449,8 +589,39 @@ module o-ran-shared-cell {
          "name of shared-cell-combine-entity";
       }
 
+      leaf odu-id {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        type string;
+        description
+          "An optional o-du identity associated with this list entry.
+          When present, indicates that the list entry is associated with
+          a particular odu-id.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource identity associated with this list entry.
+          When present, indicates that the list entry corresponds to a shared cell combine entity
+          associated with a shared resouce operator where the sro-id
+          identifies the specific shared resouce operator.
+
+          This schema-node is used to refince NACM privileges for shared
+          resource operators";
+      }
+
+
       uses processing-element-set;
 
+      leaf scs {
+            type o-ran-cmn:scs-config-type;
+            description
+            "sub-carrier spacing of U-Plane messages belong to combine-entity";
+        }
+
       leaf ta3-prime-max {
         type uint32;
         units nanoseconds;
@@ -460,6 +631,15 @@ module o-ran-shared-cell {
            timing at O-RU antenna.";
       }
 
+      leaf tx-duration {
+        type uint32;
+        units nanoseconds;
+        description
+          "informs FHM/Cascade O-RU of the maximum duration time of transmission
+          over the fronthaul interface to O-DU or north-node for messages
+          to be sent within Ta3-prime-max.";
+      }
+
       uses shared-cell-combine-uplane-config;
     }
   }
@@ -482,8 +662,38 @@ module o-ran-shared-cell {
          "name of shared-cell-combine-entity";
       }
 
+      leaf odu-id {
+        if-feature feat:SHARED-ORU-MULTI-ODU;
+        type string;
+        description
+          "An optional o-du identity associated with this list entry.
+          When present, indicates that the list entry is associated with
+          a particular odu-id.";
+      }
+
+      leaf sro-id {
+        if-feature feat:SHARED-ORU-MULTI-OPERATOR;
+        type leafref {
+          path "/or-user:users/or-user:user/or-user:sro-id";
+        }
+        description
+          "An optional shared resource identity associated with this list entry.
+          When present, indicates that the list entry corresponds to a shared cell combine entity
+          for selective beam id associated with a shared resouce operator where the sro-id
+          identifies the specific shared resouce operator.
+
+          This schema-node is used to refince NACM privileges for shared
+          resource operators";
+      }
+
       uses processing-element-set;
 
+      leaf scs {
+            type o-ran-cmn:scs-config-type;
+            description
+            "sub-carrier spacing of U-Plane messages belong to combine-entity";
+        }
+
       leaf ta3-prime-max {
         type uint32;
         units nanoseconds;
@@ -493,6 +703,15 @@ module o-ran-shared-cell {
            timing at O-RU antenna.";
       }
 
+      leaf tx-duration {
+        type uint32;
+        units nanoseconds;
+        description
+          "informs FHM/Cascade O-RU of the maximum duration time of transmission
+          over the fronthaul interface to O-DU or north-node for messages
+          to be sent within Ta3-prime-max.";
+      }
+
       uses shared-cell-combine-uplane-config;
     }
   }
@@ -501,11 +720,11 @@ module o-ran-shared-cell {
   grouping shared-cell-combine-uplane-config{
     description
       "shared cell related uplane configuration applicable to O-RU which
-       doesn't have radio transmisison capability";
+       doesn't have radio transmission capability";
     container shared-cell-combine-uplane-config {
       if-feature FHM;
       description
-        "when O-RU doesn't have radio transmisison availability for FHM mode,
+        "when O-RU doesn't have radio transmission availability for FHM mode,
          the required u-plane configuration for copy and combine function
          are defined, instead of the lists of o-ran-uplane-conf.yang";
 
@@ -518,6 +737,36 @@ module o-ran-shared-cell {
           description
             "encoded value of eaxc-id to be read by CU-Plane";
         }
+
+      leaf  number-of-prb {
+        type uint16;
+        description
+          "Determines max number of PRBs that can be scheduled in all sections
+          per one symbol.
+          This value is used when uplink C-plane message indicates that all PRBs
+          is indicated in the field of numPrbc or tx-duration is calculated.";
+      }
+
+      leaf-list cp-ul-section-type {
+         type enumeration {
+            enum ST1 {
+              description
+                "section type 1 is used.";
+            }
+            enum ST3P{
+             description
+                "section type 3 is used for PRACH .";
+            }
+            enum ST3M{
+             description
+                "section type 3 is used for PUxCH when mixed numeroloy is applied.";
+            }
+          }
+        description
+            "indicates what section type is used for a specific eaxc-id with a specfic
+            SCS/frameStructure which belongs to this combine-entity.";
+       }
+
         container comression-method {
           description
             "for combine mechanism, compression method per eaxc-id applied in
@@ -540,16 +789,21 @@ module o-ran-shared-cell {
       leaf  number-of-prb {
         type uint16;
         mandatory true;
+        status deprecated;
         description
           "Determines max number of PRBs that will be used in all sections
           per one symbol.
           This value is used only when uplink C-plane message indicates that
-          all PRB is used in the field of numPrbc";
+          all PRB is used in the field of numPrbc
+
+          This node is deprecated and replaced by number-of-prb in the list of rx-eaxc-id.
+          This movement is intended to prevent the fragmentation of shared-cell-combine-entities
+          according to the different value of number-of-prb.";
       }
     }
   }
 
-// top level container
+// top-level container
   container shared-cell{
     description
       "This container for shared-cell consists of capability information and
@@ -559,6 +813,71 @@ module o-ran-shared-cell {
     container shared-cell-config {
       description "configuration for shared cell.";
       uses shared-cell-mode;
+
+      leaf max-num-rx-eaxc-ids-per-group {
+        if-feature FHM;
+        type leafref {
+          path "/o-ran-sc:shared-cell/o-ran-sc:shared-cell-module-cap/o-ran-sc:eaxc-id-group-capabilities/o-ran-sc:max-num-rx-eaxc-ids-per-group";
+          require-instance false;
+        }
+        description "RW value of max-num-rx-eaxc-ids-per-group";
+      }
+      leaf max-num-rx-eaxc-id-groups {
+        if-feature FHM;
+        type leafref {
+          path "/o-ran-sc:shared-cell/o-ran-sc:shared-cell-module-cap/o-ran-sc:eaxc-id-group-capabilities/o-ran-sc:max-num-rx-eaxc-id-groups";
+          require-instance false;
+        }
+        description "RW value of max-num-rx-eaxc-id-groups";
+      }
+
+      list rx-eaxc-id-group {
+        if-feature FHM;
+        must "count(../rx-eaxc-id-group) <= ../max-num-rx-eaxc-id-groups" {
+          error-message "too many rx-eaxcid-id groups";
+        }
+        key "representative-rx-eaxc-id";
+        description
+          "This is a list of the groups of the eAxC IDs.
+          Each group is a union of a 'representative-rx-eaxc-id'and 'member-rx-eaxc-id's.
+          When section type 3 C-Plane in UL direction is used with Section Extension 10 in the shared cell,
+          this group shall be informed to FHM.";
+        leaf representative-rx-eaxc-id {
+          type uint16;
+          description
+            "This parameter contains eAxC_ID that populates content of C-Plane section
+            extension 10 to eAxC_IDs configured in the group as 'member-rx-eaxc-id'(s).";
+        }
+        leaf-list member-rx-eaxc-id {
+          type uint16;
+          must "count(../member-rx-eaxc-id) <= ../../max-num-rx-eaxc-ids-per-group" {
+            error-message "too many rx-eaxcid-id members";
+          }
+          must "current()!=../representative-rx-eaxc-id" {
+            error-message "the representative eaxcid does not need to be a list member";
+          }
+          description
+            "This is a list of member eAxC IDs,which is associated with 'representative-rx-eaxc-id' in a group.";
+        }
+      }
+
+      leaf enhanced-t-combine-enabled {
+        if-feature feat:ENHANCED-T-COMBINE;
+        type boolean;
+        default false;
+           description
+             "O-DU informs FHM/Cascade O-RU that t-combine-net and tx-duration
+             are used to calculate T-waiting instead of t-combine.";
+      }
+
+      leaf multiple-scs-in-eaxc-used {
+        if-feature feat:MULTIPLE-SCS-IN-EAXC;
+        type boolean;
+        default false;
+        description
+          "O-DU informs FHM/Cascade O-RU that multiple scs or
+          multiple section types in a single eAxC id are used.";
+      }
     }
   }
 }