On Tue, Sep 20, 2016 at 5:55 AM, Lance Richardson <lrich...@redhat.com> wrote:
> Port upstream fix to datapath module. The only notable difference
> between this patch and the upstream version is that the value of
> ovs_recursion_limit (5 for upstream kernel, 4 for out-of-tree
> module) is maintained in this patch.
> Upstream commit:
> commit f43e6dfb056b58628e43179d8f6b59eae417754d
> Author: Lance Richardson <lrich...@redhat.com>
> Date: Mon Sep 12 17:07:23 2016 -0400
> openvswitch: avoid deferred execution of recirc actions
> 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:
> 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
> 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>
I pushed patch to master and branch-2.6.
dev mailing list