From: Lance Richardson <lrich...@redhat.com> Date: Tue, 13 Sep 2016 10:08:54 -0400
> The ovs kernel data path currently defers the execution of all > recirc actions until stack utilization is at a minimum. > This is too limiting for some packet forwarding scenarios due to > the small size of the deferred action FIFO (10 entries). For > example, broadcast traffic sent out more than 10 ports with > recirculation results in packet drops when the deferred action > FIFO becomes full, as reported here: > > http://openvswitch.org/pipermail/dev/2016-March/067672.html > > Since the current recursion depth is available (it is already tracked > by the exec_actions_level pcpu variable), we can use it to determine > whether to execute recirculation actions immediately (safe when > recursion depth is low) or defer execution until more stack space is > available. > > With this change, the deferred action fifo size becomes a non-issue > for currently failing scenarios because it is no longer used when > there are three or fewer recursions through ovs_execute_actions(). > > Suggested-by: Pravin Shelar <pshe...@ovn.org> > Signed-off-by: Lance Richardson <lrich...@redhat.com> Applied.