[ovs-dev] DNS support options

Ben Pfaff blp at ovn.org
Tue Aug 8 18:43:17 UTC 2017


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: http://www.chiark.greenend.org.uk/~ian/adns/.
          It has a port to Windows but I don't know whether it's
          up-to-date.

Thoughts?


More information about the dev mailing list