Merge "Yang Changes to include list<actions> to PacketOut - Added list<actions> and...
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / packet-processing.yang
index 260de5fd0cbf021d3730d8c1d91259c797cba57f..f3db3181f7935665a8731d5bb76119aac5036df4 100644 (file)
@@ -2,20 +2,28 @@ module packet-processing {
     namespace "urn:opendaylight:packet:service";
     prefix flow;
 
-    import opendaylight-inventory {prefix inv;}
-    import ietf-inet-types {prefix inet;}
-    import ietf-yang-types {prefix yang;} 
-    import opendaylight-l2-types {prefix types;}
+    import yang-ext {prefix ext; revision-date "2013-07-09";}
+    import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
+    import ietf-yang-types {prefix yang;revision-date "2010-09-24";} 
+    import opendaylight-l2-types {prefix types;revision-date "2013-08-27";}
+    import opendaylight-match-types {prefix match-type;revision-date "2013-10-26";}
+    import opendaylight-table-types {prefix table-type;revision-date "2013-10-26";}
+    import opendaylight-action-types {prefix action-type;revision-date "2013-11-12";}
+
     
     revision "2013-07-09" {
         description "";
     }
 
+    typedef cookie {
+        type uint32;
+    }
+
     grouping raw-packet {
        leaf ingress {
                type inv:node-connector-ref;
        }
-       leaf payload {
+        leaf payload {
                type binary;
        }
     }
@@ -30,17 +38,64 @@ module packet-processing {
        }
     }
 
+    identity packet-in-reason {
+       description "Base identity for all the available packet in reason"; 
+    }
+    
+    identity no-match {
+       base packet-in-reason;
+       description "No matching flow in the classifier";
+    }
+    
+    identity send-to-controller {
+       base packet-in-reason;
+       description "Explicit instruction to send packet to controller";
+    }
+    
+    identity invalid-ttl {
+       base packet-in-reason;
+       description "Packet with invalid TTL";
+    }
 
     notification packet-received {
-       uses raw-packet;
+       leaf cookie {
+                type cookie;
+        }
+        
+        leaf table-id {
+               type table-type:table-id;
+        }
+        
+        leaf packet-in-reason {
+               type identityref {
+                       base packet-in-reason;
+               }
+               }
+        
+        container match {
+                       uses match-type:match;
+        }
+        
+        uses raw-packet;
     }
 
     rpc transmit-packet {
        input {
+            uses inv:node-context-ref;
+
+            leaf cookie {
+                type cookie;
+            }
+            
                leaf egress {
                        type inv:node-connector-ref;
                }
+               leaf buffer-id {
+                  type uint32;
+            }
+
                uses raw-packet;
+               uses action-type:action-list;
        }
     }
-}
\ No newline at end of file
+}