summaryrefslogtreecommitdiff
path: root/include/openvswitch/meta-flow.h
diff options
context:
space:
mode:
authorYi-Hung Wei <yihung.wei@gmail.com>2017-02-17 17:47:44 -0800
committerJoe Stringer <joe@ovn.org>2017-02-21 11:36:32 -0800
commitaafee638217b24eb165e052866a9be4e3f695ce9 (patch)
treee11ffc2e294cbfbc0ef205083fcaccbe74a38bd1 /include/openvswitch/meta-flow.h
parent0f8469b4c0dd0e4b2d529a6c5b1bc585e768959d (diff)
downloadopenvswitch-aafee638217b24eb165e052866a9be4e3f695ce9.tar.gz
meta-flow: Remove cmap dependency.
Previous patch 04f48a68 ("ofp-actions: Fix variable length meta-flow OXMs.") introduced dependency of an internal library (cmap.h) to ovs public interface (meta-flow.h) that may cause potential building problem. In this patch, we remove cmap from struct mf_field, and provide a wrapper struct vl_mff_map that resolve the dependency problem. Fixes: 04f48a68c428 ("ofp-actions: Fix variable length meta-flow OXMs.") Suggested-by: Joe Stringer <joe@ovn.org> Suggested-by: Daniele Di Proietto <diproiettod@vmware.com> Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: Joe Stringer <joe@ovn.org>
Diffstat (limited to 'include/openvswitch/meta-flow.h')
-rw-r--r--include/openvswitch/meta-flow.h23
1 files changed, 0 insertions, 23 deletions
diff --git a/include/openvswitch/meta-flow.h b/include/openvswitch/meta-flow.h
index d5c097179..83e259933 100644
--- a/include/openvswitch/meta-flow.h
+++ b/include/openvswitch/meta-flow.h
@@ -23,11 +23,9 @@
#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/ip6.h>
-#include "cmap.h"
#include "openvswitch/flow.h"
#include "openvswitch/ofp-errors.h"
#include "openvswitch/packets.h"
-#include "openvswitch/thread.h"
#include "openvswitch/util.h"
struct ds;
@@ -1774,9 +1772,6 @@ struct mf_field {
int flow_be32ofs; /* Field's be32 offset in "struct flow", if prefix tree
* lookup is supported for the field, or -1. */
-
- /* For variable length mf_fields only. In ofproto->vl_mff_map->cmap. */
- struct cmap_node cmap_node;
};
/* The representation of a field's value. */
@@ -1853,14 +1848,6 @@ union mf_subvalue {
};
BUILD_ASSERT_DECL(sizeof(union mf_value) == sizeof (union mf_subvalue));
-/* Variable length mf_fields mapping map. This is a single writer,
- * multiple-reader hash table that a writer must hold the following mutex
- * to access this map. */
-struct vl_mff_map {
- struct cmap cmap; /* Contains 'struct mf_field' */
- struct ovs_mutex mutex;
-};
-
bool mf_subvalue_intersect(const union mf_subvalue *a_value,
const union mf_subvalue *a_mask,
const union mf_subvalue *b_value,
@@ -1987,14 +1974,4 @@ void mf_format_subvalue(const union mf_subvalue *subvalue, struct ds *s);
/* Field Arrays. */
void field_array_set(enum mf_field_id id, const union mf_value *,
struct field_array *);
-
-/* Variable length fields. */
-void mf_vl_mff_map_clear(struct vl_mff_map *vl_mff_map)
- OVS_REQUIRES(vl_mff_map->mutex);
-enum ofperr mf_vl_mff_map_mod_from_tun_metadata(
- struct vl_mff_map *vl_mff_map, const struct ofputil_tlv_table_mod *)
- OVS_REQUIRES(vl_mff_map->mutex);
-const struct mf_field * mf_get_vl_mff(const struct mf_field *,
- const struct vl_mff_map *);
-bool mf_vl_mff_invalid(const struct mf_field *, const struct vl_mff_map *);
#endif /* meta-flow.h */