blob: e6af73e944d6fc3168f402ee5bdfb5bdf3e7b221 [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-template {
6 namespace "http://opennetworking.org/aether/template";
7 prefix tp;
8
9 import ietf-yang-types{ prefix yg; }
10 import onf-aether-types{ prefix at; }
Scott Bakerc9d3d842021-09-17 11:32:53 -070011
12 organization "Open Networking Foundation.";
13 contact "Scott Baker";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000014 description
Scott Bakerc9d3d842021-09-17 11:32:53 -070015 "The aether vcs-template holds common parameters used
16 by a virtual connectivity service. Templates are used to
17 populate a VCS.";
18
Scott Baker36c96142021-10-19 14:13:30 -070019 revision "2021-09-10" {
Scott Bakerc9d3d842021-09-17 11:32:53 -070020 description "An Aether Virtual Cellular Service Template";
21 reference "RFC 6087";
22 }
23
24 typedef template-id {
25 type yg:yang-identifier {
26 length 1..32;
27 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000028 description "The typedef for template-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070029 }
30
31 container template {
32 description "The top level container";
33
34 list template {
35 key "id";
36 description
37 "List of vcs templates";
38
39 leaf id {
40 type template-id;
41 description "ID for this vcs template.";
42 }
43
44 leaf display-name {
45 type string {
46 length 1..80;
47 }
48 description "display name to use in GUI or CLI";
49 }
50
51 leaf sst {
52 type at:sst;
53 description "Slice/Service type";
54 }
55
56 leaf sd {
57 type at:sd;
58 description "Slice differentiator";
59 }
60
Scott Bakerc9d3d842021-09-17 11:32:53 -070061 container slice {
62 description "Per-Slice QOS Settings";
63 container mbr {
64 description "Maximum bitrate";
65 leaf uplink {
66 type at:bitrate;
67 units bps;
Scott Baker3f1cb272021-10-26 14:28:05 -070068 description "Per-Slice MBR uplink data rate in bps";
Scott Bakerc9d3d842021-09-17 11:32:53 -070069 }
70
71 leaf downlink {
72 type at:bitrate;
73 units bps;
Scott Baker3f1cb272021-10-26 14:28:05 -070074 description "Per-Slice MBR downlink data rate in bps";
Scott Bakerc9d3d842021-09-17 11:32:53 -070075 }
Scott Baker75ff25b2021-10-27 18:46:23 -070076
77 leaf uplink-burst-size {
78 type at:burst;
79 units bytes;
80 description "Per-Slice Uplink burst size";
81 }
82
83 leaf downlink-burst-size {
84 type at:burst;
85 units bytes;
86 description "Per-Slice Downlink burst size";
87 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070088 }
Scott Baker36c96142021-10-19 14:13:30 -070089 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070090
Scott Baker36c96142021-10-19 14:13:30 -070091 leaf default-behavior {
92 type at:behavior;
93 mandatory true;
Scott Bakerc9d3d842021-09-17 11:32:53 -070094 description
Scott Baker36c96142021-10-19 14:13:30 -070095 "Default behavior if no filter rules match";
Scott Baker3f1cb272021-10-26 14:28:05 -070096 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070097
98 leaf description {
99 type at:description;
100 description "description of this vcs template";
101 }
102 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000103 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700104}