On 07/03/2017 10:39, "Ben Pfaff" <b...@ovn.org> wrote:

>On Fri, Feb 24, 2017 at 06:58:00PM -0800, Daniele Di Proietto wrote:
>> With this commit we honor the newly introduced limit to the learn
>> action.
>> 
>> When learning a new rule (with the limit set), the rule will hold a
>> reference to a counter.  The ukey that learned the rule will also keep
>> the same reference,  so the counter will be decremented when both the
>> ukey and the original rule have been deleted.
>> 
>> This means that there's a small window between the learn flow expiry and
>> the next revalidation in which new flows are not learned because OVS
>> thinks that we would exceed the limit.  I think this is better that the
>> alternative, because if we allow learning in that interval we're not
>> strictly enforcing the limit, because we still have the datapath flows
>> that are passing traffic for expired rules.
>> 
>> There's a small corner case when we have to slowpath the ukey.  This
>> happens when:
>> * The learned rule has expired (or has been deleted).
>> * The ukey that learned the rule is still in the datapath.
>> * No packets hit the datapath flow recently.
>> In this case we cannot relearn the rule (because there are no new
>> packets), and the actions might depend on the learn execution, so the
>> only option is to slowpath the ukey.  I don't think this has big
>> performance implications since it's done only for ukey with no traffic.
>> 
>> Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com>
>
>You mentioned face-to-face that a change I suggested earlier in the
>series would simplify this one.  If it's OK, then I'll wait to review
>this patch and patch 7 until you've managed to do the simplification.
>
>Thanks,
>
>Ben.

Thanks a lot for looking at this Ben,

I've sent a v2 here:

https://mail.openvswitch.org/pipermail/ovs-dev/2017-March/329524.html
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to