On 2016-03-16 16:35, Andy Zhou wrote:
On Wed, Mar 16, 2016 at 4:00 PM, Ramu Ramamurthy <
srama...@linux.vnet.ibm.com> wrote:

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.


Ahh, I see. Would you please try the following incremental change? Thanks.

 diff --git a/datapath/actions.c b/datapath/actions.c
index 3b85eaf..5e81a38 100644
--- a/datapath/actions.c
+++ b/datapath/actions.c
@@ -116,7 +116,7 @@ static struct deferred_action *action_fifo_get(struct
action

static struct deferred_action *action_fifo_put(struct action_fifo *fifo)
 {
-       if (fifo->head >= fifo->size - 1) {
+       if (fifo->head >= fifo->size / sizeof(*fifo->fifo) - 1) {
                /* out of fifo buffer space, try to allocate a new fifo
                 * buffer. */
                struct deferred_action *new_fifo;





thanks Andy, That worked !, I was able to broadcast (udp-dhcp-discovers) to 100 ports and
saw no "drop recirc action" errors.

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to