On Thu, Oct 14, 2021 at 11:17 AM Lorenzo Bianconi
<[email protected]> wrote:
>
> Rely on shash_add_nocopy instead of shash_add in ovs_iface_create in
> order to avoid allocating iface_id twice.
>
> Acked-by: Dumitru Ceara <[email protected]>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
Thanks. Applied to the main branch.
Numan
> ---
> controller/if-status.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/controller/if-status.c b/controller/if-status.c
> index b5a4025fc..00f826c50 100644
> --- a/controller/if-status.c
> +++ b/controller/if-status.c
> @@ -344,7 +344,7 @@ ovs_iface_create(struct if_status_mgr *mgr, const char
> *iface_id,
>
> VLOG_DBG("Interface %s create.", iface_id);
> iface->id = xstrdup(iface_id);
> - shash_add(&mgr->ifaces, iface_id, iface);
> + shash_add_nocopy(&mgr->ifaces, iface->id, iface);
> ovs_iface_set_state(mgr, iface, state);
> return iface;
> }
> @@ -355,7 +355,10 @@ ovs_iface_destroy(struct if_status_mgr *mgr, struct
> ovs_iface *iface)
> VLOG_DBG("Interface %s destroy: state %s", iface->id,
> if_state_names[iface->state]);
> hmapx_find_and_delete(&mgr->ifaces_per_state[iface->state], iface);
> - shash_find_and_delete(&mgr->ifaces, iface->id);
> + struct shash_node *node = shash_find(&mgr->ifaces, iface->id);
> + if (node) {
> + shash_steal(&mgr->ifaces, node);
> + }
> free(iface->id);
> free(iface);
> }
> --
> 2.31.1
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev