1 module xran-processing-element {
3 namespace "urn:xran:processing-element:1.0";
4 prefix "xran-elements";
6 import ietf-yang-types {
10 import ietf-inet-types {
14 import ietf-interfaces {
22 import xran-interfaces {
26 organization "xRAN Forum";
32 "This module defines the YANG definitions for mapping of transport flows to
33 processing elements. Three options are supported:
34 i) virtual MAC based mapping
35 ii) MAC addrress + VLAN-ID based mapping
36 iii) UDP/IP based mapping
38 Copyright 2018 the xRAN Forum.
40 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
41 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
44 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
45 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
46 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
47 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
48 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
50 POSSIBILITY OF SUCH DAMAGE.
52 Redistribution and use in source and binary forms, with or without
53 modification, are permitted provided that the following conditions are met:
55 * Redistributions of source code must retain the above copyright notice,
56 this list of conditions and the above disclaimer.
57 * Redistributions in binary form must reproduce the above copyright notice,
58 this list of conditions and the above disclaimer in the documentation
59 and/or other materials provided with the distribution.
60 * Neither the Members of the xRAN Forum nor the names of its
61 contributors may be used to endorse or promote products derived from
62 this software without specific prior written permission.";
64 revision "2018-07-20" {
66 "version 1.0.0 - First release of the xRAN YANG M-Plane models.
68 This version of the model supports v01.00 of the corrsponding xRAN
69 M-Plane Specification.";
70 reference "XRAN-FH.MP.0-v01.00";
73 identity XRAN-INTERFACE-TYPE {
74 base if:interface-type;
76 "This identity is used as a base for all interface types
80 identity ALIASMAC-INTERFACE {
81 base XRAN-INTERFACE-TYPE;
83 "Identity type for alias MAC based CU plane interface,
84 whwere multiple MAC addresses are used on the same Ethernet interface. ";
87 identity ETH-INTERFACE {
88 base XRAN-INTERFACE-TYPE;
90 "identity type for ethernet plus vlan based CU plane interface. ";
93 identity UDPIP-INTERFACE {
94 base XRAN-INTERFACE-TYPE;
96 "identity type for UDP/IP based CU plane interface. ";
99 container processing-elements {
101 "a model defining the mapping between transport flows and arbitrary
102 xRAN processing elements. A processing element may be then defined for
103 handling connectivity or delay procedures, or defined with a corresponding
104 eaxcid for CU plane operations";
105 leaf transport-session-type {
107 base XRAN-INTERFACE-TYPE;
110 "the type of transport session used for identifying different processing
116 "the list of transport definitions for each processing element";
122 "A name that is unique across the RU that identifies a processing
125 This name may be used in fault management to refer to a fault source
128 container transport-flow {
130 "container for the transport-flow used for CU plane";
131 leaf interface-name {
133 path "/if:interfaces/if:interface/if:name";
135 description "the interface name ";
137 container aliasmac-flow {
138 when "derived-from(../../../transport-session-type, 'ALIASMAC-INTERFACE')";
139 if-feature xran-int:ALIASMAC-BASED-CU-PLANE;
140 description "leafs for virtual mac type data flows";
141 leaf ru-aliasmac-address {
143 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:alias-macs";
148 "RU's alias MAC address used for alias MAC based flow";
152 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:vlan-id";
155 "RU's VLAN-ID used for alias MAC based flow";
157 leaf llscu-mac-address {
158 type yang:mac-address;
161 "lls-CU's MAC address used for alias MAC based flow";
165 when "derived-from(../../../transport-session-type, 'ETH-INTERFACE')";
166 description "leafs for mac + vlan-id type data flows";
167 leaf ru-mac-address {
169 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:mac-address";
173 "RU's MAC address used for Ethernet based flow";
177 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/xran-int:vlan-id";
181 "RU's VLAN-ID used for Ethernet based flow";
183 leaf llscu-mac-address {
184 type yang:mac-address;
187 "lls-CU's MAC address used for alias MAC based flow";
190 container udpip-flow {
191 when "derived-from(../../../transport-session-type, 'UDPIP-INTERFACE')";
192 if-feature xran-int:UDPIP-BASED-CU-PLANE;
193 description "leafs for UDP/IP type data flows";
195 leaf ru-ipv4-address {
197 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/ip:ipv4/ip:address/ip:ip";
199 description "RU's IPv4 address";
201 leaf ru-ipv6-address {
203 path "/if:interfaces/if:interface[if:name = current()/../../interface-name]/ip:ipv6/ip:address/ip:ip";
205 description "RU's IPv6 address";
208 description "choice of RU IPv4 or IPv6 address";
210 leaf llscu-ip-address {
211 type inet:ip-address;
213 description "lls-CU's IPv address";
215 leaf ru-ephemeral-udp-port {
216 type inet:port-number;
219 "ephemeral port used by RU";
221 leaf llscu-ephemeral-udp-port {
222 type inet:port-number;
225 "ephemeral port used by lls-CU";
227 leaf destination-udp {
228 type inet:port-number;
230 description "the well known UDP port number used by eCPRI";
231 // fixme - add in a default when allocated by IANA