1 module opendaylight-queue-statistics {
2 namespace "urn:opendaylight:queue:statistics";
5 import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
6 import yang-ext {prefix ext; revision-date "2013-07-09";}
7 import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
8 import flow-node-inventory {prefix flow-node;revision-date "2013-08-19";}
9 import opendaylight-queue-types {prefix queue-types;revision-date "2013-09-25";}
10 import opendaylight-statistics-types {prefix stat-types;revision-date "2013-09-25";}
11 import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
13 description "Openflowplugin queue statistics structures.";
17 Email: avishnoi@in.ibm.com";
19 revision "2013-12-16" {
20 description "Initial revision of queue statistics model";
23 //Augment queue statistics data to the flow-capable-node-connector
24 augment "/inv:nodes/inv:node/inv:node-connector/flow-node:queue" {
25 description "Openflow queue statistics data into the queue node.";
26 ext:augment-identifier "flow-capable-node-connector-queue-statistics-data";
27 uses flow-capable-node-connector-queue-statistics;
30 grouping flow-capable-node-connector-queue-statistics {
31 description "TODO::simplify;";
32 container flow-capable-node-connector-queue-statistics {
33 uses stat-types:generic-queue-statistics;
37 //RPC calls to fetch queue statistics
38 grouping queue-id-and-statistics-map {
39 list queue-id-and-statistics-map {
40 key "queue-id node-connector-id";
42 type queue-types:queue-id;
44 leaf node-connector-id {
45 type inv:node-connector-id;
48 uses stat-types:generic-queue-statistics;
52 rpc get-all-queues-statistics-from-all-ports {
54 description "Get statistics for all the queues attached to all the ports from the node";
57 uses inv:node-context-ref;
60 uses queue-id-and-statistics-map;
61 uses tr:transaction-aware;
65 rpc get-all-queues-statistics-from-given-port {
67 description "Get statistics for all queues for given port of the node";
70 uses inv:node-context-ref;
71 leaf node-connector-id {
72 type inv:node-connector-id;
76 uses queue-id-and-statistics-map;
77 uses tr:transaction-aware;
81 rpc get-queue-statistics-from-given-port {
83 description "Get statistics for given queues from given port of the node";
86 uses inv:node-context-ref;
87 leaf node-connector-id {
88 type inv:node-connector-id;
91 type queue-types:queue-id;
95 uses queue-id-and-statistics-map;
96 uses tr:transaction-aware;
100 //Notification for port statistics update
102 notification queue-statistics-update {
106 uses queue-id-and-statistics-map;
107 uses tr:multipart-transaction-aware;
110 augment "/multipart:multipart-reply/multipart:multipart-reply-body" {
111 case multipart-reply-queue-stats {
112 uses queue-id-and-statistics-map;
116 augment "/multipart:multipart-request/multipart:multipart-request-body" {
117 case multipart-request-queue-stats {
119 type queue-types:queue-id;
122 leaf node-connector-id {
123 type inv:node-connector-id;