diff options
author | Yi-Hung Wei <yihung.wei@gmail.com> | 2017-02-17 17:47:44 -0800 |
---|---|---|
committer | Joe Stringer <joe@ovn.org> | 2017-02-21 11:36:32 -0800 |
commit | aafee638217b24eb165e052866a9be4e3f695ce9 (patch) | |
tree | e11ffc2e294cbfbc0ef205083fcaccbe74a38bd1 /include/openvswitch/meta-flow.h | |
parent | 0f8469b4c0dd0e4b2d529a6c5b1bc585e768959d (diff) | |
download | openvswitch-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.h | 23 |
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 */ |