[systemd-devel] [question] networkd: Any support for hooks?

Lennart Poettering lennart at poettering.net
Wed Oct 8 14:26:49 PDT 2014


On Thu, 02.10.14 19:48, Cameron Norman (camerontnorman at gmail.com) wrote:

> On Wed, Oct 1, 2014 at 10:36 PM, Tom Gundersen <teg at jklm.no> wrote:
> > Hi Cameron,
> >
> > On Thu, Oct 2, 2014 at 6:36 AM, Cameron Norman <camerontnorman at gmail.com> wrote:
> >> ifupdown [1], NetworkManager, and WICD all support hooks for when a
> >> network interface is configured or deconfigured (before and after
> >> these actions).
> >>
> >> Are there any plans to support something along these lines? If so,
> >> what will that look like?
> >>
> >> If there are no plans, how do networkd's developers feel about adding
> >> the feature (will not merge, or will accept patches, etc.) ?
> >
> > I am sceptical to adding hooks, so would need a lot of convincing.
> > What we do, however, is to expose the configuration state using the
> > sd-network C API, which external programs can watch and react on (see
> > how timesyncd and resolved currently works).
> 
> Does the C API allow programs to temporarily stall bringing up or down
> the interface, or does it only deliver signals of if state?

No it does not allow synchronous hooks. Only asynchronous notification
is supported.

> Out of curiosity, where does your aversion to hooks come from? Does it
> add significant complication code wise, or is it more with respect to
> using networkd before any filesystems are mounted (thus the hook files
> would not be present)?

Well, we want networkd to be clean and properly written, and I simply
have the suspicion that if start allowing glueing in badly integrated
stuff via shell scripts, we'll have a hard time to ever fix this
again. I mean, network management solutions that shell out to external
tools we have enough, but networkd is really not supposed to be like
that. It shouldn't just be a glued together thing, but somewhat
uniform.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list