On Fri, Aug 19, 2022 at 10:21 AM Han Zhou <hz...@ovn.org> wrote:
>
> xxx_is_deleted() is an interface that is expected to be used for OVSDB
> tracked changes only, but handle_updated_port() function handles both
> tracked and untracked rows. It may happen to behave as expected in this
> case but it is risky if the OVSDB IDL implementation changes.
>
> Fixes: 3103487e087b ("Split out code to handle port binding db updates")
> Signed-off-by: Han Zhou <hz...@ovn.org>

Acked-by: Numan Siddique <num...@ovn.org>

Numan

> ---
>  controller/binding.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/controller/binding.c b/controller/binding.c
> index 9f5393a92..efb747d52 100644
> --- a/controller/binding.c
> +++ b/controller/binding.c
> @@ -2580,11 +2580,6 @@ handle_updated_port(struct binding_ctx_in *b_ctx_in,
>                      const struct sbrec_port_binding *pb,
>                      struct hmap *qos_map_ptr)
>  {
> -    /* Handle create and update changes only. */
> -    if (sbrec_port_binding_is_deleted(pb)) {
> -        return true;
> -    }
> -
>      update_active_pb_ras_pd(pb, b_ctx_out->local_active_ports_ipv6_pd,
>                              "ipv6_prefix_delegation");
>
> @@ -2825,6 +2820,11 @@ delete_done:
>
>      SBREC_PORT_BINDING_TABLE_FOR_EACH_TRACKED (pb,
>                                                 b_ctx_in->port_binding_table) 
> {
> +        /* Loop to handle create and update changes only. */
> +        if (sbrec_port_binding_is_deleted(pb)) {
> +            continue;
> +        }
> +
>          handled = handle_updated_port(b_ctx_in, b_ctx_out, pb, qos_map_ptr);
>          if (!handled) {
>              break;
> --
> 2.30.2
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to