[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