Using two high level network manager usually results in unexpected and non predictable behavior. But if you are able to use only one for your connection setups, it might work. Never done it myself.
An alternative would be to use the -i
option and specify the operational status you want. You can use networkctl list
to show the current operational status of all devices.
However, I probably would create my own wait-online
service. The systemd-networkd-wait-online.service
can be used as a template, I would just create my own script that check if everything is like I want and then succeeds or exits with an value greater than 0. The systemd-networkd-wait-online.service
doesn’t do anything more, it is just wanted by network-online.target
and if it fails the network-online.target
is not reached.