module ietf-diffserv-policy {
yang-version 1;
namespace "urn:ietf:params:xml:ns:yang:ietf-diffserv-policy";
prefix policy;
import ietf-diffserv-classifier {
prefix classifier;
}
organization "IETF NETMOD (Netmod Working Group) Working Group";
contact
"WG Web:
WG List:
WG Chair: Jurgen Schonwalder
WG Chair: Tom Nadeau
Editor: Aseem Choudhary
Editor: Shitanshu Shah
";
description
"This module contains a collection of YANG definitions for
configuring diffserv specification implementations.
Copyright (c) 2014 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 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 2015-04-07 {
description
"Latest revision of diffserv policy";
reference "RFC XXXX";
}
feature hierarchial-policy-support {
description
" This feature allows hierarchial policy to be configured";
}
grouping policy-generic-attr {
description
"Policy Attributes";
leaf policy-name {
type string;
description
"Diffserv policy name";
}
leaf policy-descr {
type string;
description
"Diffserv policy description";
}
}
identity action-type {
description
"This base identity type defines action-types";
}
grouping classifier-action-entry-cfg {
description
"List of Configuration of classifier & associated actions";
list classifier-action-entry-cfg {
key "action-type";
ordered-by user;
description
"Configuration of classifier & associated actions";
leaf action-type {
type identityref {
base action-type;
}
description
"This defines action type ";
}
choice action-cfg-params {
description
"Choice of action types";
}
}
}
container policies {
description
"list of policy templates";
list policy-entry {
key "policy-name";
description
"policy template";
uses policy-generic-attr;
list classifier-entry {
key "classifier-entry-name";
ordered-by user;
description
"Classifier entry configuration in a policy";
leaf classifier-entry-name {
type string;
description
"Diffserv classifier entry name";
}
uses classifier:classifier-entry-inline-attr;
uses classifier-action-entry-cfg;
leaf child-policy {
if-feature hierarchial-policy-support;
type leafref {
path "/policies/policy-entry/policy-name";
}
description
"Child Policy in the hierarchial configuration";
}
}
}
}
}