[ovs-dev] [PATCH] ovn-controller: Remove local_datapaths_by_uuid.
Russell Bryant
russell at ovn.org
Mon Jul 18 20:01:41 UTC 2016
binding.c included a static local_datapaths_by_uuid but it was not used
for anything. In fact, the hash node used when inserting into this hmap
is overwritten in another code path for a different hmap.
Fixes: 263064aeaa31 ("Convert binding_run to incremental processing.")
Signed-off-by: Russell Bryant <russell at ovn.org>
---
ovn/controller/binding.c | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
index d1efca4..adf4127 100644
--- a/ovn/controller/binding.c
+++ b/ovn/controller/binding.c
@@ -107,11 +107,6 @@ get_local_iface_ids(const struct ovsrec_bridge *br_int,
return changed;
}
-/* Contains "struct local_datpath" nodes whose hash values are the
- * row uuids of datapaths with at least one local port binding. */
-static struct hmap local_datapaths_by_uuid =
- HMAP_INITIALIZER(&local_datapaths_by_uuid);
-
static struct local_datapath *
local_datapath_lookup_by_uuid(struct hmap *hmap_p, const struct uuid *uuid)
{
@@ -132,7 +127,6 @@ remove_local_datapath(struct hmap *local_datapaths, struct local_datapath *ld)
ld->logical_port = NULL;
}
hmap_remove(local_datapaths, &ld->hmap_node);
- hmap_remove(&local_datapaths_by_uuid, &ld->uuid_hmap_node);
free(ld);
}
@@ -157,8 +151,7 @@ remove_local_datapath_by_binding(struct hmap *local_datapaths,
static void
add_local_datapath(struct hmap *local_datapaths,
- const struct sbrec_port_binding *binding_rec,
- const struct uuid *uuid)
+ const struct sbrec_port_binding *binding_rec)
{
if (get_local_datapath(local_datapaths,
binding_rec->datapath->tunnel_key)) {
@@ -170,8 +163,6 @@ add_local_datapath(struct hmap *local_datapaths,
memcpy(&ld->uuid, &binding_rec->header_.uuid, sizeof ld->uuid);
hmap_insert(local_datapaths, &ld->hmap_node,
binding_rec->datapath->tunnel_key);
- hmap_insert(&local_datapaths_by_uuid, &ld->uuid_hmap_node,
- uuid_hash(uuid));
}
static void
@@ -198,8 +189,7 @@ consider_local_datapath(struct controller_ctx *ctx,
if (iface_rec
|| (binding_rec->parent_port && binding_rec->parent_port[0] &&
sset_contains(&local_ids, binding_rec->parent_port))) {
- add_local_datapath(local_datapaths, binding_rec,
- &binding_rec->header_.uuid);
+ add_local_datapath(local_datapaths, binding_rec);
if (iface_rec && ctx->ovs_idl_txn) {
update_qos(iface_rec, binding_rec);
}
@@ -238,8 +228,7 @@ consider_local_datapath(struct controller_ctx *ctx,
VLOG_INFO("Claiming l2gateway port %s for this chassis.",
binding_rec->logical_port);
sbrec_port_binding_set_chassis(binding_rec, chassis_rec);
- add_local_datapath(local_datapaths, binding_rec,
- &binding_rec->header_.uuid);
+ add_local_datapath(local_datapaths, binding_rec);
}
} else if (chassis_rec && binding_rec->chassis == chassis_rec
&& strcmp(binding_rec->type, "gateway")) {
--
2.7.4
More information about the dev
mailing list