[ovs-dev] [PATCH ovn 0/4] Another attempt on lflow expr caching.

numans at ovn.org numans at ovn.org
Wed Sep 2 18:45:17 UTC 2020


From: Numan Siddique <numans at ovn.org>

This patch series adds caching of logical flow expr matches/expr tree
so that whenever a logical flow is processed, we can reuse the cached
expr tree of expr matches.

The expr matches/tree is not cached for a logical flow referencing
port group/address sets as it is tricky to handle any port group changes
if cached.

The patch 2 of this series was submitted separately earlier. Patch 2
uses the lflow caching approach to cache the conjunction ids so that 
these ids are persistent across recomputes.

Numan Siddique (4):
  I-P engine: Provide the option to store client data in engine ctx.
  ovn-controller: Persist the conjunction ids allocated for conjuctive
    matches.
  expr: Evaluate the condition expression in a separate step.
  ovn-controller: Cache logical flow expr matches.

 controller/chassis.c        |  22 +-
 controller/lflow.c          | 516 +++++++++++++++++++++++++++---------
 controller/lflow.h          |   8 +-
 controller/ovn-controller.c |  97 ++++++-
 include/ovn/expr.h          |  10 +-
 lib/expr.c                  |  57 +++-
 lib/inc-proc-eng.h          |   1 +
 tests/ovn.at                | 135 ++++++++++
 tests/test-ovn.c            |  12 +-
 utilities/ovn-trace.c       |   6 +-
 10 files changed, 705 insertions(+), 159 deletions(-)

-- 
2.26.2



More information about the dev mailing list