blob: fa83a3862910f2a5d57bbac57f98023fc11bc502 [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
module service-policy {
namespace "http://opennetworking.org/aether/service-policy";
prefix serv;
import service-rule { prefix sr; }
organization "Open Networking Foundation.";
contact "Scott Baker";
description "To generate JSON from this use command
pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
Copied from YangUIComponents project";
revision "2021-03-04" {
description "An Aether Service";
reference "RFC 6087";
}
typedef service-policy-id {
type string {
length 1..32;
}
description "The typedef for service-policy-id";
}
container service-policy {
description "The top level container";
list service-policy {
key "id";
description
"List of services";
leaf id {
type service-policy-id;
description "ID for this service.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
leaf qci {
type uint32 {
range 0..85;
}
default 9;
description
"QoS Class Identifier";
}
leaf arp {
type uint32 {
range 0..15;
}
default 9;
description
"Evolved-ARP";
}
container ambr {
leaf uplink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Upstream aggregate maximum bit rate";
}
leaf downlink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Downstream aggregate maximum bit rate";
}
description "The container for ambr";
}
list rules {
key "rule";
leaf rule {
type leafref {
path "/sr:service-rule/sr:service-rule/sr:id";
}
description
"Link to service rule";
}
leaf enabled {
type boolean;
default true;
description
"Enable or disable this service to use this rule";
}
description "The list for rules";
}
leaf description {
type string {
length 1..100;
}
description "description of this profile";
}
}
}
}