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; > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev