On 2016-03-15 11:16, Andy Zhou wrote:
On Mon, Mar 14, 2016 at 12:11 PM, Ramu Ramamurthy <
srama...@linux.vnet.ibm.com> wrote:
When a logical switch (localnet) has lots of ports on a hypervisor,
I find that broadcast packets from one of the ports is only forwarded
to
a subset of the other ports, and the kernel module shows the message -
"kernel: openvswitch: ovs-system: deferred action limit reached, drop
recirc action"
There appears to be a discussion of a related problem and a possible
patch
here:
http://openvswitch.org/pipermail//discuss/2015-October/019168.html
http://openvswitch.org/pipermail//discuss/2015-October/019198.html
Thanks for the bug report.
Those patches are now dropped since I have not heard back from the bug
reporter.
I have just posted a potential fix as RFC at:
http://openvswitch.org/pipermail/dev/2016-March/067794.html
Would you please test it against your set up? Thanks.
I tried the patch in the link above on devstack-with-ovn. The
openvswitch kernel module
is rebuilt with the above patch, I find that there is a system hang,
when I send the broadcast packet. The same test earlier showed "drop
recirc action" errors.
The following change works however,
iff --git a/datapath/actions.c b/datapath/actions.c
index 20413c9..39dedcc 100644
--- a/datapath/actions.c
+++ b/datapath/actions.c
@@ -72,7 +72,7 @@ struct ovs_frag_data {
static DEFINE_PER_CPU(struct ovs_frag_data, ovs_frag_data_storage);
#endif
-#define DEFERRED_ACTION_FIFO_SIZE 10
+#define DEFERRED_ACTION_FIFO_SIZE 70
But, it appears that we cannot arbitrarily increase
DEFERRED_ACTION_FIFO_SIZE because
when I set it to 100, I am not able to load the openvswitch module - the
following errors are seen.
[ 1094.163171] WARNING: at mm/percpu.c:896 pcpu_alloc+0x64a/0x670()
[ 1094.163174] illegal size (46408) or align (8) for percpu allocation
It appears that there is a hard limit on DEFERRED_ACTION_FIFO_SIZE
determined by:
PCPU_MIN_UNIT_SIZE.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev