On Fri, Oct 21, 2022 at 10:37 AM Ales Musil <[email protected]> wrote:

> Run ovs_list_init on list_node from desired flow.
> Not doing that can potentially cause crash on
> ovs_assert(ovs_list_is_empty(&f->list_node))
> this might happen when we have conditional monitoring
> enabled and have some flow like below being processed
> by ofctrl in a single run.
>
> flowA is removed, flowA is added, flowA is removed.
>
> This is most likely related to BZ[0].
>
> [0] https://bugzilla.redhat.com/2125723
> Suggested-By: Dumitru Ceara <[email protected]>
> Signed-off-by: Ales Musil <[email protected]>
> ---
> I'm not adding the BZ as Reported-At because this might
> not fix the issue they are facing. It seems to be very hard
> to reproduce, however it still is a good idea to apply this
> fix as in the context it's the right to do and shouldn't cause
> any harm.
> ---
>  controller/ofctrl.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/controller/ofctrl.c b/controller/ofctrl.c
> index c77991258..fb0e0869c 100644
> --- a/controller/ofctrl.c
> +++ b/controller/ofctrl.c
> @@ -1535,6 +1535,7 @@ remove_flows_from_sb_to_flow(struct
> ovn_desired_flow_table *flow_table,
>              free(sfr);
>          }
>          ovs_list_remove(&f->list_node);
> +        ovs_list_init(&f->list_node);
>          if (log_msg) {
>              ovn_flow_log(&f->flow, log_msg);
>          }
> --
> 2.37.3
>
>
Hi Han,

please take a look.

Thanks,
Ales

-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA <https://www.redhat.com>

[email protected]    IM: amusil
<https://red.ht/sig>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to