[ovs-dev] [PATCH ovn 0/2] uuid-based conjunction id generation.

Han Zhou hzhou at ovn.org
Wed Nov 3 06:46:42 UTC 2021


It is important to keep conjunction IDs consistent between runs to avoid
unnecessary OVS flows deletion and reinstallation. However, There are two
problems of the current lflow-cache based conjunction id peristent approach.

1) When n_conjs changes, the cached conj_id_ofs can overlap with other lflows.
2) When lflow-cache is not enabled, conjunction id is not consistent across
runs.

The first patch removes the conjunction id cache.
The second patch makes conjunction id consistent using uuid-based ID
generation, which works regardless of lflow-cache enablement.

Han Zhou (2):
  lflow-cache: Remove conjunction id cache.
  lflow: Consistent conjunction id generation.

 controller/automake.mk        |   2 +
 controller/lflow-cache.c      |  30 +--
 controller/lflow-cache.h      |  19 +-
 controller/lflow-conj-ids.c   | 217 +++++++++++++++++++
 controller/lflow-conj-ids.h   |  53 +++++
 controller/lflow.c            | 147 +++++--------
 controller/lflow.h            |   4 +-
 controller/ovn-controller.c   |  32 +--
 controller/test-lflow-cache.c |  44 ++--
 tests/ovn-lflow-cache.at      | 383 ++++++++++++----------------------
 tests/ovn.at                  | 271 +++++++++---------------
 11 files changed, 607 insertions(+), 595 deletions(-)
 create mode 100644 controller/lflow-conj-ids.c
 create mode 100644 controller/lflow-conj-ids.h

-- 
2.30.2



More information about the dev mailing list