From: Han Zhou <hz...@ovn.org>

In theory it is possible that ovn-controller tried to install flows by
calling ofctrl_put() while ofctrl is at a state other than
S_UPDATE_FLOWS thus not able to install. So, when entering S_UPDATE_FLOWS,
we should immediately wakeup the main loop so that any pending flows
can be installed without being delayed.

Signed-off-by: Han Zhou <hz...@ovn.org>
---
 controller/ofctrl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/controller/ofctrl.c b/controller/ofctrl.c
index c0a04ec50..72707baf9 100644
--- a/controller/ofctrl.c
+++ b/controller/ofctrl.c
@@ -644,6 +644,10 @@ run_S_CLEAR_FLOWS(void)
     }
 
     state = S_UPDATE_FLOWS;
+
+    /* Give a chance for the main loop to call ofctrl_put() in case there were
+     * pending flows waiting ofctrl state change to S_UPDATE_FLOWS. */
+    poll_immediate_wake();
 }
 
 static void
-- 
2.37.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to