Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-ecpri-delay@2021-12-01.yang
1 module o-ran-ecpri-delay {
2   yang-version 1.1;
3   namespace "urn:o-ran:message5:1.0";
4   prefix "o-ran-msg5";
5
6   import o-ran-processing-element {
7     prefix "element";
8   }
9
10   import o-ran-wg4-features {
11      prefix "feat";
12   }
13
14   organization "O-RAN Alliance";
15
16   contact
17     "www.o-ran.org";
18
19   description
20     "This module is an optional module for supporting eCPRI message 5 handling
21     used for eCPRI based delay measurements.
22
23     Copyright 2021 the O-RAN Alliance.
24
25     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
26     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35     POSSIBILITY OF SUCH DAMAGE.
36
37     Redistribution and use in source and binary forms, with or without
38     modification, are permitted provided that the following conditions are met:
39
40     * Redistributions of source code must retain the above copyright notice,
41     this list of conditions and the above disclaimer.
42     * Redistributions in binary form must reproduce the above copyright notice,
43     this list of conditions and the above disclaimer in the documentation
44     and/or other materials provided with the distribution.
45     * Neither the Members of the O-RAN Alliance nor the names of its
46     contributors may be used to endorse or promote products derived from
47     this software without specific prior written permission.";
48
49   revision "2021-12-01" {
50     description
51       "version 8.0.0
52
53       1) typographical corrections in descriptions.
54       2) Add support for multiple transport-session-type per O-RU.";
55
56     reference "ORAN-WG4.M.0-v08.00";
57   }
58
59   revision "2021-07-26" {
60     description
61       "version 7.0.0
62
63       1) add support for optional reporting of one or two-step measurements";
64
65     reference "ORAN-WG4.M.0-v07.00";
66   }
67
68   revision "2019-02-04" {
69     description
70       "version 1.0.0
71
72       1) imported model from xRAN
73       2) changed namespace and reference from xran to o-ran";
74
75     reference "ORAN-WG4.M.0-v01.00";
76   }
77
78 // groupings
79
80   grouping msg5-group {
81     description "an eCPRI message 5 grouping";
82
83     container ru-compensation {
84       config false;
85       description
86         "leafs for ru timing compensation based on message 5 handling";
87       leaf tcv2 {
88         type uint32;
89         units nanoseconds;
90         description
91           "a compensation value to account for expected delay from packet
92           receipt at R2 to timestamping in the O-RU";
93       }
94       leaf tcv1 {
95         type uint32;
96         units nanoseconds;
97         description
98           "a compensation value to account for expected processing time from
99           timestamping in the O-RU until actual packet transmission at R3";
100       }
101     }
102
103     leaf enable-message5 {
104       type boolean;
105       default false;
106       description
107         "whether O-RU's eCPRI message 5 handling is enabled.";
108     }
109
110     leaf one-step-t34-supported {
111       type boolean;
112       config false;
113       description
114         "Indicates whether O-RU supports eCPRI message 5 one-step procedure for
115         T34 measurements.
116         An O-RU supporting this YANG model shall at least set one of
117         one-step-t34-supported or two-step-t34-supported to true.
118
119         Note, all O-RUs supporting this model shall support one-step measurements
120         for T12 measurement";
121     }
122
123     leaf two-step-t34-supported {
124       type boolean;
125       config false;
126       description
127         "Indicates whether O-RU supports eCPRI message 5 two-step procedure for
128         T34 measurements.
129         An O-RU supporting this YANG model shall at least set one of
130         one-step-t34-supported or two-step-t34-supported to true
131
132         Note, all O-RUs supporting this model shall support two-step measurements
133         for T12 measurement";
134     }
135
136     container message5-sessions {
137       description "session information for eCPRI message 5";
138
139       list session-parameters {
140         key "session-id";
141         description "list of MSG5 session information";
142         leaf session-id {
143           type uint32;
144           description "Session ID for MSG5 responder";
145         }
146         leaf processing-element-name {
147           type leafref {
148             path "/element:processing-elements/element:ru-elements/element:name";
149           }
150           description "the name of the processing element used for MSG5";
151         }
152
153         leaf transport-session-type {
154           if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
155           type enumeration {
156             enum ETH-INTERFACE {
157               description "VLAN based CUS Transport ";
158             }
159             enum UDPIP-INTERFACE {
160               description "UDP/IP based CUS Transport ";
161             }
162             enum ALIASMAC-INTERFACE{
163               description "Alias MAC address based CUS Transport ";
164             }
165           }
166           description
167             "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
168              in which case it is used for referencing a processing element in 'transport-qualified-processing-element-name'";
169         }
170
171         leaf transport-qualified-processing-element-name {
172           if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
173           type leafref {
174             path "/element:processing-elements/element:additional-transport-session-type-elements[element:transport-session-type = current()/../transport-session-type]/element:ru-elements/element:name";
175           }
176           description
177               "the name of the processing element used for MSG5, used when the processing element
178                is configured by the list 'additional-transport-session-type-elements'";
179         }
180
181         container flow-state {
182           config false;
183           description "MSG5 flow state";
184           leaf responses-transmitted {
185             type uint32;
186             description
187               "The total number of eCPRI message 5 response messages transmitted by
188               the O-RU.";
189           }
190           leaf requests-transmitted {
191             type uint32;
192             description
193               "The total number of eCPRI message 5 request messages transmitted by
194               the O-RU.";
195           }
196           leaf followups-transmitted {
197             type uint32;
198             description
199               "The total number of eCPRI message 5 follow up messages transmitted by
200               the O-RU.";
201           }
202         }
203       }
204     }
205   }
206
207 // top level container
208
209   container ecpri-delay-message {
210     description "top-level tree covering off O-DU to O-RU msg5 delay measurement";
211
212     uses msg5-group;
213   }
214 }