On Wed, Nov 11, 2020 at 10:19:24AM +0100, Dumitru Ceara wrote:
> On 11/11/20 1:30 AM, Ben Pfaff wrote:
> > On Mon, Nov 09, 2020 at 02:44:53PM +0100, Dumitru Ceara wrote:
> >> There are a few others that are ddlog-related:
> >>
> >> 145: ovn -- /32 router IP address -- ovn-northd-ddlog FAILED
> >> (ovs-macros.at:231)
> >>
> >> This is because the following logical flows are not added to the SB by
> >> ovn-northd-ddlog:
> >> table=14(ls_in_arp_rsp      ), priority=100  , match=(arp.tpa ==
> >> 10.0.0.2 && arp.op == 1 && inport == "alice1"), action=(next;)
> >> table=14(ls_in_arp_rsp      ), priority=50   , match=(arp.tpa ==
> >> 10.0.0.2 && arp.op == 1), action=(eth.dst = eth.src; eth.src =
> >> f0:00:00:01:02:04; arp.op = 2; /* ARP reply */ arp.tha = arp.sha;
> >> arp.sha = f0:00:00:01:02:04; arp.tpa = arp.spa; arp.spa = 10.0.0.2;
> >> outport = inport; flags.loopback = 1; output;)
> > 
> > Hmm, I don't see this failure, and the diff I see between the flow
> > tables is empty if I filter uuids and drop the inconsistent use of /32
> > suffixes, e.g.:
> > 
> >     diff -u <(uuidfilt tests/testsuite.dir/144/sbflows | sed 's,/32,,g') 
> > <(uuidfilt tests/testsuite.dir/145/sbflows | sed 's,/32,,g')
> > 
> > I wonder why we see something different, is this racy for you?
> > 
> 
> It was failing at every run on my machine (I guess I was unlucky).
> However, it seems that there is a race condition.  The diff below fixes
> it.  I'll comment though on v4.1 4/7 where this should be added.
> 
> The explanation is that at "ovn-nbctl --wait=hv sync" ovn-controller
> reports immediately that it is "up to date" if the OVS interface record
> updates have not been received yet from ovsdb, i.e., it has no local
> datapaths so no OVS flows to install (yet).

I'd never noticed this effect but it explains a lot.  Thank you for
pointing out the underlying problem.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to