[ovs-dev] [PATCHv3] DNS: Add basic support for asynchronous DNS resolving
Yifeng Sun
pkusunyifeng at gmail.com
Wed Dec 20 18:04:39 UTC 2017
Hi Ben,
Thank you very much for the code review, I will fix and come up with v4
soon.
Best,
Yifeng
On Wed, Dec 20, 2017 at 9:32 AM, Ben Pfaff <blp at ovn.org> wrote:
> On Tue, Dec 19, 2017 at 05:08:42AM -0800, Yifeng Sun wrote:
> > 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 to use DNS names when specifying OpenFlow and
> > OVSDB remotes.
> >
> > Below are some of the features and limitations of this patch:
> > - The resolving is asynchornous, so it doesn't block the main loop;
> > - 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;
> > - Depends on caller to retry later to use the resolved results.
> >
> > v1 -> v2: refactored and improved code based on reviewer's comments.
> > v2 -> v3: add commit message.
> >
> > Signed-off-by: Yifeng Sun <pkusunyifeng at gmail.com>
>
> Thanks for v3! I think that many users are looking forward to DNS
> support.
>
> Thanks for including a change log (e.g. v1->v2, ...). However, the
> change log should go after the --- line in the email; otherwise, "git
> am" puts it into the commit message (and it should not be in there).
> You can do that by putting --- into your commit message, or by adding
> the change log manually within the editor invoked by "git send-email
> --annotate".
>
> This commit should update the documentation. I imagine that in several
> places the documentation says that only IP addresses are supported, and
> that should now be fixed.
>
> This commit should add a NEWS entry.
>
> This commit should update the build instructions to describe the new
> optional dependency.
>
> This commit should add the proper dependencies to the Debian, RHEL, and
> Fedora packaging.
>
> The copyright notices in the new files look wrong to me. This code is
> new this year and as far as I know it is not derived from any older
> code. If so, then that means that the copyright year should be 2017 and
> not any other years.
>
> The dns-resolve code uses a strategy of making the client understand at
> compile time whether the resolver is available, using an #ifdef. This
> is usually not the strategy that we use in Open vSwitch, because it
> means that the knowledge whether a feature is available has to be spread
> throughout the code. Instead, we try to centralize it in a single
> location to the extent practical, by writing appropriate stubs that do
> nothing or return an error when the feature is not available. You can
> see a few examples of this strategy in lib/async-append*.[ch],
> lib/route-table*.[ch], and lib/if-notifier*.[ch]. We usually find that
> this makes code easier to understand and maintain.
>
> Please consider the un-ratelimited log messages that this commit adds.
> I think that some of them could flood the logs if they triggered. If
> so, please ratelimit them.
>
> Thanks,
>
> Ben.
>
More information about the dev
mailing list