diff options
author | Russell Bryant <russell@ovn.org> | 2016-02-03 11:46:33 -0500 |
---|---|---|
committer | Russell Bryant <russell@ovn.org> | 2016-02-03 11:49:40 -0500 |
commit | 88779d665a5aa2141c7efdb3d5902435f051e949 (patch) | |
tree | c96bf4a906a6f8f72d30aa2b6678631e848c5a4a /ovn | |
parent | 8834e5c27ff9739ff4bf0199894d839581d30da8 (diff) | |
download | openvswitch-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.c | 9 |
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; |