blob: 837647ac7290c73ec760ecdd86942a1e22ec3e87 [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
3// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
4
5module onf-ip-domain {
6 namespace "http://opennetworking.org/aether/ip-domain";
7 prefix ipd;
8
9 import ietf-inet-types { prefix inet; }
10 import ietf-yang-types{ prefix yg; }
11 import onf-aether-types { prefix at; }
12 import onf-enterprise{ prefix ent; }
13
14 organization "Open Networking Foundation.";
15 contact "Scott Baker";
16 description
17 "An Aether IP-Domain. This is a list of available subnets
18 that may be assigned to UEs, as well as DNS servers and other
19 metadata";
20
21 revision "2021-06-02" {
22 description "An Aether IP and Domain Specification";
23 reference "RFC 6087";
24 }
25
26 typedef ip-domain-id {
27 type yg:yang-identifier {
28 length 1..32;
29 }
30 }
31
32 container ip-domain {
33 description "The top level container";
34
35 list ip-domain {
36 key "id";
37 description
38 "List of ip domains";
39
40 leaf id {
41 type ip-domain-id;
42 description "ID for this ip domain.";
43 }
44
45 leaf display-name {
46 type string {
47 length 1..80;
48 }
49 description "display name to use in GUI or CLI";
50 }
51
52 leaf dnn {
53 type at:dnn;
54 description "DNN/APN";
55 }
56
57 leaf dns-primary {
58 type inet:ip-address;
59 description "primary dns server name";
60 }
61
62 leaf dns-secondary {
63 type inet:ip-address;
64 description "secondary dns server name";
65 }
66
67 // Note: Cannot use a subnet as a list key. Dropped support from a
68 // list of subnets to a single subnet. Revisit in the future.
69 leaf subnet {
70 type inet:ipv4-prefix;
71 mandatory true;
72 description "subnet to allocate ip addresses from";
73 }
74
75 leaf admin-status {
76 type at:admin-status;
77 description "administrative status";
78 }
79
80 leaf mtu {
81 type at:mtu;
82 description "maximum transmission unit";
83 }
84
85 leaf description {
86 type at:description;
87 description "description of this ip domain";
88 }
89
90 // Ip-Domain is always owned by an Enterprise, because it contains
91 // IP addresses relative to that Enterprise.
92 leaf enterprise {
93 type leafref {
94 path "/ent:enterprise/ent:enterprise/ent:id";
95 }
96 mandatory true;
97 description
98 "Link to enterprise that owns this IP-Domain";
99 }
100 }
101 }
102}