[ovs-dev] [PATCH] ovn-controller: race between binding-run and patch-run for localnet ports

Ramu Ramamurthy ramu.ramamurthy at gmail.com
Sat Mar 5 01:40:26 UTC 2016


when ctx->ovnsb_idl_txn is null, binding_run exits early
and does not add any local_datapaths, but patch_run
doesnt check this, and ends up deleting localnet ports,
because there are no local datapaths for them,
They get readded in a subsequent run causing unnecessary
deletion and readdition.

Signed-off-by: Ramu Ramamurthy <ramu.ramamurthy at us.ibm.com>
---
 ovn/controller/patch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ovn/controller/patch.c b/ovn/controller/patch.c
index 753ce3e..cfae613 100644
--- a/ovn/controller/patch.c
+++ b/ovn/controller/patch.c
@@ -280,7 +280,7 @@ void
 patch_run(struct controller_ctx *ctx, const struct ovsrec_bridge *br_int,
           struct hmap *local_datapaths)
 {
-    if (!ctx->ovs_idl_txn) {
+    if (!ctx->ovs_idl_txn || !ctx->ovnsb_idl_txn) {
         return;
     }
 
-- 
2.3.9




More information about the dev mailing list