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. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev