blob: 2dd853c85e9efb81a327913d3c4d76fcd669e9b4 [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
submodule onf-template {
belongs-to onf-enterprise { prefix ent; }
import ietf-yang-types{ prefix yg; }
import onf-aether-types{ prefix at; }
organization "Open Networking Foundation.";
contact "Scott Baker";
description
"The aether slice-template holds common parameters used
by a Slice. Templates are used to
populate a Slice.";
revision "2022-01-14" {
description "Refactored as submodule";
reference "RFC 6020";
}
revision "2021-09-10" {
description "An Aether Slice Template";
reference "RFC 6087";
}
typedef template-id {
type yg:yang-identifier {
length 1..32;
}
description "The typedef for template-id";
}
grouping template {
description "The template grouping";
list template {
key "tp-id";
description
"List of slice templates";
leaf tp-id {
type template-id;
description "ID for this slice template.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
leaf sst {
type at:sst;
description "Slice/Service type";
}
leaf sd {
type at:sd;
description "Slice differentiator";
}
container mbr {
description "Per-Slice QOS Settings Maximum Bit Rate";
leaf uplink {
type at:bitrate;
units bps;
description "Per-Slice MBR uplink data rate in bps";
}
leaf downlink {
type at:bitrate;
units bps;
description "Per-Slice MBR downlink data rate in bps";
}
leaf uplink-burst-size {
type at:burst;
units bytes;
description "Per-Slice Uplink burst size";
}
leaf downlink-burst-size {
type at:burst;
units bytes;
description "Per-Slice Downlink burst size";
}
}
leaf default-behavior {
type at:behavior;
mandatory true;
description
"Default behavior if no filter rules match";
}
leaf description {
type at:description;
description "description of this slice template";
}
}
}
}