Finished yang generation for match, action, instruction and tableFeatureProperties
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-types.yang
index f4c45ba662e3e8f8daa8e3f7d05836f80dff9635..6552b2ee8527cf985d7e3e2e9ffd1a4eef848ee9 100644 (file)
@@ -312,7 +312,7 @@ module openflow-types {
             }
             enum OFPC_FRAG_REASM {
                 value 2; 
-                description "Reassemble (only if OFPC_IP_REASM set)."
+                description "Reassemble (only if OFPC_IP_REASM set).";
             }
             enum OFPC_FRAG_MASK {
                 value 3; 
@@ -333,7 +333,7 @@ module openflow-types {
             }
             enum OFPRR_DELETE {
                 value 2;
-                description "Evicted by a DELETE flow mod."
+                description "Evicted by a DELETE flow mod.";
             }
             enum OFPRR_GROUP_DELETE {
                 value 3;
@@ -386,6 +386,32 @@ module openflow-types {
         }
     }
     
+    typedef flow-mod-flags {
+        /* ofp_flow_mod_flags */
+        type bits {
+            bit OFPFF_SEND_FLOW_REM {
+                position 0;
+                /* Send flow removed message when flow expires or is deleted. */
+            }
+            bit OFPFF_CHECK_OVERLAP {
+                position 1;
+                /* Check for overlapping entries first. */
+            }
+            bit OFPFF_RESET_COUNTS {
+                position 2;
+                /* Reset flow packet and byte counts. */
+            }
+            bit OFPFF_NO_PKT_COUNTS {
+                position 3;
+                /* Don't keep track of packet count. */
+            }
+            bit OFPFF_NO_BYT_COUNTS {
+                position 4;
+                /* Don't keep track of byte count. */
+            }
+        }
+    }
+    
     typedef group-mod-command {
         /* ofp_group_mod_command */
         type enumeration {
@@ -662,4 +688,128 @@ module openflow-types {
 
         }
     }
+    
+    typedef table-config {
+        /* ofp_table_config */
+        type bits {
+            bit OFPTC_DEPRECATED_MASK {
+                /* Deprecated bits */
+                position 3;
+            }
+        }
+    }
+    
+    typedef table-features-prop-type {
+        type enumeration {
+            enum OFPTFPT_INSTRUCTIONS {
+                value 0; 
+                description "Instructions property.";
+            }
+            enum OFPTFPT_INSTRUCTIONS_MISS {
+                value 1; 
+                description "Instructions for table-miss.";
+            }
+            enum OFPTFPT_NEXT_TABLES {
+                value 2; 
+                description "Next Table property.";
+            }
+            enum OFPTFPT_NEXT_TABLES_MISS {
+                value 3; 
+                description "Next Table for table-miss.";
+            }
+            enum OFPTFPT_WRITE_ACTIONS {
+                value 4; 
+                description "Write Actions property.";
+            }
+            enum OFPTFPT_WRITE_ACTIONS_MISS {
+                value 5; 
+                description "Write Actions for table-miss.";
+            }
+            enum OFPTFPT_APPLY_ACTIONS {
+                value 6; 
+                description "Apply Actions property.";
+            }
+            enum OFPTFPT_APPLY_ACTIONS_MISS {
+                value 7; 
+                description "Apply Actions for table-miss.";
+            }
+            enum OFPTFPT_MATCH {
+                value 8; 
+                description "Match property.";
+            }
+            enum OFPTFPT_WILDCARDS {
+                value 10; 
+                description "Wildcards property.";
+            }
+            enum OFPTFPT_WRITE_SETFIELD {
+                value 12; 
+                description "Write Set-Field property.";
+            }
+            enum OFPTFPT_WRITE_SETFIELD_MISS {
+                value 13; 
+                description "Write Set-Field for table-miss.";
+            }
+            enum OFPTFPT_APPLY_SETFIELD {
+                value 14; 
+                description "Apply Set-Field property.";
+            }
+            enum OFPTFPT_APPLY_SETFIELD_MISS {
+                value 15; 
+                description "Apply Set-Field for table-miss.";
+            }
+            enum OFPTFPT_EXPERIMENTER {
+                value 65534; 
+                description "Experimenter property.";
+            }
+            enum OFPTFPT_EXPERIMENTER_MISS {
+                value 65535; //0xffff 
+                description "Experimenter for table-miss.";
+            }
+        }
+    }
+    
+    typedef group-types {
+        /* ofp_group_type */
+        type bits {
+            bit OFPGT_ALL {
+                /* All (multicast/broadcast) group. */
+                position 0;
+            }
+            bit OFPGT_SELECT {
+                /* Select group. */
+                position 1;
+            }
+            bit OFPGT_INDIRECT {
+                /* Indirect group. */
+                position 2;
+            }
+            bit OFPGT_FF {
+                /* Fast failover group. */
+                position 3;
+            }
+        }
+    }
+    
+    typedef group-capabilities {
+        /* ofp_group_capabilities */
+        type bits {
+            bit OFPGFC_SELECT_WEIGHT {
+                /* Support weight for select groups */
+                position 0;
+            }
+            bit OFPGFC_SELECT_LIVENESS {
+                /* Support liveness for select groups */
+                position 1;
+            }
+            bit OFPGFC_CHAINING {
+                /* Support chaining groups */
+                position 2;
+            }
+            bit OFPGFC_CHAINING_CHECKS {
+                /* Check chaining for loops and delete */
+                position 3;
+            }
+        }
+    }
+    
 }