Alas, nop, After= starts a service after networking has started. Somewhere systemd assumes that starting takes x amount of time, which seems to be correct for 1 to a few interfaces, but as soon as you start messing about with vlans, pppoe over 1 vlan and tunnels over pppoe over said vlan (and that’s only the outside) that assumption is incorrect.
To link services to a specific interface you need an extra BindsTo=sys-devices-virtual-net-vlan666.device when you want the service to start after vlan666 is actually up. (else it’s just started after the depedency is started) Starting vlans/tunnels takes a tad of time, especially when you have 11 vlans, 2 tunnels and a pppoe interface between 1 vlan and the 2 tunnels.
Requires= seems to be for services, BindsTo= for devices.
Does
After=
not fit your use case? I was under the impression it does what you’re looking for.Alas, nop, After= starts a service after networking has started. Somewhere systemd assumes that starting takes x amount of time, which seems to be correct for 1 to a few interfaces, but as soon as you start messing about with vlans, pppoe over 1 vlan and tunnels over pppoe over said vlan (and that’s only the outside) that assumption is incorrect.
To link services to a specific interface you need an extra BindsTo=sys-devices-virtual-net-vlan666.device when you want the service to start after vlan666 is actually up. (else it’s just started after the depedency is started) Starting vlans/tunnels takes a tad of time, especially when you have 11 vlans, 2 tunnels and a pppoe interface between 1 vlan and the 2 tunnels.
Requires= seems to be for services, BindsTo= for devices.