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-01-30;
19 organization "O-RAN Alliance";
25 "This module defines the YANG definitions for managng the DHCP client.
27 Copyright 2019 the O-RAN alliance.
29 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
30 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
33 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 POSSIBILITY OF SUCH DAMAGE.
41 Redistribution and use in source and binary forms, with or without
42 modification, are permitted provided that the following conditions are met:
44 * Redistributions of source code must retain the above copyright notice,
45 this list of conditions and the above disclaimer.
46 * Redistributions in binary form must reproduce the above copyright notice,
47 this list of conditions and the above disclaimer in the documentation
48 and/or other materials provided with the distribution.
49 * Neither the Members of the O-RAN Alliance nor the names of its
50 contributors may be used to endorse or promote products derived from
51 this software without specific prior written permission.";
53 revision "2019-07-03" {
57 1) backward compatible changes to fix pen number which always
58 should have been 32 bits
59 2) backward compatible changes to introduce reporting of 3GPP
60 discovered MV-PnP information, including CA/RA Servers and SeGW
61 3) backward compatible changes to introduce groupings";
63 reference "ORAN-WG4.M.0-v01.00";
66 revision "2019-02-04" {
70 1) imported model from xRAN
71 2) changed namespace and reference from xran to o-ran";
73 reference "ORAN-WG4.M.0-v01.00";
76 typedef netconf-client-id {
81 description "A NETCONF client identifier";
84 typedef ca-ra-server-id {
89 description "A CA/RA Server identifier";
97 description "A SeGW identifier";
100 grouping ca-ra-servers {
102 "The CA/RA servers discovered using DHCP, discovered using the 3GPP
103 defined options in 3GPP 32.509 in vendor specific option 43/17";
106 description "A list of IP addresses or URIs for CA/RA Servers";
109 type ca-ra-server-id;
110 description "the server identifier";
113 type inet:port-number;
114 description "an optional (non-default) port";
119 "ASCII string representing the path to the CMP server directory.
120 A CMP server may be located in an arbitrary path other than root.";
125 "ASCII string representing the subject name of the CA/RA. ";
136 grouping security-gateways {
138 "The security gateways discovered using DHCP, discovered using the 3GPP
139 defined options in 3GPP 32.509 in vendor specific option 43/17";
142 description "A list of IP addresses or URIs for SeGW";
146 description "the SeGW identifier";
152 grouping netconf-clients {
154 "The netconf clients discovered using DHCP, discovered using the IANA
155 defined options or O-RAN defined syntax for encoding IP adresses or FQDNs
156 in vendor specific option 43/17";
157 list netconf-clients{
159 description "A list of IP addresses or URIs for NETCONF clients";
161 type netconf-client-id;
162 description "the client identifier";
165 type inet:port-number;
166 description "an optional (non-default) port";
171 grouping dhcpv4-option {
172 description "DHCPv4 Configuration options";
174 leaf dhcp-server-identifier {
175 type inet:ip-address;
176 description "DHCP server identifier";
180 description "Name of the domain";
182 leaf-list domain-name-servers {
183 type inet:ip-address;
184 description "A list of DNS servers";
190 description "Minimum Transmission Unit (MTU) of the interface";
192 leaf-list default-gateways{
193 type inet:ip-address;
194 description "the list of default gateways on the O-RUs subnet";
196 uses netconf-clients;
198 uses security-gateways;
201 grouping dhcpv6-option {
202 description "DHCPv6 Configuration options";
204 container dhcp-server-identifier{
205 description "dhcpv6 server identifief";
206 uses dhcpv6-type:duid;
210 description "Name of the domain";
212 leaf-list domain-name-servers {
213 type inet:ip-address;
214 description "A list of DNS servers";
216 uses netconf-clients;
218 uses security-gateways;
221 grouping dhcp-group {
224 description "Interface configuration";
227 type if:interface-ref;
228 description "Name of the interface";
232 description "DHCPv4 information";
235 description "DHCP client identifier";
240 description "DHCPv6 information";
241 container dhcp-client-identifier{
242 description "dhcpv6 client identifief";
243 uses dhcpv6-type:duid;
249 container m-plane-dhcp {
250 description "leafs covering off DHCP aspects of m-plane operations";
251 leaf private-enterprise-number {
255 description "the private enteprise number allocated to O-RAN Alliance";
257 leaf private-enterprise-num {
260 description "the private enterprise number allocated to O-RAN Alliance";
262 leaf vendor-class-data {
265 "The string used in DHCPv4 option 60 or DHCPv4 option 124 and
272 // Top Level Container
277 "DHCP client configuration";