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

Reply via email to