2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 14:25:26 +00:00

connmgr: Free controller info in the same module where it's allocated.

Make ofproto_free_ofproto_controller_info() just a passthrough to
connmgr_free_controller_info() so the allocation and freeing of memory in the
controller info structure is done in the same place.
This commit is contained in:
Andrew Evans
2011-06-30 18:08:59 -07:00
parent 5d27908667
commit 72ba2ed371
3 changed files with 17 additions and 10 deletions

View File

@@ -416,6 +416,21 @@ connmgr_get_controller_info(struct connmgr *mgr, struct shash *info)
}
}
void
connmgr_free_controller_info(struct shash *info)
{
struct shash_node *node;
SHASH_FOR_EACH (node, info) {
struct ofproto_controller_info *cinfo = node->data;
while (cinfo->pairs.n) {
free((char *) cinfo->pairs.values[--cinfo->pairs.n]);
}
free(cinfo);
}
shash_destroy(info);
}
/* Changes 'mgr''s set of controllers to the 'n_controllers' controllers in
* 'controllers'. */
void

View File

@@ -66,6 +66,7 @@ void connmgr_retry(struct connmgr *);
/* OpenFlow configuration. */
bool connmgr_has_controllers(const struct connmgr *);
void connmgr_get_controller_info(struct connmgr *, struct shash *);
void connmgr_free_controller_info(struct shash *);
void connmgr_set_controllers(struct connmgr *,
const struct ofproto_controller[], size_t n);
void connmgr_reconnect(const struct connmgr *);

View File

@@ -845,16 +845,7 @@ ofproto_get_ofproto_controller_info(const struct ofproto *ofproto,
void
ofproto_free_ofproto_controller_info(struct shash *info)
{
struct shash_node *node;
SHASH_FOR_EACH (node, info) {
struct ofproto_controller_info *cinfo = node->data;
while (cinfo->pairs.n) {
free((char *) cinfo->pairs.values[--cinfo->pairs.n]);
}
free(cinfo);
}
shash_destroy(info);
connmgr_free_controller_info(info);
}
/* Makes a deep copy of 'old' into 'port'. */