import yang-ext {prefix ext; revision-date "2013-07-09";}
import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
import opendaylight-port-types {prefix port;revision-date "2013-09-25";}
import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
import opendaylight-table-types {prefix table;revision-date "2013-10-26";}
}
typedef flow-id {
- type uint32; // Note: This doesn't really belong here, and not sure if unint32 is right
+ type inet:uri;
}
grouping tables {
uses meter:meter;
}
}
-
-
- grouping flow-node {
+ grouping ip-address-grouping {
+ leaf ip-address {
+ description "IP address of a flow capable node.";
+ type inet:ip-address;
+ }
+ }
+
+ grouping flow-node {
leaf manufacturer {
type string;
}
uses tables;
uses group:groups;
uses meters;
+ uses ip-address-grouping;
// TODO: ports
container supported-match-types {
list match-type {
+ key "match";
uses feature;
leaf match {
type string; // FIXME: Add identity
container supported-instructions {
list instruction-type {
+ key "instruction";
uses feature;
leaf instruction {
type string; // FIXME: Add identity
container supported-actions {
list action-type {
+ key "action";
uses feature;
leaf action {
}
}
-
+
grouping flow-node-connector {
uses port:flow-capable-port;
uses flow-node-connector;
}
-}
\ No newline at end of file
+ augment "/inv:nodes/inv:node/table" {
+ ext:augment-identifier "flow-cookie-mapping";
+ list flow-cookie-map {
+ key "cookie";
+ leaf cookie {
+ type flow:flow-cookie;
+ }
+ leaf-list flow-ids {
+ type flow-id;
+ }
+ }
+ }
+}