blob: 629256afc25c89b02cca50ef2e44cd15f9c5aa05 [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
Sean Condon160ec1d2022-02-08 12:58:25 +00003// SPDX-License-Identifier: Apache-2.0
Scott Bakerc9d3d842021-09-17 11:32:53 -07004
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 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000030 description "The typedef for ip-domain-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070031 }
32
33 container ip-domain {
34 description "The top level container";
35
36 list ip-domain {
37 key "id";
38 description
39 "List of ip domains";
40
41 leaf id {
42 type ip-domain-id;
43 description "ID for this ip domain.";
44 }
45
46 leaf display-name {
47 type string {
48 length 1..80;
49 }
50 description "display name to use in GUI or CLI";
51 }
52
53 leaf dnn {
54 type at:dnn;
Scott Bakercf7cb662021-11-18 14:25:50 -080055 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070056 description "DNN/APN";
Scott Bakercf7cb662021-11-18 14:25:50 -080057 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070058
59 leaf dns-primary {
60 type inet:ip-address;
61 description "primary dns server name";
62 }
63
64 leaf dns-secondary {
65 type inet:ip-address;
66 description "secondary dns server name";
67 }
68
69 // Note: Cannot use a subnet as a list key. Dropped support from a
70 // list of subnets to a single subnet. Revisit in the future.
71 leaf subnet {
72 type inet:ipv4-prefix;
73 mandatory true;
74 description "subnet to allocate ip addresses from";
75 }
76
77 leaf admin-status {
78 type at:admin-status;
79 description "administrative status";
80 }
81
82 leaf mtu {
83 type at:mtu;
84 description "maximum transmission unit";
Scott Bakercf7cb662021-11-18 14:25:50 -080085 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070086
87 leaf description {
88 type at:description;
89 description "description of this ip domain";
90 }
91
92 // Ip-Domain is always owned by an Enterprise, because it contains
93 // IP addresses relative to that Enterprise.
94 leaf enterprise {
95 type leafref {
96 path "/ent:enterprise/ent:enterprise/ent:id";
97 }
98 mandatory true;
99 description
100 "Link to enterprise that owns this IP-Domain";
Scott Bakercf7cb662021-11-18 14:25:50 -0800101 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700102 }
Scott Bakercf7cb662021-11-18 14:25:50 -0800103 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700104}