Message ID | 20211111223825.1757021-1-hzhou@ovn.org |
---|---|
Headers | show |
Series | uuid-based conjunction id generation. | expand |
On Thu, Nov 11, 2021 at 5:38 PM Han Zhou <hzhou@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. > > This series replace the lflow-cache based approach by a new way of conjunction > id generation which keeps the ids consistent regardless of the lflow-cache > enablement. > > v1 -> v2: adding the missing patch 1. > v2 -> v3: adding more tests, and minor changes for error logging and coverage > counters. > Hi Han, I've a few small comments for patch 4. Please see my reply in patch 4. With those addressed for the entire series: Acked-by: Numan Siddique <numans@ovn.org> Thanks Numan > Han Zhou (4): > lflow-cache.h: Fix comment about lflow-cache. > lflow-cache: Remove conjunction id cache. > test-utils: Add test_read_uint_hex_value helper. > lflow: Consistent conjunction id generation. > > controller/automake.mk | 2 + > controller/lflow-cache.c | 30 +-- > controller/lflow-cache.h | 20 +- > controller/lflow-conj-ids.c | 259 +++++++++++++++++++++ > controller/lflow-conj-ids.h | 41 ++++ > controller/lflow.c | 154 ++++++------- > controller/lflow.h | 4 +- > controller/ovn-controller.c | 32 +-- > controller/test-lflow-cache.c | 44 ++-- > controller/test-lflow-conj-ids.c | 128 +++++++++++ > tests/automake.mk | 3 + > tests/ovn-lflow-cache.at | 383 +++++++++++-------------------- > tests/ovn-lflow-conj-ids.at | 112 +++++++++ > tests/ovn.at | 271 ++++++++-------------- > tests/test-utils.c | 22 +- > tests/test-utils.h | 2 + > tests/testsuite.at | 1 + > 17 files changed, 909 insertions(+), 599 deletions(-) > create mode 100644 controller/lflow-conj-ids.c > create mode 100644 controller/lflow-conj-ids.h > create mode 100644 controller/test-lflow-conj-ids.c > create mode 100644 tests/ovn-lflow-conj-ids.at > > -- > 2.30.2 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On Fri, Nov 19, 2021 at 10:55 AM Numan Siddique <numans@ovn.org> wrote: > > On Thu, Nov 11, 2021 at 5:38 PM Han Zhou <hzhou@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. > > > > This series replace the lflow-cache based approach by a new way of conjunction > > id generation which keeps the ids consistent regardless of the lflow-cache > > enablement. > > > > v1 -> v2: adding the missing patch 1. > > v2 -> v3: adding more tests, and minor changes for error logging and coverage > > counters. > > > > Hi Han, > > I've a few small comments for patch 4. Please see my reply in patch 4. > > With those addressed for the entire series: > > Acked-by: Numan Siddique <numans@ovn.org> Thanks Numan! I addressed your comments and applied to the main branch. Han > > Thanks > Numan > > > Han Zhou (4): > > lflow-cache.h: Fix comment about lflow-cache. > > lflow-cache: Remove conjunction id cache. > > test-utils: Add test_read_uint_hex_value helper. > > lflow: Consistent conjunction id generation. > > > > controller/automake.mk | 2 + > > controller/lflow-cache.c | 30 +-- > > controller/lflow-cache.h | 20 +- > > controller/lflow-conj-ids.c | 259 +++++++++++++++++++++ > > controller/lflow-conj-ids.h | 41 ++++ > > controller/lflow.c | 154 ++++++------- > > controller/lflow.h | 4 +- > > controller/ovn-controller.c | 32 +-- > > controller/test-lflow-cache.c | 44 ++-- > > controller/test-lflow-conj-ids.c | 128 +++++++++++ > > tests/automake.mk | 3 + > > tests/ovn-lflow-cache.at | 383 +++++++++++-------------------- > > tests/ovn-lflow-conj-ids.at | 112 +++++++++ > > tests/ovn.at | 271 ++++++++-------------- > > tests/test-utils.c | 22 +- > > tests/test-utils.h | 2 + > > tests/testsuite.at | 1 + > > 17 files changed, 909 insertions(+), 599 deletions(-) > > create mode 100644 controller/lflow-conj-ids.c > > create mode 100644 controller/lflow-conj-ids.h > > create mode 100644 controller/test-lflow-conj-ids.c > > create mode 100644 tests/ovn-lflow-conj-ids.at > > > > -- > > 2.30.2 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > >