summaryrefslogtreecommitdiff
path: root/include/openflow
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2015-07-02 20:33:08 -0700
committerBen Pfaff <blp@nicira.com>2015-07-03 08:46:20 -0700
commit82c22d34b5f459bc968fd268112d1e33bd103943 (patch)
tree09b9dfd57506dab1db511eb993290d3a4a77f5af /include/openflow
parentf70b94debcce380d3d67e346b7eaf47749e23005 (diff)
downloadopenvswitch-82c22d34b5f459bc968fd268112d1e33bd103943.tar.gz
Implement OpenFlow 1.4+ OFPTC_EVICTION.
OpenFlow 1.4 introduces the ability to turn on flow table eviction with an OFPT_TABLE_MOD message specifying OFPTC_EVICTION. It also adds related machinery to other messages that mention OFPTC_* fields. This commit adds support for the new feature, implementing it as a second, parallel way to enable flow table eviction. It takes more work than it seems like it should because there is so much weirdness with the treatment of OFPTC_* flags over the evolution of OpenFlow; please refer to the explanation in DESIGN.md for more information. This commit also adds related support to ovs-ofctl, plus tests. Signed-off-by: Ben Pfaff <blp@nicira.com> Co-authored-by: Saloni Jain <saloni.jain@tcs.com> Signed-off-by: Saloni Jain <saloni.jain@tcs.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Diffstat (limited to 'include/openflow')
-rw-r--r--include/openflow/openflow-1.3.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/openflow/openflow-1.3.h b/include/openflow/openflow-1.3.h
index 142d32c01..cf934290a 100644
--- a/include/openflow/openflow-1.3.h
+++ b/include/openflow/openflow-1.3.h
@@ -232,7 +232,14 @@ struct ofp13_table_features {
char name[OFP_MAX_TABLE_NAME_LEN];
ovs_be64 metadata_match; /* Bits of metadata table can match. */
ovs_be64 metadata_write; /* Bits of metadata table can write. */
- ovs_be32 config; /* Bitmap of OFPTC_* values */
+
+ /* In OF1.3 this field was named 'config' and it was useless because OF1.3
+ * did not define any OFPTC_* bits.
+ *
+ * OF1.4 renamed this field to 'capabilities' and added OFPTC14_EVICTION
+ * and OFPTC14_VACANCY_EVENTS. */
+ ovs_be32 capabilities; /* Bitmap of OFPTC_* values */
+
ovs_be32 max_entries; /* Max number of entries supported. */
/* Table Feature Property list */