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

Han Zhou hzhou at ovn.org
Wed Nov 3 17:18:28 UTC 2021


On Tue, Nov 2, 2021 at 11:46 PM Han Zhou <hzhou at ovn.org> wrote:
>
> 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
>

Sorry that I forgot to include a patch that these two patches depend on,
and because of this the patches cannot be applied. So please ignore this
version and check the v2 instead:

https://patchwork.ozlabs.org/project/ovn/list/?series=270236

Thanks,
Han


More information about the dev mailing list