summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorYifeng Sun <pkusunyifeng@gmail.com>2018-06-26 14:06:21 -0700
committerBen Pfaff <blp@ovn.org>2018-07-06 13:50:00 -0700
commit771680d96fb6f996987630cb85bb749478512268 (patch)
treee3fddb4c770f88e405fd82787933216fc5b1ac58 /m4
parentdef5b366a3626fddc87a449e8447f79a6957d55f (diff)
downloadopenvswitch-771680d96fb6f996987630cb85bb749478512268.tar.gz
DNS: Add basic support for asynchronous DNS resolving
This patch is a simple implementation for the proposal discussed in https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/337038.html and https://mail.openvswitch.org/pipermail/ovs-dev/2017-October/340013.html. It enables ovs-vswitchd and other utilities to use DNS names when specifying OpenFlow and OVSDB remotes. Below are some of the features and limitations of this patch: - Resolving is asynchornous in daemon context, avoiding blocking main loop; - Resolving is synchronous in general utility context; - Both IPv4 and IPv6 are supported; - The resolving API is thread-safe; - Depends on the unbound library; - When multiple ip addresses are returned, only the first one is used; - /etc/nsswitch.conf isn't respected as unbound library doesn't look at it; - For async-resolving, caller need to retry later; there is no callback. Signed-off-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'm4')
-rw-r--r--m4/openvswitch.m410
1 files changed, 10 insertions, 0 deletions
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 3f301b23b..8c62de763 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -669,3 +669,13 @@ AC_DEFUN([OVS_CHECK_CXX],
enable_cxx=false
fi
AM_CONDITIONAL([HAVE_CXX], [$enable_cxx])])
+
+dnl Checks for unbound library.
+AC_DEFUN([OVS_CHECK_UNBOUND],
+ [AC_CHECK_LIB(unbound, ub_ctx_create, [HAVE_UNBOUND=yes])
+ if test "$HAVE_UNBOUND" = yes; then
+ AC_DEFINE([HAVE_UNBOUND], [1], [Define to 1 if unbound is detected.])
+ LIBS="$LIBS -lunbound"
+ fi
+ AM_CONDITIONAL([HAVE_UNBOUND], [test "$HAVE_UNBOUND" = yes])
+ AC_SUBST([HAVE_UNBOUND])])