On Tue, Aug 08, 2017 at 07:15:26PM +0000, Shashank Ram wrote: > > Open vSwitch currently supports only IP addresses for specifying > > OpenFlow and OVSDB remotes. It would be nice to support DNS names. > > Open vSwitch can't afford to let DNS resolution block processing, so it > > needs some way to resolve DNS asynchronously. I've come up with the > > following solutions so far: > > > > * Implement it ourselves using threads. Probably, this would be > > a single worker thread that loops through calls to > > getaddrinfo(). > > > > * glibc has getaddrinfo_a(), an asynchronous version of > > getaddrinfo(). *BSD and Windows do not have this function, so > > we would still need to implement it ourselves (probably using > > threads) if we adopted this approach, so it might be more work > > than the first solution. > > > > * Use an external asynchronous DNS library. GNU adns looks like > > a good choice > x------------- cut ----------------x > > It has a port to Windows but I don't know whether it's > > up-to-date. > > > ______________________________________________ > > Windows has its own APIs for DNS name resolution: > DnsQueryEx() which is asynchronous: > https://msdn.microsoft.com/en-us/library/windows/desktop/hh447188(v=vs.85).aspx > DnsQuery() which is synchronous: > https://msdn.microsoft.com/en-us/library/windows/desktop/ms682016(v=vs.85).aspx > > So we could use either of those.
At first glance DnsQueryEx looks suitable for our purposes. So that could be used as a substitute for the adns library on Windows, if we adopt the third option. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev