blob: 41f0b70c6260b57f2be4772693e087e4394cc404 [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 Condon9f7966e2022-02-03 10:55:06 +000049 key "device-group-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080050 description
51 "List of device groups";
52
Sean Condon9f7966e2022-02-03 10:55:06 +000053 leaf device-group-id {
Scott Bakerfdbad762022-01-03 16:00:45 -080054 type device-group-id;
55 description "ID for this device group.";
56 }
57
Sean Condon9f7966e2022-02-03 10:55:06 +000058 uses at:desc-display-name;
Scott Bakerfdbad762022-01-03 16:00:45 -080059
Scott Baker4fb4ba92022-01-14 13:52:01 -080060 list device {
61 key "device-id";
62 leaf device-id {
63 type leafref {
Sean Condon9f7966e2022-02-03 10:55:06 +000064 path "../../../device/device-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080065 }
Scott Baker4fb4ba92022-01-14 13:52:01 -080066 description
67 "Link to device";
Scott Bakerfdbad762022-01-03 16:00:45 -080068 }
Scott Baker4fb4ba92022-01-14 13:52:01 -080069 leaf enable {
70 type boolean;
71 default true;
72 description
73 "Enable this device";
74 }
75 description "list of devices in this device-group";
Scott Bakerfdbad762022-01-03 16:00:45 -080076 }
77
78 leaf ip-domain {
79 type leafref {
Sean Condon9f7966e2022-02-03 10:55:06 +000080 path "../../ip-domain/ip-domain-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080081 }
82 description
83 "Link to ip-domain settings that determine the pool of IP addresses,
84 as well as the domain resolver settings to use";
85 }
86
Scott Baker4fb4ba92022-01-14 13:52:01 -080087 container mbr {
88 description "Maximum bitrate";
89 leaf uplink {
90 type at:bitrate;
91 units bps;
92 mandatory true;
93 description "Per-device MBR uplink data rate in bps";
Scott Bakerfdbad762022-01-03 16:00:45 -080094 }
Scott Baker4fb4ba92022-01-14 13:52:01 -080095
Scott Baker4fb4ba92022-01-14 13:52:01 -080096 leaf downlink {
97 type at:bitrate;
98 units bps;
99 mandatory true;
100 description "Per-device MBR downlink data rate in bps";
101 }
Scott Bakerfdbad762022-01-03 16:00:45 -0800102 }
Scott Baker3efbc0d2022-01-31 09:50:02 -0800103
104 leaf traffic-class {
105 type leafref {
Sean Condon9f7966e2022-02-03 10:55:06 +0000106 path "../../../traffic-class/traffic-class-id";
Scott Baker3efbc0d2022-01-31 09:50:02 -0800107 }
108 mandatory true;
109 description
110 "Link to traffic class";
111 }
Scott Bakerfdbad762022-01-03 16:00:45 -0800112 }
113 }
114}