blob: 518d8b92ac4128ba119ba22f118ce5429e25b6dc [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 Condon9f7966e2022-02-03 10:55:06 +000039 key "template-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 Condon9f7966e2022-02-03 10:55:06 +000043 leaf template-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
Sean Condon9f7966e2022-02-03 10:55:06 +000048 uses at:desc-display-name;
Scott Bakerfdbad762022-01-03 16:00:45 -080049
50 leaf sst {
51 type at:sst;
52 description "Slice/Service type";
53 }
54
55 leaf sd {
56 type at:sd;
57 description "Slice differentiator";
58 }
59
Sean Condon24297da2022-01-27 09:50:34 +000060 container mbr {
61 description "Per-Slice QOS Settings Maximum Bit Rate";
62 leaf uplink {
63 type at:bitrate;
64 units bps;
65 description "Per-Slice MBR uplink data rate in bps";
66 }
Scott Bakerfdbad762022-01-03 16:00:45 -080067
Sean Condon24297da2022-01-27 09:50:34 +000068 leaf downlink {
69 type at:bitrate;
70 units bps;
71 description "Per-Slice MBR downlink data rate in bps";
72 }
Scott Bakerfdbad762022-01-03 16:00:45 -080073
Sean Condon24297da2022-01-27 09:50:34 +000074 leaf uplink-burst-size {
75 type at:burst;
76 units bytes;
77 description "Per-Slice Uplink burst size";
78 }
Scott Bakerfdbad762022-01-03 16:00:45 -080079
Sean Condon24297da2022-01-27 09:50:34 +000080 leaf downlink-burst-size {
81 type at:burst;
82 units bytes;
83 description "Per-Slice Downlink burst size";
Scott Bakerfdbad762022-01-03 16:00:45 -080084 }
85 }
86
87 leaf default-behavior {
88 type at:behavior;
89 mandatory true;
90 description
91 "Default behavior if no filter rules match";
92 }
Scott Bakerfdbad762022-01-03 16:00:45 -080093 }
94 }
95}