External api proposal
[openflowplugin.git] / model / model-flow-statistics / src / main / yang / opendaylight-flow-statistics.yang
index f7a0652e45f042bf891c58a1a7fcdb017e811a2c..215c83dc5c3e61410a395e111933721b9d678a00 100644 (file)
@@ -11,26 +11,27 @@ module opendaylight-flow-statistics {
     import flow-capable-transaction {prefix tr;}
     import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
 
+    description "Openflow statistics polling.";
 
     revision "2013-08-19" {
         description "Initial revision of flow statistics service";
     }
 
-    //Augment flow statistics data to the flow-capable-node->table->flow
     augment "/inv:nodes/inv:node/flow-node:table/flow-node:flow" {
         ext:augment-identifier "flow-statistics-data";
+        description "Openflow flow statistics data into the flow-capable-node->table->flow";
+
         uses flow-statistics;
     }
 
     grouping flow-statistics {
         container flow-statistics {
-            //config "false";
             uses stat-types:generic-statistics;
         }
     }
 
     typedef flow-id {
-        description "flow id";
+        description "flow id, TODO:: replace with inv:flow-id.";
         type inet:uri;
     }
 
@@ -53,6 +54,7 @@ module opendaylight-flow-statistics {
 
     // RPC calls to fetch flow statistics
     rpc get-all-flows-statistics-from-all-flow-tables {
+        status deprecated;
         description "Fetch statistics of all the flow present in all the flow tables of the switch";
         input {
             uses inv:node-context-ref;
@@ -65,6 +67,7 @@ module opendaylight-flow-statistics {
     }
 
     rpc get-all-flow-statistics-from-flow-table {
+        status deprecated;
         description "Fetch statistics of all the flow present in the specific flow table of the switch";
         input {
             uses inv:node-context-ref;
@@ -79,6 +82,7 @@ module opendaylight-flow-statistics {
     }
 
     rpc get-flow-statistics-from-flow-table {
+        status deprecated;
         description "Fetch statistics of the specific flow present in the specific flow table of the switch";
         input {
             uses inv:node-context-ref;
@@ -91,6 +95,7 @@ module opendaylight-flow-statistics {
     }
 
     notification flows-statistics-update {
+        status deprecated;
         description "Flows statistics sent by switch";
         leaf moreReplies {
             type boolean;
@@ -102,20 +107,22 @@ module opendaylight-flow-statistics {
 
     //Models for aggregate flow statistics collection
     augment "/inv:nodes/inv:node/flow-node:table" {
+        status deprecated;
         ext:augment-identifier "aggregate-flow-statistics-data";
         uses aggregate-flow-statistics;
     }
 
     grouping aggregate-flow-statistics {
         container aggregate-flow-statistics {
-            //config "false";
             uses stat-types:aggregate-flow-statistics;
         }
     }
 
     // RPC calls to fetch aggregate flow statistics
     rpc get-aggregate-flow-statistics-from-flow-table-for-all-flows {
+        status deprecated;
         description "Fetch aggregate statistics for all the flows present in the specific flow table of the switch";
+
         input {
             uses inv:node-context-ref;
             leaf table-id {
@@ -127,19 +134,32 @@ module opendaylight-flow-statistics {
             uses tr:transaction-aware;
         }
     }
+
     rpc get-aggregate-flow-statistics-from-flow-table-for-given-match {
-        description "Fetch aggregate statistics for all the flow matches to the given match from the given table of the switch";
+        description "Fetch aggregate statistics for flows filtered by 
+          - table (eventually all tables)
+          - match
+          - port
+          - group
+          - cookie
+          This values are contained in flow (among others).
+          TODO:: filter values should be modeled more exact - omitting unusable fields.";
+
         input {
             uses inv:node-context-ref;
             uses flow-types:flow;
         }
         output {
-            uses stat-types:aggregate-flow-statistics;
+            list aggregated-flow-statistics {
+                uses stat-types:aggregate-flow-statistics;
+            }
             uses tr:transaction-aware;
         }
     }
 
     notification aggregate-flow-statistics-update {
+        status deprecated;
+
         description "Aggregate flow statistics for a table, sent by switch";
         uses inv:node;
         uses stat-types:aggregate-flow-statistics;