summaryrefslogtreecommitdiff
path: root/ovn
diff options
context:
space:
mode:
authorRussell Bryant <russell@ovn.org>2016-02-03 11:46:33 -0500
committerRussell Bryant <russell@ovn.org>2016-02-03 11:49:40 -0500
commit88779d665a5aa2141c7efdb3d5902435f051e949 (patch)
treec96bf4a906a6f8f72d30aa2b6678631e848c5a4a /ovn
parent8834e5c27ff9739ff4bf0199894d839581d30da8 (diff)
downloadopenvswitch-88779d665a5aa2141c7efdb3d5902435f051e949.tar.gz
ovn: Update comment about local datapath calculation.
ovn-controller has a simple optimization for excluding some logical flow processing that we know is unnecessary. This update to a comment in the code reflects a discussion we had on the mailing list about a better algorithm that would let us exclude even more. Signed-off-by: Russell Bryant <russell@ovn.org>
Diffstat (limited to 'ovn')
-rw-r--r--ovn/controller/lflow.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ovn/controller/lflow.c b/ovn/controller/lflow.c
index f1d8ada71..e586365ec 100644
--- a/ovn/controller/lflow.c
+++ b/ovn/controller/lflow.c
@@ -308,6 +308,15 @@ lflow_run(struct controller_ctx *ctx, struct hmap *flow_table,
* after a packet leaves a logical router. Further optimization
* is possible, but not based on what we know with local_datapaths
* right now.
+ *
+ * A better approach would be a kind of "flood fill" algorithm:
+ *
+ * 1. Initialize set S to the logical datapaths that have a port
+ * located on the hypervisor.
+ *
+ * 2. For each patch port P in a logical datapath in S, add the
+ * logical datapath of the remote end of P to S. Iterate
+ * until S reaches a fixed point.
*/
struct hmap_node *ld;