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 <[email protected]> CC: Numan Siddique <[email protected]> CC: Mark Michelson <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]> 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(-) --- v5: - Turn the patch into a series. - Address Han's comments. - Ensure predictable flow ordering in all cases (during incremental procesing or full recomputation). v4: - Address Han's comments: - make sure only flows with action conjunction are combined. v3: - Add Mark's ack. - Add last missing pcap check in the test. v2: - 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. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
