blob: 2dd853c85e9efb81a327913d3c4d76fcd669e9b4 [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-template {
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; }
10
11 organization "Open Networking Foundation.";
12 contact "Scott Baker";
13 description
Sean Condon24297da2022-01-27 09:50:34 +000014 "The aether slice-template holds common parameters used
15 by a Slice. Templates are used to
16 populate a Slice.";
Scott Bakerfdbad762022-01-03 16:00:45 -080017
Sean Condon11d6f422022-01-14 13:02:03 +000018 revision "2022-01-14" {
19 description "Refactored as submodule";
20 reference "RFC 6020";
21 }
22
Scott Bakerfdbad762022-01-03 16:00:45 -080023 revision "2021-09-10" {
Sean Condon24297da2022-01-27 09:50:34 +000024 description "An Aether Slice Template";
Scott Bakerfdbad762022-01-03 16:00:45 -080025 reference "RFC 6087";
26 }
27
28 typedef template-id {
29 type yg:yang-identifier {
30 length 1..32;
31 }
32 description "The typedef for template-id";
33 }
34
Sean Condon11d6f422022-01-14 13:02:03 +000035 grouping template {
36 description "The template grouping";
Scott Bakerfdbad762022-01-03 16:00:45 -080037
38 list template {
Sean Condon11d6f422022-01-14 13:02:03 +000039 key "tp-id";
Scott Bakerfdbad762022-01-03 16:00:45 -080040 description
Sean Condon24297da2022-01-27 09:50:34 +000041 "List of slice templates";
Scott Bakerfdbad762022-01-03 16:00:45 -080042
Sean Condon11d6f422022-01-14 13:02:03 +000043 leaf tp-id {
Scott Bakerfdbad762022-01-03 16:00:45 -080044 type template-id;
Sean Condon24297da2022-01-27 09:50:34 +000045 description "ID for this slice template.";
Scott Bakerfdbad762022-01-03 16:00:45 -080046 }
47
48 leaf display-name {
49 type string {
50 length 1..80;
51 }
52 description "display name to use in GUI or CLI";
53 }
54
55 leaf sst {
56 type at:sst;
57 description "Slice/Service type";
58 }
59
60 leaf sd {
61 type at:sd;
62 description "Slice differentiator";
63 }
64
Sean Condon24297da2022-01-27 09:50:34 +000065 container mbr {
66 description "Per-Slice QOS Settings Maximum Bit Rate";
67 leaf uplink {
68 type at:bitrate;
69 units bps;
70 description "Per-Slice MBR uplink data rate in bps";
71 }
Scott Bakerfdbad762022-01-03 16:00:45 -080072
Sean Condon24297da2022-01-27 09:50:34 +000073 leaf downlink {
74 type at:bitrate;
75 units bps;
76 description "Per-Slice MBR downlink data rate in bps";
77 }
Scott Bakerfdbad762022-01-03 16:00:45 -080078
Sean Condon24297da2022-01-27 09:50:34 +000079 leaf uplink-burst-size {
80 type at:burst;
81 units bytes;
82 description "Per-Slice Uplink burst size";
83 }
Scott Bakerfdbad762022-01-03 16:00:45 -080084
Sean Condon24297da2022-01-27 09:50:34 +000085 leaf downlink-burst-size {
86 type at:burst;
87 units bytes;
88 description "Per-Slice Downlink burst size";
Scott Bakerfdbad762022-01-03 16:00:45 -080089 }
90 }
91
92 leaf default-behavior {
93 type at:behavior;
94 mandatory true;
95 description
96 "Default behavior if no filter rules match";
97 }
98
99 leaf description {
100 type at:description;
Sean Condon24297da2022-01-27 09:50:34 +0000101 description "description of this slice template";
Scott Bakerfdbad762022-01-03 16:00:45 -0800102 }
103 }
104 }
105}