Merge changes I879118ce,I664b391e
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / flow-node-inventory.yang
index 0f5cc71e8bc7052b1743d7e13d85ea3914e08bfd..fc0eb4cf7220c7428a9977f9eb0232e60750f045 100644 (file)
@@ -4,7 +4,6 @@ module flow-node-inventory {
 
     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";}
@@ -123,10 +122,15 @@ module flow-node-inventory {
             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;
         }
@@ -146,10 +150,12 @@ module flow-node-inventory {
         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
@@ -160,6 +166,7 @@ module flow-node-inventory {
         
         container supported-instructions {
             list instruction-type {
+               key "instruction";
                 uses feature;
                 leaf instruction {
                     type string; // FIXME: Add identity
@@ -169,6 +176,7 @@ module flow-node-inventory {
 
         container supported-actions {
             list action-type {
+               key "action";
                 uses feature;
 
                 leaf action {
@@ -195,7 +203,7 @@ module flow-node-inventory {
             
         }
     }
-    
+
     grouping flow-node-connector {
 
         uses port:flow-capable-port;
@@ -227,4 +235,20 @@ module flow-node-inventory {
         uses flow-node-connector;
     }
 
-}
\ No newline at end of file
+    augment "/inv:nodes/inv:node/table" {
+        ext:augment-identifier "flow-hash-id-mapping";
+    description "Flow is identified by match and priority on device. So Operational/DS
+        has to simulate that behavior and contract between FlowId and match+priority
+        identification should represent Flow hashCode. Flow has to contain only
+        match priority and flowCookie for create a hashCode";
+        list flow-hash-id-map {
+            key "hash";
+            leaf hash {
+                type string;
+            }
+            leaf flow-id {
+                type flow-id;
+            }
+        }
+    }
+}