module ietf-qos-oper {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-qos-oper";
prefix oper;
import ietf-interfaces {
prefix if;
}
organization "IETF RTG (Routing Area) Working Group";
contact
"WG Web:
WG List:
WG Chair: Chris Bowers
WG Chair: Jeff Tantsura
Editor: Aseem Choudhary
";
description
"This module contains a collection of YANG definitions for
configuring qos 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 2018-06-28 {
description
"Latest revision qos based policy applied to a target";
reference "RFC XXXX";
}
identity direction {
description
"This is identity of traffic direction";
}
identity inbound {
base direction;
description
"Direction of traffic coming into the network entry";
}
identity outbound {
base direction;
description
"Direction of traffic going out of the network entry";
}
grouping classifier-entry-stats {
description
"Classifier Counters";
container classifier-entry-statistics {
config false;
description
"
This group defines the classifier filter statistics of
each classifier entry
";
leaf classified-pkts {
type uint64;
description
" Number of total packets which filtered
to a classifier-entry";
}
leaf classified-bytes {
type uint64;
description
" Number of total bytes which filtered
to a classifier-entry";
}
leaf classified-rate {
type uint64;
units "bits-per-second";
description
" Rate of average data flow through a
classifier-entry";
}
}
}
grouping qos-named-stats {
description
"QoS matching statistics associated with a stats-name";
leaf pkts {
type uint64;
description
" Number of total matched packets associated
to a statistics name";
}
leaf bytes {
type uint64;
description
" Number of total matched bytes associated
to a statistics name";
}
leaf rate {
type uint64;
units "bits-per-second";
description
" Rate of average matched data which is associated
to a statistics name";
}
}
grouping queuing-stats {
description
"Queuing Counters";
container queuing-statistics {
description
"queue related statistics ";
leaf output-conform-pkts {
type uint64;
description
"Number of packets transmitted from queue ";
}
leaf output-conform-bytes {
type uint64;
description
"Number of bytes transmitted from queue ";
}
leaf output-exceed-pkts {
type uint64;
description
"Number of packets transmitted from queue ";
}
leaf output-exceed-bytes {
type uint64;
description
"Number of bytes transmitted from queue ";
}
leaf queue-current-size-bytes {
type uint64;
description
"Number of bytes currently buffered ";
}
leaf queue-average-size-bytes {
type uint64;
description
"Average queue size in number of bytes";
}
leaf queue-peak-size-bytes {
type uint64;
description
"Peak buffer queue size in bytes ";
}
leaf tailed-drop-pkts {
type uint64;
description
"Total number of packets tail-dropped ";
}
leaf tailed-drop-bytes {
type uint64;
description
"Total number of bytes tail-dropped ";
}
}
}
grouping meter-stats {
description
"Metering Statistics";
leaf conform-pkts {
type uint64;
description
"Number of conform packets";
}
leaf conform-bytes {
type uint64;
description
"Bytes of conform packets";
}
leaf conform-rate {
type uint64;
units "bits-per-second";
description
"Traffic Rate measured as conformimg";
}
leaf exceed-pkts {
type uint64;
description
"Number of packets counted as exceeding";
}
leaf exceed-bytes {
type uint64;
description
"Bytes of packets counted as exceeding";
}
leaf exceed-rate {
type uint64;
units "bits-per-second";
description
"Traffic Rate measured as exceeding";
}
leaf violate-pkts {
type uint64;
description
"Number of packets counted as violating";
}
leaf violate-bytes {
type uint64;
description
"Bytes of packets counted as violating";
}
leaf violate-rate {
type uint64;
units "bits-per-second";
description
"Traffic Rate measured as violating";
}
leaf meter-drop-pkts {
type uint64;
description
"Number of packets dropped by meter";
}
leaf meter-drop-bytes {
type uint64;
description
"Bytes of packets dropped by meter";
}
}
augment "/if:interfaces/if:interface" {
description
"Augments Qos Target Entry to Interface module";
container qos-interface-statistics {
config false;
description
"Qos Interface statistics";
list qos-stats-per-direction {
description
"Qos Interface statistics for ingress or egress direction";
leaf direction {
type identityref {
base direction;
}
description
"Direction fo the traffic flow either inbound or
outbound";
}
list qos-classifier-statistics {
description
"Classifier Statistics for each Classifier Entry in a
Policy applied in a particular direction";
leaf policy-name {
type string;
description
"Policy entry name";
}
leaf classifier-entry-name {
type string;
description
"Classifier Entry Name";
}
uses classifier-entry-stats;
}
list qos-named-statistics {
config false;
description
"Matched Statistics for a statistics-name";
leaf stats-name {
type string;
description
"Statistics name";
}
uses qos-named-stats;
}
list metering-statistics {
config false;
description
"Statistics for each Meter associated with the Policy";
leaf policy-name {
type string;
description
"Policy entry name";
}
leaf meter-id {
type string;
description
"Meter Identifier";
}
uses meter-stats;
}
list queueing-statistics {
config false;
description
"Statistics for each Queue associated with the Policy";
leaf policy-name {
type string;
description
"Policy entry name";
}
leaf queue-id {
type string;
description
"Queue Identifier";
}
uses queuing-stats;
}
}
}
}
}