Thanks Naveen,

Aside from what 0-day robot pointed out,
Acked-by: Mark Michelson <[email protected]>

On 4/3/24 07:29, Naveen Yerramneni wrote:
Currently DNS resolution is a blocking call in OVN controller.
If DNS server is not reachable for any reason then, ovn-controller
thread blocks for longer time and other events are not processed.

Ex: If we try to run ovn-appctl commands during this then, ovn-controller
will not respond for a longer time.

Signed-off-by: Naveen Yerramneni <[email protected]>
---
  controller/ovn-controller.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
index c9ff5967a..b84f6dfd4 100644
--- a/controller/ovn-controller.c
+++ b/controller/ovn-controller.c
@@ -85,6 +85,7 @@
  #include "mirror.h"
  #include "mac_cache.h"
  #include "statctrl.h"
+#include "lib/dns-resolve.h"
VLOG_DEFINE_THIS_MODULE(main); @@ -5090,6 +5091,7 @@ main(int argc, char *argv[])
      mirror_init();
      vif_plug_provider_initialize();
      statctrl_init();
+    dns_resolve_init(true);
/* Connect to OVS OVSDB instance. */
      struct ovsdb_idl_loop ovs_idl_loop = OVSDB_IDL_LOOP_INITIALIZER(
@@ -6176,6 +6178,7 @@ loop_done:
      unixctl_server_destroy(unixctl);
      service_stop();
      ovsrcu_exit();
+    dns_resolve_destroy();
exit(retval);
  }

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to