On 5/29/26 4:34 PM, Ilya Maximets wrote: > On 5/29/26 4:17 PM, Dumitru Ceara via dev wrote: >> When the test toggles add_route from true to false, the >> OpenFlow routing rules are removed after --wait=hv, but >> stale megaflow entries cached in the OVS datapath from >> the previous successful pings may survive until the >> revalidator timer fires. The first ping packet can match >> such a stale flow and get forwarded, causing an >> intermittent "1 received" instead of "0 received". >> >> Purge datapath flows immediately after the configuration >> change to avoid the race. >> >> Other system tests that toggle connectivity on and off >> may suffer from the same class of issue, but this one >> happens to fail more often in CI, e.g.: >> https://github.com/dceara/ovn/actions/runs/26631517208/job/78481704883#step:11:6606 >> >> Assisted-by: Claude Opus 4.6, Claude Code >> Signed-off-by: Dumitru Ceara <[email protected]> >> --- >> tests/system-ovn.at | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/tests/system-ovn.at b/tests/system-ovn.at >> index 649e85ec1d..f5204d5e12 100644 >> --- a/tests/system-ovn.at >> +++ b/tests/system-ovn.at >> @@ -14959,6 +14959,8 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2 >> 172.18.1.12 | FORMAT_PING], \ >> ]) >> >> check ovn-nbctl --wait=hv set load_balancer lb0 options:add_route=false >> +# Purge datapath flows; revalidation of stale megaflows may lag behind. >> +check ovs-appctl revalidator/purge > > Do we actually need purge? Is wait not enough here?
Wait should be enough, your right. I'll run this in a loop a bunch of times and will post a v2, probably next week. > Purge is useful when you need all the latest stats to be accounted, but > it should not generally be necessary for a normal datapath flow update. > > Best regards, Ilya Maximets. > Thanks for the review! Regards, Dumitru _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
