module ietf-scheduler-policy {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-scheduler-policy";
prefix scheduler-policy;
import ietf-qos-classifier {
prefix classifier;
}
import ietf-qos-policy {
prefix policy;
}
import ietf-qos-action {
prefix action;
}
organization "IETF RTG (Routing Area) Working Group";
contact
"WG Web:
WG List:
WG Chair: Chris Bowers
WG Chair: Jeff Tantsura
Editor: Norm Strahle
Editor: Aseem Choudhary
";
description
"This module contains a collection of YANG definitions for
configuring diffserv specification implementations.
Copyright (c) 2019 IETF Trust and the persons identified as
the document authors. 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 Simplified 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 2019-01-13 {
description
"Latest revision of scheduler policy module";
reference "RFC XXXX";
}
feature scheduler-policy-support {
description
" This feature allows sheduler policy configuration
as a separate policy type support.";
}
identity scheduler-policy-type {
base policy:policy-type;
description
"This defines scheduler policy-type";
}
identity filter-match-all {
base classifier:filter-type;
description
"Traffic-group filter type";
}
grouping filter-match-all-cfg {
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-entry" +
"/policy:classifier-entry/policy:filter-entry" {
when "../../policy: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-cfg;
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-entry" +
"/policy:classifier-entry" +
"/policy:classifier-action-entry-cfg" +
"/policy:action-cfg-params" {
when "../../policy: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";
}
}