16cf660c2d264d9dd2b21de68104c6989b31e87f
[openflowplugin.git] / model / model-flow-statistics / src / main / yang / opendaylight-port-statistics.yang
1 module opendaylight-port-statistics {
2     namespace "urn:opendaylight:port:statistics";
3     prefix portstat;
4
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 opendaylight-statistics-types {prefix stat-types;revision-date "2013-09-25";}
9     import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
10
11     description "Openflow port statistics structures.";
12
13     contact
14         "Anilkumar Vishnoi
15         Email: avishnoi@in.ibm.com";
16
17     revision "2013-12-14" {
18         description "Initial revision of port statistics model";
19     }
20
21     //Augment port statistics data to the flow-capable-node-connector
22     augment "/inv:nodes/inv:node/inv:node-connector" {
23         description "Openflow port statistics data into the node connector node.";
24         ext:augment-identifier "flow-capable-node-connector-statistics-data";
25         uses flow-capable-node-connector-statistics;
26     }
27
28     grouping flow-capable-node-connector-statistics {
29         description "TODO:: simplify";
30         container flow-capable-node-connector-statistics {
31             uses stat-types:node-connector-statistics;
32         }
33     }
34
35     // RPC calls
36     rpc get-all-node-connectors-statistics {
37         status deprecated;
38
39         description "Get statistics for all node connectors from the node";
40         input {
41             uses inv:node-context-ref;
42         }
43         output {
44             uses node-connector-statistics-and-port-number-map;
45             uses tr:transaction-aware;
46         }
47     }
48
49     rpc get-node-connector-statistics {
50         status deprecated;
51
52         description "Get statistics for given node connector from the node";
53         input {
54             uses inv:node-context-ref;
55             leaf node-connector-id {
56                 type inv:node-connector-id;
57             }
58         }
59         output {
60             uses stat-types:node-connector-statistics;
61             uses tr:transaction-aware;
62         }
63     }
64
65     //Notification for node connector statistics update
66     grouping node-connector-statistics-and-port-number-map {
67         description "List of map - node connectors and their statistics";
68         list node-connector-statistics-and-port-number-map {
69             key "node-connector-id";
70             leaf node-connector-id {
71                 type inv:node-connector-id;
72             }
73             uses stat-types:node-connector-statistics;
74         }
75     }
76
77     notification node-connector-statistics-update {
78         status deprecated;
79
80         uses inv:node;
81         uses node-connector-statistics-and-port-number-map;
82         uses tr:multipart-transaction-aware;
83     }
84
85     augment "/multipart:multipart-reply/multipart:multipart-reply-body" {
86         case multipart-reply-port-stats {
87             uses node-connector-statistics-and-port-number-map;
88         }
89     }
90
91     augment "/multipart:multipart-request/multipart:multipart-request-body" {
92         case multipart-request-port-stats {
93             leaf node-connector-id {
94                 type inv:node-connector-id;
95             }
96         }
97     }
98 }