Skip to content

Commit

Permalink
ovn-controller: Cleanup memory in binding_evaluate_port_binding_changes
Browse files Browse the repository at this point in the history
The 'lport_to_iface' and 'egress_ifaces' hashtables were not cleaned up
when checking if port bindings require a recompute.

Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2019-June/048822.html
Reported-by: Daniel Alvarez Sanchez <dalvarez@redhat.com>
Fixes: 9d0b504 ("ovn-controller: runtime_data change handler for SB port-binding")
Acked-by: Han Zhou <hzhou8@ebay.com>
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
  • Loading branch information
dceara authored and blp committed Jun 11, 2019
1 parent 4f746d5 commit b76aa87
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions ovn/controller/binding.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,8 @@ binding_evaluate_port_binding_changes(
return true;
}

bool changed = false;

const struct sbrec_port_binding *binding_rec;
struct shash lport_to_iface = SHASH_INITIALIZER(&lport_to_iface);
struct sset egress_ifaces = SSET_INITIALIZER(&egress_ifaces);
Expand All @@ -718,10 +720,14 @@ binding_evaluate_port_binding_changes(
|| is_our_chassis(chassis_rec, binding_rec,
active_tunnels, &lport_to_iface, local_lports)
|| strcmp(binding_rec->type, "")) {
return true;
changed = true;
break;
}
}
return false;

shash_destroy(&lport_to_iface);
sset_destroy(&egress_ifaces);
return changed;
}

/* Returns true if the database is all cleaned up, false if more work is
Expand Down

0 comments on commit b76aa87

Please sign in to comment.