module ietf-scheduler-policy {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-scheduler-policy";
prefix scheduler-policy;
import ietf-traffic-policy {
prefix policy;
}
import ietf-qos-action {
prefix action;
}
organization
"IETF Routing Area Working Group";
contact
"WG Web:
WG List:
Editor: Aseem Choudhary
Editor: Mahesh Jethanandani
";
description
"This module contains a collection of YANG definitions for
configuring diffserv specification implementations.
Copyright (c) 2021 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2022-07-08 {
description
"Initial version";
reference
"RFC XXXX: YANG Models for Quality of Service (QoS).";
}
identity scheduler-policy-type {
base policy:policy-type;
description
"This defines scheduler policy-type";
}
identity filter-match-all {
base policy:filter-type;
description
"Traffic-group filter type";
}
grouping filter-match-all {
container match-all-cfg {
leaf match-all-action {
type empty;
description
"match all packets";
}
description
"the match-all action";
}
description
"the match-all filter grouping";
}
augment "/policy:policies/policy:policy/policy:classifier" +
"/policy:filter" {
when "../../policy:type =" +
"'scheduler-policy:scheduler-policy-type'" {
description
"Only when policy type is scheduler-policy";
}
choice filter-params {
description
"Choice of action types";
case filter-match-all {
uses filter-match-all;
description
"filter match-all";
}
}
description
"Augments Queue policy Classifier with common filter types";
}
identity queue-policy-name {
base policy:action-type;
description
"queue policy name";
}
grouping queue-policy-name-cfg {
container queue-policy-name {
leaf queue-policy {
type string ;
mandatory true;
description
"This leaf defines name of the queue-policy";
}
description
"container for queue-policy name";
}
description
"queue-policy name grouping";
}
augment "/policy:policies/policy:policy/policy:classifier" +
"/policy:action/policy:action-params" {
when "../../policy:type =" +
"'scheduler-policy:scheduler-policy-type'" {
description
"Only when policy type is scheduler-policy";
}
case scheduler {
uses action:scheduler;
}
case queue-policy-name {
uses queue-policy-name-cfg;
}
description
"augments scheduler template reference to scheduler policy";
}
}