787a4e6aa0ef2fe3b26931877aa56a608450eda8
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / 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;}
6     import yang-ext {prefix ext; revision-date "2013-07-09";}
7     import ietf-yang-types {prefix yang; revision-date "2010-09-24";}   
8     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
9     import opendaylight-statistics-types {prefix stat-types;revision-date "2013-09-25";}
10
11     contact
12         "Anilkumar Vishnoi
13         Email: avishnoi@in.ibm.com";
14
15     revision "2013-12-14" {
16         description "Initial revision of port statistics model";
17     }
18     
19     //Augment port statistics data to the flow-capable-node-connector
20         augment "/inv:nodes/inv:node/inv:node-connector" {
21         ext:augment-identifier "flow-capable-node-connector-statistics-data";
22         uses flow-capable-node-connector-statistics;
23     }
24         
25         grouping flow-capable-node-connector-statistics {
26         container flow-capable-node-connector-statistics {
27             //config "false";
28             uses stat-types:node-connector-statistics;
29         }
30         }    
31         
32     // RPC calls
33     rpc get-all-node-connectors-statistics {
34         description "Get statistics for all node connectors from the node";
35         input {
36             uses inv:node-context-ref;
37         }
38         output {
39                         uses node-connector-statistics-and-port-number-map;
40             uses tr:transaction-aware;
41         }
42     }
43     
44     rpc get-node-connector-statistics {
45         description "Get statistics for given node connector from the node";
46         input {
47                 uses inv:node-context-ref;
48                 leaf node-connector-id {
49                         type inv:node-connector-id;
50                 }
51         }
52         output {
53             uses stat-types:node-connector-statistics;
54             uses tr:transaction-aware;
55         }
56     }
57     
58     //Notification for node connector statistics update
59         grouping node-connector-statistics-and-port-number-map {
60                 description "List of map - node connectors and their statistics";
61                 list node-connector-statistics-and-port-number-map {
62                         key "node-connector-id";
63                         leaf node-connector-id {
64                                 type inv:node-connector-id;
65                         }
66                         uses stat-types:node-connector-statistics;
67                 }
68         }
69
70         notification node-connector-statistics-update {
71         leaf moreReplies {
72             type boolean;
73         }
74         uses inv:node;
75                 uses node-connector-statistics-and-port-number-map;
76         uses tr:transaction-aware;
77     }
78 }