--- /dev/null
+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;
+ }
+}