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 o-ran-wg4-features {
23 organization "O-RAN Alliance";
29 "This module defines the YANG definitions for managng the DHCP client.
31 Copyright 2019 the O-RAN alliance.
33 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
34 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
35 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
36 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
37 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
38 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
39 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
40 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
41 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
42 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
43 POSSIBILITY OF SUCH DAMAGE.
45 Redistribution and use in source and binary forms, with or without
46 modification, are permitted provided that the following conditions are met:
48 * Redistributions of source code must retain the above copyright notice,
49 this list of conditions and the above disclaimer.
50 * Redistributions in binary form must reproduce the above copyright notice,
51 this list of conditions and the above disclaimer in the documentation
52 and/or other materials provided with the distribution.
53 * Neither the Members of the O-RAN Alliance nor the names of its
54 contributors may be used to endorse or promote products derived from
55 this software without specific prior written permission.";
57 revision "2020-12-10" {
61 1) added new leafs for reporting discovered event-collectors
64 reference "ORAN-WG4.O1.0-v05.00";
68 revision "2019-07-03" {
72 1) backward compatible changes to fix pen number which always
73 should have been 32 bits
74 2) backward compatible changes to introduce reporting of 3GPP
75 discovered MV-PnP information, including CA/RA Servers and SeGW
76 3) backward compatible changes to introduce groupings";
78 reference "ORAN-WG4.M.0-v01.00";
81 revision "2019-02-04" {
85 1) imported model from xRAN
86 2) changed namespace and reference from xran to o-ran";
88 reference "ORAN-WG4.M.0-v01.00";
91 typedef netconf-client-id {
96 description "A NETCONF client identifier";
99 typedef ca-ra-server-id {
101 type inet:ip-address;
104 description "A CA/RA Server identifier";
109 type inet:ip-address;
112 description "A SeGW identifier";
115 typedef event-collector-id {
117 type inet:ip-address;
120 description "An event collector identifier";
123 grouping ca-ra-servers {
125 "The CA/RA servers discovered using DHCP, discovered using the 3GPP
126 defined options in 3GPP 32.509 in vendor specific option 43/17";
129 description "A list of IP addresses or URIs for CA/RA Servers";
132 type ca-ra-server-id;
133 description "the server identifier";
136 type inet:port-number;
137 description "an optional (non-default) port";
142 "ASCII string representing the path to the CMP server directory.
143 A CMP server may be located in an arbitrary path other than root.";
148 "ASCII string representing the subject name of the CA/RA. ";
159 grouping security-gateways {
161 "The security gateways discovered using DHCP, discovered using the 3GPP
162 defined options in 3GPP 32.509 in vendor specific option 43/17";
165 description "A list of IP addresses or URIs for SeGW";
169 description "the SeGW identifier";
175 grouping netconf-clients {
177 "The netconf clients discovered using DHCP, discovered using the IANA
178 defined options or O-RAN defined syntax for encoding IP adresses or FQDNs
179 in vendor specific option 43/17";
180 list netconf-clients{
182 description "A list of IP addresses or URIs for NETCONF clients";
184 type netconf-client-id;
185 description "the client identifier";
188 type inet:port-number;
189 description "an optional (non-default) port";
194 grouping event-collectors {
196 "The event-collectors discovered using DHCP, discovered using the O-RAN
197 defined syntax for encoding IP adresses or FQDNs in vendor specific
199 leaf-list event-collectors{
200 if-feature "or-feat:NON-PERSISTENT-MPLANE";
202 type event-collector-id;
204 "An event-collector discovered using DHCP that can be used by the O-RU to
205 send pnfRegistration notification messages.
207 The O-RU behaviour when discovering more than one event-collector is not defined.";
209 leaf event-collector-format{
210 if-feature "or-feat:NON-PERSISTENT-MPLANE";
214 description "the event-collector notification format";
218 grouping dhcpv4-option {
219 description "DHCPv4 Configuration options";
221 leaf dhcp-server-identifier {
222 type inet:ip-address;
223 description "DHCP server identifier";
227 description "Name of the domain";
229 leaf-list domain-name-servers {
230 type inet:ip-address;
231 description "A list of DNS servers";
237 description "Minimum Transmission Unit (MTU) of the interface";
239 leaf-list default-gateways{
240 type inet:ip-address;
241 description "the list of default gateways on the O-RUs subnet";
243 uses netconf-clients;
245 uses security-gateways;
246 uses event-collectors;
249 grouping dhcpv6-option {
250 description "DHCPv6 Configuration options";
252 container dhcp-server-identifier{
253 description "dhcpv6 server identifief";
254 uses dhcpv6-type:duid;
258 description "Name of the domain";
260 leaf-list domain-name-servers {
261 type inet:ip-address;
262 description "A list of DNS servers";
264 uses netconf-clients;
266 uses security-gateways;
267 uses event-collectors;
270 grouping dhcp-group {
273 description "Interface configuration";
276 type if:interface-ref;
277 description "Name of the interface";
281 description "DHCPv4 information";
284 description "DHCP client identifier";
289 description "DHCPv6 information";
290 container dhcp-client-identifier{
291 description "dhcpv6 client identifief";
292 uses dhcpv6-type:duid;
298 container m-plane-dhcp {
299 description "leafs covering off DHCP aspects of m-plane operations";
300 leaf private-enterprise-number {
304 description "the private enteprise number allocated to O-RAN Alliance";
306 leaf private-enterprise-num {
309 description "the private enterprise number allocated to O-RAN Alliance";
311 leaf vendor-class-data {
314 "The string used in DHCPv4 option 60 or DHCPv4 option 124 and
321 // Top Level Container
326 "DHCP client configuration";