3 namespace "urn:o-ran:dhcp:1.0";
6 import ietf-interfaces {
10 import ietf-inet-types {
14 import ietf-dhcpv6-types {
17 // revision-date 2018-09-04;
20 import o-ran-wg4-features {
24 organization "O-RAN Alliance";
30 "This module defines the YANG definitions for managng the DHCP client.
32 Copyright 2019 the O-RAN alliance.
34 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
35 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
38 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44 POSSIBILITY OF SUCH DAMAGE.
46 Redistribution and use in source and binary forms, with or without
47 modification, are permitted provided that the following conditions are met:
49 * Redistributions of source code must retain the above copyright notice,
50 this list of conditions and the above disclaimer.
51 * Redistributions in binary form must reproduce the above copyright notice,
52 this list of conditions and the above disclaimer in the documentation
53 and/or other materials provided with the distribution.
54 * Neither the Members of the O-RAN Alliance nor the names of its
55 contributors may be used to endorse or promote products derived from
56 this software without specific prior written permission.";
58 revision "2020-12-10" {
62 1) added new leafs for reporting discovered event-collectors
65 reference "ORAN-WG4.O1.0-v05.00";
69 revision "2019-07-03" {
73 1) backward compatible changes to fix pen number which always
74 should have been 32 bits
75 2) backward compatible changes to introduce reporting of 3GPP
76 discovered MV-PnP information, including CA/RA Servers and SeGW
77 3) backward compatible changes to introduce groupings";
79 reference "ORAN-WG4.M.0-v01.00";
82 revision "2019-02-04" {
86 1) imported model from xRAN
87 2) changed namespace and reference from xran to o-ran";
89 reference "ORAN-WG4.M.0-v01.00";
92 typedef netconf-client-id {
97 description "A NETCONF client identifier";
100 typedef ca-ra-server-id {
102 type inet:ip-address;
105 description "A CA/RA Server identifier";
110 type inet:ip-address;
113 description "A SeGW identifier";
116 typedef event-collector-id {
118 type inet:ip-address;
121 description "An event collector identifier";
124 grouping ca-ra-servers {
126 "The CA/RA servers discovered using DHCP, discovered using the 3GPP
127 defined options in 3GPP 32.509 in vendor specific option 43/17";
130 description "A list of IP addresses or URIs for CA/RA Servers";
133 type ca-ra-server-id;
134 description "the server identifier";
137 type inet:port-number;
138 description "an optional (non-default) port";
143 "ASCII string representing the path to the CMP server directory.
144 A CMP server may be located in an arbitrary path other than root.";
149 "ASCII string representing the subject name of the CA/RA. ";
160 grouping security-gateways {
162 "The security gateways discovered using DHCP, discovered using the 3GPP
163 defined options in 3GPP 32.509 in vendor specific option 43/17";
166 description "A list of IP addresses or URIs for SeGW";
170 description "the SeGW identifier";
176 grouping netconf-clients {
178 "The netconf clients discovered using DHCP, discovered using the IANA
179 defined options or O-RAN defined syntax for encoding IP adresses or FQDNs
180 in vendor specific option 43/17";
181 list netconf-clients{
183 description "A list of IP addresses or URIs for NETCONF clients";
185 type netconf-client-id;
186 description "the client identifier";
189 type inet:port-number;
190 description "an optional (non-default) port";
195 grouping event-collectors {
197 "The event-collectors discovered using DHCP, discovered using the O-RAN
198 defined syntax for encoding IP adresses or FQDNs in vendor specific
200 leaf-list event-collectors{
201 if-feature "or-feat:NON-PERSISTENT-MPLANE";
203 type event-collector-id;
205 "An event-collector discovered using DHCP that can be used by the O-RU to
206 send pnfRegistration notification messages.
208 The O-RU behaviour when discovering more than one event-collector is not defined.";
210 leaf event-collector-format{
211 if-feature "or-feat:NON-PERSISTENT-MPLANE";
215 description "the event-collector notification format";
219 grouping dhcpv4-option {
220 description "DHCPv4 Configuration options";
222 leaf dhcp-server-identifier {
223 type inet:ip-address;
224 description "DHCP server identifier";
228 description "Name of the domain";
230 leaf-list domain-name-servers {
231 type inet:ip-address;
232 description "A list of DNS servers";
238 description "Minimum Transmission Unit (MTU) of the interface";
240 leaf-list default-gateways{
241 type inet:ip-address;
242 description "the list of default gateways on the O-RUs subnet";
244 uses netconf-clients;
246 uses security-gateways;
247 uses event-collectors;
250 grouping dhcpv6-option {
251 description "DHCPv6 Configuration options";
253 container dhcp-server-identifier{
254 description "dhcpv6 server identifief";
255 uses dhcpv6-type:duid;
259 description "Name of the domain";
261 leaf-list domain-name-servers {
262 type inet:ip-address;
263 description "A list of DNS servers";
265 uses netconf-clients;
267 uses security-gateways;
268 uses event-collectors;
271 grouping dhcp-group {
274 description "Interface configuration";
277 type if:interface-ref;
278 description "Name of the interface";
282 description "DHCPv4 information";
285 description "DHCP client identifier";
290 description "DHCPv6 information";
291 container dhcp-client-identifier{
292 description "dhcpv6 client identifief";
293 uses dhcpv6-type:duid;
299 container m-plane-dhcp {
300 description "leafs covering off DHCP aspects of m-plane operations";
301 leaf private-enterprise-number {
305 description "the private enteprise number allocated to O-RAN Alliance";
307 leaf private-enterprise-num {
310 description "the private enterprise number allocated to O-RAN Alliance";
312 leaf vendor-class-data {
315 "The string used in DHCPv4 option 60 or DHCPv4 option 124 and
322 // Top Level Container
327 "DHCP client configuration";