Match (de)serialization fixed + tests added
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-action.yang
index bb43ed402485cf40d59a8ff7ba16441004186d68..f8c9a4689314368dc512b059f654933d7fa2640d 100644 (file)
@@ -5,7 +5,7 @@ module openflow-action {
     import openflow-types { prefix oft; }
 
     revision "2013-07-31" {
-        description "Initial model";
+        description "OpenFlow 1.3 - action model";
     }
 
     identity output {
@@ -77,102 +77,67 @@ module openflow-action {
         base oft:action;
     }
     
-    grouping output {
-        description 
-            "Action structure for OFPAT_OUTPUT, which sends packets out 'port'.
-            When the 'port' is the OFPP_CONTROLLER, 'max_len' indicates the max
-            number of bytes to send. A 'max_len' of zero means no bytes of the
-            packet should be sent. A 'max_len' of OFPCML_NO_BUFFER means that
-            the packet is not buffered and the complete packet is to be sent to
-            the controller.";
-        leaf port {
-            type oft:any-port-number;
-        }
-        leaf max-length {
-            description "Maximum packet length to be send to controller.";
-            type union {
-                type uint16 {
-                    range "0..65294"; // 0..0xff0e
-                }
-                type enumeration {
-                    enum no-buffer {
-                        description 
-                            "indicates that no buffering should be
-                             applied and the whole packet is to be
-                             sent to the controller";
-                        value 65535; //0xffff
+    container actions-container {
+        uses actions;
+    }
+    
+    grouping actions {
+        list actions-list {
+            key "action";
+            container action {
+                leaf type {
+                    type identityref {
+                        base oft:action;
                     }
                 }
             }
         }
     }
-
-    grouping group {
-        leaf group {
-            type oft:group-id; // define action group-id type;
-        }
+    
+    // OF1.0 structures
+    identity set_vlan_vid {
+        description "";
+        base oft:action;
     }
-
-    grouping set-queue {
-        leaf queue {
-            type oft:queue-id;
-        }
+    identity set_vlan_pcp {
+        description "";
+        base oft:action;
     }
-
-    grouping set-mpls-ttl {
-        leaf mpls_ttl {
-            type uint8;
-        }
+    identity strip_vlan {
+        description "";
+        base oft:action;
     }
-
-    grouping set-nw-ttl {
-        leaf nw_ttl {
-            type uint8;
-        }
+    identity set_dl_src {
+        description "";
+        base oft:action;
     }
-
-    grouping push-pbb {
-        leaf ethertype {
-            type oft:ether-type;
-        }
+    identity set_dl_dst {
+        description "";
+        base oft:action;
     }
-
-    grouping push-mpls {
-        leaf ethertype {
-            type oft:ether-type;
-        }
+    identity set_nw_src {
+        description "";
+        base oft:action;
     }
-
-    grouping push-vlan {
-        leaf ethertype {
-            type oft:ether-type;
-        }
+    identity set_nw_dst {
+        description "";
+        base oft:action;
     }
-
-    grouping pop-mpls {
-        leaf ethertype {
-            type oft:ether-type;
-        }
+    identity set_nw_tos {
+        description "";
+        base oft:action;
     }
-
-    grouping set-field {
-        container field {
-            // TODO: figure definition
-        }
+    identity set_tp_src {
+        description "";
+        base oft:action;
     }
-    
-    
-    grouping action-header {
-        leaf type {
-            type identityref {
-                base oft:action;
-            }
-        }
-        choice action-type {
-            case output {
-                uses output;
-            }
-        }
+    identity set_tp_dst {
+        description "";
+        base oft:action;
     }
-    
+    identity enqueue {
+        description "";
+        base oft:action;
+    }
+
 }
\ No newline at end of file