[ovs-dev] [PATCH v5 ovn 0/4] ofctrl: Add a predictable resolution for conflicting flow actions.

Dumitru Ceara dceara at redhat.com
Sun Oct 11 12:05:07 UTC 2020

Patch 1 makes sure we never try to merge flow ations unless both
flows only have "conjunction" action.

Patches 2 and 3 of the series refactor the current ofctrl.c installed
flow processing code such that:
- order of desired flows is maintained within an installed flow.
- the active desired flow is predictably selected (always the first
  in the list).

This is required for patch 4 where we implement a partial ordering of
desired flows within installed flows making sure that when selecting
the active flow (to be installed in OVS) we always choose the less
restrictive one.

CC: Han Zhou <hzhou at ovn.org>
CC: Numan Siddique <numans at ovn.org>
CC: Mark Michelson <mmichels at redhat.com> 
Signed-off-by: Dumitru Ceara <dceara at redhat.com>

Dumitru Ceara (4):
      ofctrl.c: Only merge actions for conjunctive flows.
      ofctrl.c: Do not change flow ordering when merging opposite changes.
      ofctrl.c: Simplify active desired flow selection.
      ofctrl.c: Add a predictable resolution for conflicting flow actions.

 controller/ofctrl.c |  305 +++++++++++++++++++++++++++++++++++++--------------
 tests/ovn.at        |  216 ++++++++++++++++++++++++++++++++++++
 2 files changed, 436 insertions(+), 85 deletions(-)

- Turn the patch into a series.
- Address Han's comments.
- Ensure predictable flow ordering in all cases (during incremental procesing
  or full recomputation).
- Address Han's comments:
  - make sure only flows with action conjunction are combined.
- Add Mark's ack.
- Add last missing pcap check in the test.
- Address Han's comments:
  - Do not delete desired flow that cannot be merged, it might be
    installed later.
  - Fix typos in the commit log.
- Update the test to check the OVS flows.

More information about the dev mailing list