[ovs-dev] [PATCH ovn 0/2] Make Port.UP and ovn-installed notifications more reliable.

Dumitru Ceara dceara at redhat.com
Fri Apr 23 14:15:45 UTC 2021


Move the code that tracks if OVS ports have been completely bound to
an OVN port (i.e., all corresponding OVS flows have been installed)
to its own module and implement it as a state machine to handle all
cases, including failure to commit to SB/OVS databases.

The first patch of the series is a straightforward bug fix of the
old implementation.  While investigated the bug I realized that the
'ovn-installed' external-id might not be set in the OVS Interface
external-ids when transactions fail.  This is addressed by the
second patch of the series.

I guess the first patch could be skipped entirely as the second
one reimplements that part of the code but I kept it for better
understanding of the problem.  If needed I can send a new revision
without the first patch included.

Dumitru Ceara (2):
      binding: Don't reset expected seqno for interfaces already being installed.
      if-status: Add OVS interface status management module.


 controller/automake.mk      |    2 
 controller/binding.c        |  301 +++++++++++----------------------
 controller/binding.h        |   14 +-
 controller/if-status.c      |  395 +++++++++++++++++++++++++++++++++++++++++++
 controller/if-status.h      |   37 ++++
 controller/ovn-controller.c |   24 ++-
 6 files changed, 562 insertions(+), 211 deletions(-)
 create mode 100644 controller/if-status.c
 create mode 100644 controller/if-status.h



More information about the dev mailing list