[ovs-git] [ovn-org/ovn] 5c3371: if-status: Add OVS interface status management mod...
Dumitru Ceara
noreply at github.com
Sun May 16 22:25:54 UTC 2021
Branch: refs/heads/master
Home: https://github.com/ovn-org/ovn
Commit: 5c3371922994c2d8a3610c9353902156db27d108
https://github.com/ovn-org/ovn/commit/5c3371922994c2d8a3610c9353902156db27d108
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-05-16 (Sun, 16 May 2021)
Changed paths:
M controller/automake.mk
M controller/binding.c
M controller/binding.h
A controller/if-status.c
A controller/if-status.h
M controller/ovn-controller.c
M tests/ovn.at
Log Message:
-----------
if-status: Add OVS interface status management module.
The initial implementation of the notification mechanism that indicates
if OVS flows corresponding to a logical switch port have been installed
is not resilient enough. It didn't cover the case when transactions to
the local OVS DB or to the Southbound fail.
In order to deal with that, factor out the code that tracks the state
of the interfaces to a new module, 'if-status', and implement it with
a state machine that will retry setting Port_Binding.UP and
OVS.Interface.external_ids:ovn-installed in the Southbound and local
OVS databases.
Having a separate module makes sense because tracking the interface
state doesn't really depend on the rest of the binding module, except
for interacting with the Port_Binding and Interface IDL records. For
this we add some additional APIs to binding.c.
Reported-at: https://bugzilla.redhat.com/1952846
Fixes: 4d3cb42b076b ("binding: Set Logical_Switch_Port.up when all OVS flows are installed.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Acked-by: Mark Michelson <mmichels at redhat.com>
More information about the git
mailing list