[ovs-dev] openvswitch 2.15 [re]start losing bridge IP
blp at ovn.org
Wed Jun 2 18:12:10 UTC 2021
On Wed, Jun 02, 2021 at 12:01:24AM +0000, venugopal iyer via dev wrote:
> Hi, Ben et. al.:
> When we moved from 2.14.0 to 2.15.0 we noticed a change in behavior. A 2.14.0 openvswitch restart (even explicit stop followed by start) didn't lose the existing bridge IP (local bridge port). However, with ovs 2.15.0 we see that the bridge IP disappears after the [re]start. (I thinkwe tried ovs master too and saw the same)
> With debug we see
> "2021-06-01T19:19:40.231Z|00283|dpif|DBG|system at ovs-system: port_del(2)
> 2021-06-01T19:19:40.232Z|00288|dpif|DBG|system at ovs-system: port_del(1)
> which we don't see in the 2.14.0 case (unless i missed it). Looking at the commits in our 2.15.0 branch, we see the issue starts with
> 1c337c43ac1c876d1a5c204884fbc949882c12c2 ovsdb-idl: Break into two layers. This change breaks the IDL into two layers: the IDL proper, whose
> interface to its client is unchanged, and a low-level library called...
> at least in our testing. We'll continue to check this at our end, but wanted to quickly check the reasoning behind this, i.e. if this isintentional. Most importantly, if anyone else has seen this (we use 2.15.0 with some cherry picks from master in our tests) to
> check if it is something at our end. This is an issue for us as the host IP is on the bridge and an update/restart causes the
> host to be inaccessible.
That's a surprise to me. That change should not have had an externally
If I had to guess what's happening, it's that in v2.15 the IDL is not
initially getting the full contents of the database, but instead
reporting that it has the full contents of the database when in fact it
doesn't have anything. Thus, it deletes everything from the datapath,
and later recreates it. That should not be happening, and if it's
happening then it's a bug.
Can you verify that that's what happening, or otherwise explore this a
little further? If you can get some details for me symptom-wise, I'll
look into what happened code-wise.
More information about the dev