3 namespace "urn:o-ran:dhcp:1.0";
6 import ietf-interfaces {
10 import ietf-inet-types {
14 import ietf-dhcpv6-types {
16 revision-date 2018-09-04;
19 import ietf-dhcpv6-common {
23 import o-ran-wg4-features {
27 organization "O-RAN Alliance";
33 "This module defines the YANG definitions for managing the DHCP client.
35 Copyright 2021 the O-RAN alliance.
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
38 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
39 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
40 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
41 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
43 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
44 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
45 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
47 POSSIBILITY OF SUCH DAMAGE.
49 Redistribution and use in source and binary forms, with or without
50 modification, are permitted provided that the following conditions are met:
52 * Redistributions of source code must retain the above copyright notice,
53 this list of conditions and the above disclaimer.
54 * Redistributions in binary form must reproduce the above copyright notice,
55 this list of conditions and the above disclaimer in the documentation
56 and/or other materials provided with the distribution.
57 * Neither the Members of the O-RAN Alliance nor the names of its
58 contributors may be used to endorse or promote products derived from
59 this software without specific prior written permission.";
61 revision "2022-08-15" {
65 1) added DUID/IAID support for IPv4.
66 2) switched import FROM ietf-dhcpv6-types TO ietf-dhcpv6-common";
68 reference "ORAN-WG4.M.0-v10.00";
71 revision "2021-12-01" {
75 1) Typographical corrections for british english.";
77 reference "ORAN-WG4.M.0-v05.00";
80 revision "2021-03-22" {
84 1) typographical corrections in descriptions.";
86 reference "ORAN-WG4.M.0-v05.00";
89 revision "2020-12-10" {
93 1) added new leafs for reporting discovered event-collectors
96 reference "ORAN-WG4.M.0-v05.00";
99 revision "2019-07-03" {
103 1) backward compatible changes to fix pen number which always
104 should have been 32 bits
105 2) backward compatible changes to introduce reporting of 3GPP
106 discovered MV-PnP information, including CA/RA Servers and SeGW
107 3) backward compatible changes to introduce groupings";
109 reference "ORAN-WG4.M.0-v01.00";
112 revision "2019-02-04" {
116 1) imported model from xRAN
117 2) changed namespace and reference from xran to o-ran";
119 reference "ORAN-WG4.M.0-v01.00";
122 typedef netconf-client-id {
124 type inet:ip-address;
127 description "A NETCONF client identifier";
130 typedef ca-ra-server-id {
132 type inet:ip-address;
135 description "A CA/RA Server identifier";
140 type inet:ip-address;
143 description "A SeGW identifier";
146 typedef event-collector-id {
148 type inet:ip-address;
151 description "An event collector identifier";
154 grouping ca-ra-servers {
156 "The CA/RA servers discovered using DHCP, discovered using the 3GPP
157 defined options in 3GPP 32.509 in vendor specific option 43/17";
160 description "A list of IP addresses or URIs for CA/RA Servers";
163 type ca-ra-server-id;
164 description "the server identifier";
167 type inet:port-number;
168 description "an optional (non-default) port";
173 "ASCII string representing the path to the CMP server directory.
174 A CMP server may be located in an arbitrary path other than root.";
179 "ASCII string representing the subject name of the CA/RA. ";
185 "HTTP used to communicate with CA/RA server";
189 "HTTPS used to communicate with CA/RA server";
192 description "the protocol used to communicate with a CA/RA server";
197 grouping security-gateways {
199 "The security gateways discovered using DHCP, discovered using the 3GPP
200 defined options in 3GPP 32.509 in vendor specific option 43/17";
203 description "A list of IP addresses or URIs for SeGW";
207 description "the SeGW identifier";
213 grouping netconf-clients {
215 "The NETCONF clients discovered using DHCP, discovered using the IANA
216 defined options or O-RAN defined syntax for encoding IP addresses or FQDNs
217 in vendor specific option 43/17";
218 list netconf-clients{
220 description "A list of IP addresses or URIs for NETCONF clients";
222 type netconf-client-id;
223 description "the client identifier";
226 type inet:port-number;
227 description "an optional (non-default) port";
232 grouping event-collectors {
234 "The event-collectors discovered using DHCP, discovered using the O-RAN
235 defined syntax for encoding IP addresses or FQDNs in vendor specific
237 leaf-list event-collectors{
238 if-feature "or-feat:NON-PERSISTENT-MPLANE";
239 type event-collector-id;
242 "An event-collector discovered using DHCP that can be used by the O-RU to
243 send pnfRegistration notification messages.
245 The O-RU behaviour when discovering more than one event-collector is not defined.";
247 leaf event-collector-format{
248 if-feature "or-feat:NON-PERSISTENT-MPLANE";
251 description "ONAP format is used to signal the event-collector";
254 description "the event-collector notification format";
258 grouping dhcpv4-option {
259 description "DHCPv4 Configuration options";
261 leaf dhcp-server-identifier {
262 type inet:ip-address;
263 description "DHCP server identifier";
267 description "Name of the domain";
269 leaf-list domain-name-servers {
270 type inet:ip-address;
271 description "A list of DNS servers";
277 description "Minimum Transmission Unit (MTU) of the interface";
279 leaf-list default-gateways{
280 type inet:ip-address;
281 description "the list of default gateways on the O-RUs subnet";
283 uses netconf-clients;
285 uses security-gateways;
286 uses event-collectors;
289 grouping dhcpv6-option {
290 description "DHCPv6 Configuration options";
292 container dhcp-server-identifier{
294 description "dhcpv6 server identifier - deprecated as this uses import from ietf-dhcpv6-types and not ietf-dhcpv6-common";
295 uses dhcpv6-type:duid;
297 container dhcpv6-server-identifier{
298 description "dhcpv6 server identifier - replaces container dhcp-server-identifier and uses import from ietf-dhcpv6-common";
299 uses dhcpv6-type2:duid;
303 description "Name of the domain";
305 leaf-list domain-name-servers {
306 type inet:ip-address;
307 description "A list of DNS servers";
309 uses netconf-clients;
311 uses security-gateways;
312 uses event-collectors;
315 grouping dhcp-group {
316 description "a dhcp grouping";
319 description "Interface configuration";
322 type if:interface-ref;
323 description "Name of the interface";
327 description "DHCPv4 information";
330 description "DHCP client identifier - used when the DHCPv4 client in the O-RU does not use DUID/IAID";
332 uses dhcpv6-type2:duid;
334 container identity-association {
335 description "an optional container - used when DHCPv4 client uses DUID/IAID as identifier";
343 description "IA type";
349 description "DHCPv6 information";
350 container dhcp-client-identifier{
352 description "dhcpv6 client identifier - deprecated as this uses import from ietf-dhcpv6-types and not ietf-dhcpv6-common";
353 uses dhcpv6-type:duid;
355 container dhcpv6-client-identifier{
356 description "dhcpv6 client identifier using ietf-dhcpv6-common import";
357 uses dhcpv6-type2:duid;
358 container identity-association {
359 description "a container describing IAID information";
368 description "IA type";
376 container m-plane-dhcp {
377 description "leafs covering off DHCP aspects of m-plane operations";
378 leaf private-enterprise-number {
382 description "the private enterprise number allocated to O-RAN Alliance";
384 leaf private-enterprise-num {
387 description "the private enterprise number allocated to O-RAN Alliance";
389 leaf vendor-class-data {
392 "The string used in DHCPv4 option 60 or DHCPv4 option 124 and
399 // Top Level Container
404 "DHCP client configuration";