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

Cameron Norman camerontnorman at gmail.com
Wed Oct 8 15:00:33 PDT 2014


On Wed, Oct 8, 2014 at 2:26 PM, Lennart Poettering
<lennart at poettering.net> wrote:
> 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.

Ok, that is a good reason, what I had slightly imagined.

Now that I have looked in the hook dirs of ifupdown more closely, I
have noticed pretty much only async stuff, except for some ethtool,
wpasupplicant, and avahi-autoipd scripts. The avahi-autoipd one seems
like it may be misplaced, and is probably just fine in post-down
(which is async, compared to down).

Thank you,
--
Cameron Norman


More information about the systemd-devel mailing list