blob: 49af65f6d53ba8d95e5efee51b78cc94746c371f [file] [log] [blame]
// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: Apache-2.0
module service-rule {
namespace "http://opennetworking.org/aether/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 Rule";
reference "RFC 6087";
}
typedef service-rule-id {
type string {
length 1..32;
}
description "The typedef for service-rule-id";
}
container service-rule {
description "The top level container";
list service-rule {
key "id";
description
"List of service rules";
leaf id {
type service-rule-id;
description "ID for this service.";
}
leaf display-name {
type string {
length 1..80;
}
description "display name to use in GUI or CLI";
}
leaf charging-rule-name {
type string {
length 1..80;
}
description "name of charging rule";
}
container qos {
leaf qci {
type uint32 {
range 0..85;
}
default 9;
description
"QoS Class Identifier";
}
container arp {
leaf priority {
type uint32 {
range 0..15;
}
default 0;
description
"Priority";
}
leaf preemption-capability {
type boolean;
default true;
description
"True if a bearer with lower priority should be dropped";
}
leaf preemption-vulnerability {
type boolean;
default true;
description
"This bearer may be dropped for a bearer with higher priority";
}
description "Evolved-ARP";
}
container maximum-requested-bandwidth {
leaf uplink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Upstream maximum requested bandwidth";
}
leaf downlink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Downstream maximum requested bandwidth";
}
description "The container for maximum-requested-bandwidth";
}
container guaranteed-bitrate {
leaf uplink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Upstream guaranteed bitrate";
}
leaf downlink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Downstream guaranteed bitrate";
}
description "The container for guaranteed-bitrate";
}
container aggregate-maximum-bitrate {
leaf uplink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Upstream aggregate maximum bitrate";
}
leaf downlink {
type uint32 {
range 0..4294967295;
}
units bps;
default 0;
description
"Downstream aggregate maximum bitrate";
}
description "The container for aggregate-maximum-bitrate";
}
description "The container for qos";
}
container flow {
leaf specification {
type string {
length 1..1024;
}
description "specification of this flow";
}
description "The container for flow";
}
leaf description {
type string {
length 1..100;
}
description "description of this rule";
}
}
}
}