}
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;
}
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;
}
}
+ 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 {
}
}
+
+ 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;
+ }
+ }
+ }
+
}