[ovs-dev] [PATCH v1 1/1] dns-resolve: Allow unbound's config file to be set through an env var.

Ilya Maximets i.maximets at ovn.org
Mon Oct 5 22:11:47 UTC 2020


On 9/28/20 8:54 PM, Ted Elhourani wrote:
> When an unbound context is created, check whether OVS_UNBOUND_CONF has been
> set. If a valid config file is supplied then use it to configure the
> context. The procedure returns if the config file is invalid. If no config
> file is found then the default unbound config is used.
> 
> Signed-off-by: Ted Elhourani <ted.elhourani at nutanix.com>
> ---

Hi.

Since this is a user-visible change, could you, please, add an entry
to the NEWS file?

Best regards, Ilya Maximets.

>  Documentation/intro/install/general.rst |  4 +++-
>  lib/dns-resolve.c                       | 12 ++++++++++++
>  2 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst
> index 09f2c13f1..c4300cd53 100644
> --- a/Documentation/intro/install/general.rst
> +++ b/Documentation/intro/install/general.rst
> @@ -97,7 +97,9 @@ need the following software:
>    specifying OpenFlow and OVSDB remotes. If unbound library is already
>    installed, then Open vSwitch will automatically build with support for it.
>    The environment variable OVS_RESOLV_CONF can be used to specify DNS server
> -  configuration file (the default file on Linux is /etc/resolv.conf).
> +  configuration file (the default file on Linux is /etc/resolv.conf), and
> +  environment variable OVS_UNBOUND_CONF can be used to specify the
> +  configuration file for unbound.
>  
>  On Linux, you may choose to compile the kernel module that comes with the Open
>  vSwitch distribution or to use the kernel module built into the Linux kernel
> diff --git a/lib/dns-resolve.c b/lib/dns-resolve.c
> index 1ff58960f..d34451434 100644
> --- a/lib/dns-resolve.c
> +++ b/lib/dns-resolve.c
> @@ -82,6 +82,18 @@ dns_resolve_init(bool is_daemon)
>          return;
>      }
>  
> +    const char *ub_conf_filename = getenv("OVS_UNBOUND_CONF");
> +    if (ub_conf_filename != NULL) {
> +        int retval = ub_ctx_config(ub_ctx__, ub_conf_filename);
> +        if (retval != 0) {
> +            VLOG_WARN_RL(&rl, "Failed to set libunbound context config: %s",
> +                         ub_strerror(retval));
> +            ub_ctx_delete(ub_ctx__);
> +            ub_ctx__ = NULL;
> +            return;
> +        }
> +    }
> +
>      const char *filename = getenv("OVS_RESOLV_CONF");
>      if (!filename) {
>  #ifdef _WIN32
> 



More information about the dev mailing list