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

Reply via email to