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 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
