bulk transaction and co-relation support
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / flow-service.yang
index 5a1b0070777d6afbe672c14ec27209d454761a8f..5c68a137c3d71f8c23da9cd8da3f64d6552e2b56 100644 (file)
@@ -7,6 +7,7 @@ module sal-flow {
     import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
     import opendaylight-flow-types {prefix types;revision-date "2013-10-26";}
     import flow-capable-transaction {prefix tr;}
+    import flow-errors {prefix error;}
 
     revision "2013-08-19" {
         description "Initial revision of flow service";
@@ -16,6 +17,17 @@ module sal-flow {
         type instance-identifier;
     }
     
+    grouping node-flow-removed {
+        leaf node {
+            ext:context-reference "inv:node-context";
+            type inv:node-ref;
+        }
+        leaf flow-table {
+            type flow-table-ref;
+        }
+        uses types:flow-mod-removed;
+    }
+    
     grouping node-flow {
         uses "inv:node-context-ref";
 
@@ -39,8 +51,11 @@ module sal-flow {
 
     rpc add-flow {
         input {
-            uses node-flow;
-            uses tr:transaction-aware;            
+            uses tr:transaction-metadata;
+            leaf flow-ref {
+                type types:flow-ref;
+            }
+            uses node-flow;            
         }
         output {
             uses tr:transaction-aware;
@@ -49,8 +64,11 @@ module sal-flow {
 
     rpc remove-flow {
         input {
-            uses node-flow;
-            uses tr:transaction-aware;            
+            uses tr:transaction-metadata;
+            leaf flow-ref {
+                type types:flow-ref;
+            }
+            uses node-flow;            
         }
         output {
             uses tr:transaction-aware;
@@ -59,8 +77,11 @@ module sal-flow {
 
     rpc update-flow {
         input {
-            uses flow-update;
-            uses tr:transaction-aware;            
+            uses tr:transaction-metadata;
+            leaf flow-ref {
+                type types:flow-ref;
+            }
+            uses flow-update;           
         }
         output {
             uses tr:transaction-aware;
@@ -68,14 +89,44 @@ module sal-flow {
     }
 
     notification flow-added {
+        uses tr:transaction-metadata;
+        leaf flow-ref {
+            type types:flow-ref;
+        }
         uses node-flow;
+        uses tr:transaction-aware;
     }
 
     notification flow-updated {
+        uses tr:transaction-metadata;
+        leaf flow-ref {
+            type types:flow-ref;
+        }
         uses node-flow;
+        uses tr:transaction-aware;        
     }
 
     notification flow-removed {
+        uses tr:transaction-metadata;
+        leaf flow-ref {
+            type types:flow-ref;
+        }
         uses node-flow;
+        uses tr:transaction-aware;
+    }
+    
+    notification switch-flow-removed {
+        uses node-flow-removed;
+    }
+    
+    notification node-error-notification {
+        uses error:error-message;
+        uses tr:transaction-aware;
+        uses tr:transaction-metadata;
+    }
+    
+    notification node-experimenter-error-notification {
+        uses error:experimenter-error-message;
+        uses tr:transaction-aware;
     }
 }
\ No newline at end of file