[ovs-dev] [PATCH] ovn.at: Fix occasional failure - IPv6 Neighbor Solicitation for unknown MAC

Han Zhou zhouhan at gmail.com
Wed May 23 20:56:22 UTC 2018


On Wed, May 23, 2018 at 1:08 PM, Ben Pfaff <blp at ovn.org> wrote:
>
> On Sat, May 19, 2018 at 02:23:22PM -0700, Han Zhou wrote:
> > This case fails occasionally because although it waits until port
> > binding is completed on HV, the patch port creation may not be
> > completed yet on HV for the localnet port, so if the packets are sent
> > out at this moment, the case will fail. This patch ensures patch
> > port is created and then do another sync before sending the packet
> > so that the ovn-controller is given a chance to handle the change
> > and install related flows to OVS.
> >
> > Signed-off-by: Han Zhou <hzhou8 at ebay.com>
>
> It sounds to me like this is actually a bug in ovn-controller: it should
> not report that it is up-to-date until the patch port creation has
> completed.  There is a mechanism to find out that this is complete, and
> ovn-controller should use it.  The outline of how it would be done is
> something like this:
>
>     * When ovn-controller commits a change to the OVS database, it
>       should also increment the next_cfg column in the Open_vSwitch
>       table.  ovs-vsctl does this, with:
>
>         ovsdb_idl_txn_increment(txn, &ovs->header_,
>                                 &ovsrec_open_vswitch_col_next_cfg, false);
>
>     * Before ovn-controller updates nb_cfg, it waits until cur_cfg in
>       the Open_vSwitch table reaches at least the next_cfg that it set.

Thanks for pointing out! I didn't notice that Open_vSwitch has same
mechanism as OVN DBs. I will submit a new patc! later.


More information about the dev mailing list