summaryrefslogtreecommitdiff
path: root/lib/dns-resolve-stub.c
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 /lib/dns-resolve-stub.c
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 'lib/dns-resolve-stub.c')
-rw-r--r--lib/dns-resolve-stub.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/dns-resolve-stub.c b/lib/dns-resolve-stub.c
new file mode 100644
index 000000000..edf8337be
--- /dev/null
+++ b/lib/dns-resolve-stub.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2017, 2018 Nicira, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <config.h>
+#include "dns-resolve.h"
+#include "compiler.h"
+
+void
+dns_resolve_init(void)
+{
+}
+
+bool
+dns_resolve(const char *name OVS_UNUSED, char **addr)
+{
+ *addr = NULL;
+ return false;
+}
+
+void
+dns_resolve_destroy(void)
+{
+}