Re: [PATCH 1/1] start after systemd-networkd

On Wed, 2015-11-25 at 15:36 +0100, Christian Hesse wrote:
Thomas Haller <thaller redhat com> on Wed, 2015/11/25 15:11:
On Wed, 2015-11-25 at 11:53 +0100, Christian Hess wrote:
From: Christian Hesse <mail eworm de>

It is possible to use systemd-networkd for some general network
(rename devices, ...) even for devices that are managed by
NetworkManager later.

(does networkd rename device? I'd think that is be done by udev).

Since systemd 228 the behaviour changed that systemd-networkd
foreign configuration from devices. It does not change
that is done after systemd-networkd has started up, though.
To prevent race conditions we order NetworkManager service to
after systemd-networkd service.  

The "After" will delay starting NetworkManager only "after networkd
declared to be started".

That's not true. From man 5 systemd.unit:

[...] while After= ensures that the configured unit is started after
listed unit finished starting up [...]

I didn't say anything different.

systemd-networkd.service has:


and networkd does:

        r = manager_rtnl_enumerate_links(m);
        r = manager_rtnl_enumerate_addresses(m);
        r = manager_rtnl_enumerate_routes(m);

        log_info("Enumeration completed");

                  "STATUS=Processing requests...");

thus, networkd signals that it is READY=1 before configuring the
devices (or not?). How does ordering NM "After=networkd" help then?

I think it's anyway a bad idea to have networkd and NM fight over the
same devices.
You can use networkd to create the device for which NM
then does IP configuration. That will probably work, but doesn't
require "After" either (does it?).

Maybe you can elaborate on your use-case and show how "After" solves it?


Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]