When the search mode is LFLOW_TABLE_SEARCH_SBUUID, we start the syncing
process by iterating over all in-memory logical flows and syncing those
with the southbound database. We then iterate over the southbound
database entries. If the southbound entry does not match one of the
in-memory logical flows we just synced, then we delete the southbound
Logical flow. If the southbound entry matches on one of the
in-memory logical flows that we just synced, then we perform a check to
ensure that the southbound logical flow refers to valid datapaths. If
the datapath is invalid, then we delete the southbound logical flow.
This datapath check is not necessary. We started the process by syncing
using the in-memory logical flows. By definition, these logical flows can
only be created for synced datapaths, which are valid. Since the in-memory
logical flow has already been synced with the southbound logical flow,
it means that the southbound logical flow has valid datapaths.
This patch implements this change by only performing datapath validity
checks when the search mode is LFLOW_TABLE_SEARCH_FIELDS. The datapath
validity check is still necessary in this case, since we need the
datapath in order build an enum ovn_stage to help search for the
matching in-memory logical flow.
Fixes: 674738fc9806 ("northd: Refactor lflow table sync to sb.")
Signed-off-by: Mark Michelson <[email protected]>
---
northd/lflow-mgr.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/northd/lflow-mgr.c b/northd/lflow-mgr.c
index 43dd1d947..06df978cd 100644
--- a/northd/lflow-mgr.c
+++ b/northd/lflow-mgr.c
@@ -304,6 +304,7 @@ lflow_table_sync_to_sb(struct lflow_table *lflow_table,
continue;
}
uuidset_delete(&sb_uuid_set, node);
+ continue;
}
struct sbrec_logical_dp_group *dp_group = sbflow->logical_dp_group;
struct ovn_datapath *logical_datapath_od = NULL;
@@ -336,10 +337,6 @@ lflow_table_sync_to_sb(struct lflow_table *lflow_table,
continue;
}
- if (search_mode != LFLOW_TABLE_SEARCH_FIELDS) {
- continue;
- }
-
enum ovn_pipeline pipeline
= !strcmp(sbflow->pipeline, "ingress") ? P_IN : P_OUT;
--
2.51.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev