On 9/10/25 4:47 AM, Ihar Hrachyshka wrote:
> The `tunnel_push_pop - action` test case may fail due to a race
> condition between the revalidator modifying flows and dummy `receive`
> action.
> 
> To fix the race for this test case and other test cases in the same
> file, this patch will call revalidator/wait every time a flow is
> modified.
> 
> Signed-off-by: Ihar Hrachyshka <[email protected]>
> ---
>  tests/tunnel-push-pop.at | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at
> index 64c41460b..b6fac1426 100644
> --- a/tests/tunnel-push-pop.at
> +++ b/tests/tunnel-push-pop.at
> @@ -42,6 +42,7 @@ Cached: 2001:ca00::/24 dev br0 SRC 2001:cafe::88 local
>  ])
>  
>  AT_CHECK([ovs-ofctl add-flow br0 action=normal])
> +AT_CHECK([ovs-appctl revalidator/wait])
>  
>  dnl Check ARP request
>  AT_CHECK([ovs-vsctl -- set Interface p0 options:pcap=p0.pcap])
> @@ -81,6 +82,7 @@ erspan_sys (3) ref_cnt=4
>  dnl Check ERSPAN v1 tunnel push
>  AT_CHECK([ovs-vsctl -- set Interface br0 options:pcap=br0.pcap])
>  AT_CHECK([ovs-ofctl add-flow int-br action=2])
> +AT_CHECK([ovs-appctl revalidator/wait])

I agree that we need these before running packets throught the datapath
with netdev-dummy/receive, but we should not need them for the trace.
The trace is happening on the ofproto level and revalidators do not
affect it in any way, at least they shouldn't.

I see that this test does wait for traces in a few spots, but these should
not be needed.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to