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;
}
// 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;
}
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;
}
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;
}
notification flows-statistics-update {
+ status deprecated;
description "Flows statistics sent by switch";
leaf moreReplies {
type boolean;
//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 {
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;