On 20 Jul 2023, at 17:06, Mike Pattrick wrote:

> When the a revalidator thread is updating statistics for an XC_LEARN
> xcache entry in xlate_push_stats_entry it uses ofproto_flow_mod_learn.
> The revalidator will update stats for rules even if they are in a
> removed state or marked as invisible. However, ofproto_flow_mod_learn
> will detect if a flow has been removed and re-add it in that case. This
> can result in an old learn action replacing the new learn action that
> had replaced it in the first place.
>
> This change adds a new parameter to ofproto_flow_mod_learn allowing the
> caller to specify an action to take if temp_rule is removed. If it is
> removed and the caller is xlate_push_stats_entry, then a new rule will
> not be replaced.
>
> Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2213892
> Signed-off-by: Mike Pattrick <[email protected]>

Hi Mike,

Thanks for this, patch! I went over the code, and the fix looks fine to me. 
However, due to being on PTO in a couple of hours, I did not fully go over the 
actual LEARN action implementation to find potential side effects. Maybe 
someone else has time to look at the potential side effects of this change.

I did run all the dp tests, with and without ASAN, and no problems were found.

With the above side note,

Acked-by: Eelco Chaudron <[email protected]>

Cheers,

Eelco

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to