blob: 2e01e1756660180312d23590cb9873c816947720 [file] [log] [blame]
Scott Bakerfdbad762022-01-03 16:00:45 -08001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
3// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
4
Sean Condon11d6f422022-01-14 13:02:03 +00005submodule onf-device-group {
6 belongs-to onf-enterprise { prefix ent; }
Scott Bakerfdbad762022-01-03 16:00:45 -08007
8 import ietf-yang-types{ prefix yg; }
9 import onf-aether-types { prefix at; }
Sean Condon11d6f422022-01-14 13:02:03 +000010
11 include onf-ip-domain;
12 include onf-traffic-class;
Scott Baker4fb4ba92022-01-14 13:52:01 -080013 include onf-device;
Scott Bakerfdbad762022-01-03 16:00:45 -080014
15 organization "Open Networking Foundation.";
16 contact "Scott Baker";
17 description
18 "An aether device group represents a list of device IMSIS.
19 This list is expressed as a set of ranges,
20 [(from_imsi, to_imsi),
21 (from_imsi, to_imsi),
22 ...].
23 Each device group belongs to a site and has associated
24 with it an ip-profile that determines the IP address
25 and DNS settings that apply to devices within the
26 group";
27
Sean Condon11d6f422022-01-14 13:02:03 +000028 revision "2022-01-14" {
29 description "Refactored as submodule";
30 reference "RFC 6020";
31 }
32
Scott Bakerfdbad762022-01-03 16:00:45 -080033 revision "2021-06-02" {
34 description "An Aether Device Group";
35 reference "RFC 6087";
36 }
37
38 typedef device-group-id {
39 type yg:yang-identifier {
40 length 1..32;
41 }
42 description "The typedef for device-group-id";
43 }
44
Sean Condon11d6f422022-01-14 13:02:03 +000045 grouping device-group {
46 description "The device-group grouping";
Scott Bakerfdbad762022-01-03 16:00:45 -080047
48 list device-group {
Sean Condon11d6f422022-01-14 13:02:03 +000049 key "dg-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080050 description
51 "List of device groups";
52
Sean Condon11d6f422022-01-14 13:02:03 +000053 leaf dg-id {
Scott Bakerfdbad762022-01-03 16:00:45 -080054 type device-group-id;
55 description "ID for this device group.";
56 }
57
58 leaf description {
59 type at:description;
60 description "description of this device group";
61 }
62
63 leaf display-name {
64 type string {
65 length 1..80;
66 }
67 description "display name to use in GUI or CLI";
68 }
69
Scott Baker4fb4ba92022-01-14 13:52:01 -080070 list device {
71 key "device-id";
72 leaf device-id {
73 type leafref {
74 path "../../../device/dev-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080075 }
Scott Baker4fb4ba92022-01-14 13:52:01 -080076 description
77 "Link to device";
Scott Bakerfdbad762022-01-03 16:00:45 -080078 }
Scott Baker4fb4ba92022-01-14 13:52:01 -080079 leaf enable {
80 type boolean;
81 default true;
82 description
83 "Enable this device";
84 }
85 description "list of devices in this device-group";
Scott Bakerfdbad762022-01-03 16:00:45 -080086 }
87
88 leaf ip-domain {
89 type leafref {
Sean Condon11d6f422022-01-14 13:02:03 +000090 path "../../ip-domain/ip-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080091 }
92 description
93 "Link to ip-domain settings that determine the pool of IP addresses,
94 as well as the domain resolver settings to use";
95 }
96
Scott Baker4fb4ba92022-01-14 13:52:01 -080097 container mbr {
98 description "Maximum bitrate";
99 leaf uplink {
100 type at:bitrate;
101 units bps;
102 mandatory true;
103 description "Per-device MBR uplink data rate in bps";
Scott Bakerfdbad762022-01-03 16:00:45 -0800104 }
Scott Baker4fb4ba92022-01-14 13:52:01 -0800105
Scott Baker4fb4ba92022-01-14 13:52:01 -0800106 leaf downlink {
107 type at:bitrate;
108 units bps;
109 mandatory true;
110 description "Per-device MBR downlink data rate in bps";
111 }
Scott Bakerfdbad762022-01-03 16:00:45 -0800112 }
Scott Baker3efbc0d2022-01-31 09:50:02 -0800113
114 leaf traffic-class {
115 type leafref {
116 path "../../../traffic-class/tc-id";
117 }
118 mandatory true;
119 description
120 "Link to traffic class";
121 }
Scott Bakerfdbad762022-01-03 16:00:45 -0800122 }
123 }
124}