❦ 15 janvier 2018 17:03 +0100, Ondrej Zajicek <[email protected]> :
>> A better solution (for me) would be:
>>
>> [Unit]
>> Description=BIRD Internet Routing Daemon (IPv4)
>> After=network-pre.target systemd-sysctl.service systemd-udevd.service
>> Before=network.target multi-user.target shutdown.target
>> Conflicts=shutdown.target
>> Wants=network.target
>> DefaultDependencies=no
>>
>> However, it should be noted that makes BIRD start really early (IP may
>> not even have been configured, which is troublesome for implicit router
>> ID). Also, we may miss other dependencies (syslog, /var). After
>> discussing it on #debian-devel, this kind of configuration doesn't get
>> many votes.
>
> Just a question, how this problem is handled by daemons in similar
> position, like hostapd or wpasupplicant?
They use something similar as the proposed solution.
[Unit]
Description=WPA supplicant daemon (interface-specific version)
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
Before=network.target
Wants=network.target
I just noticed that Quagga is using something similar too:
[Unit]
Description=GNU Zebra routing manager
Wants=network.target
Before=network.target
After=network-pre.target
openvswitch:
[Unit]
Description=Open vSwitch
Before=network.target network.service
After=network-pre.target ovsdb-server.service ovs-vswitchd.service
PartOf=network.target
ndisc:
[Unit]
Description=IPv6 Recursive DNS Server discovery Daemon
Documentation=man:rdnssd(8)
Before=network.target
Requires=network.target
So, maybe just:
[Unit]
Description=BIRD Internet Routing Daemon (IPv4)
Before=network.target
Wants=network.target
After=network-pre.target
But again, I think there is no guarantee interfaces have been
configured.
--
Write and test a big program in small pieces.
- The Elements of Programming Style (Kernighan & Plauger)
signature.asc
Description: PGP signature

