[systemd-devel] [RFC] Initial libsystemd-asyncns commit
Lennart Poettering
lennart at poettering.net
Thu Dec 12 06:24:48 PST 2013
On Thu, 12.12.13 15:20, Marcel Holtmann (marcel at holtmann.org) wrote:
>
> Hi Andrey,
>
> >>>> why do we have to spawn threads or do forks for DNS. This looks all
> >>>> pretty expensive. In ConnMan for example we just wrote our own async
> >>>> DNS using a mainloop. Works perfectly fine and is dirt cheap.
> >>>
> >>> Well, we don't fork threads/processes for each call but reuse them.
> >>>
> >>> What libasyncns does what your solution doesn't do is go via NSS. This
> >>> means /etc/hosts, nss-myhostname, nss-ldap, nss-mdns and so on just
> >>> work, while that all is lost when doing DNS natively.
> >>>
> >>> I am pretty sure we should not bypass NSS for this.
> >>
> >> actually NSS for DNS is pretty nasty stuff. I am pretty sure we should bypass it and create a proper implementation. Is anybody actually using NIS or LDAP for domain name resolution?
> >>
> >
> > Yes, there are solutions that are using LDAP for hostname resolution
> > quite heavily - actually are based around LDAP without any
> > local /etc/hosts.
>
> that is extremely heavy and must suck form a latency point of
> view. Then again, nothing that a DNS<->LDAP bridge couldn’t easily
> support. Since dragging LDAP dependencies into every program that has
> to load NSS modules is not a good idea either.
Note that "nscd" was created to deal with the performance of the LDAP
setups and also doesn't require loading everything into the same process.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list