On Mon, 25.06.12 16:23, Dave Reisner (d...@falconindy.com) wrote:

>   $ systemctl -t device --full --all --no-pager | grep net
>   sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device loaded active
>   sys-subsystem-net-devices-eth0.device                       loaded
>   inactive

Hmm,  if you do "systemctl show
sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device", do you see
the alias name listed in Names=? Do you see the name listed properly for
other network devices?

> The device node itself looks just fine, according to udev:
>   $ udevadm info -q property /devices/pci0000:00/0000:00:03.0/virtio0/net/eth0
>   DEVPATH=/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0
>   ID_BUS=pci
>   ID_MODEL_FROM_DATABASE=Virtio network device
>   ID_MODEL_ID=/sys/devices/pci0000:00/0000:00:03.0/virtio0
>   ID_VENDOR_ID=0x1af4
>   INTERFACE=eth0
>   SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth0
>   TAGS=:systemd:
> Meanwhile, this of course means that dhcpcd@eth0.service is sitting
> idle:
>   $ systemctl status dhcpcd@eth0.service
>   dhcpcd@eth0.service - dhcpcd on eth0
>       Loaded: loaded (/etc/systemd/system/dhcpcd@.service; enabled)
>       Active: inactive (dead)
>       CGroup: name=systemd:/system/dhcpcd@.service/eth0
> As soon as I reboot without the After=/BindTo= ordering on dhcpcd@.service,
> the alias shows as active:
>   $ systemctl status sys-subsystem-net-devices-eth0.device
>   sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device - Virtio 
> network device
>       Loaded: loaded
>       Active: active (plugged) since Mon, 25 Jun 2012 16:16:52 -0400; 46s ago
>       Device: /sys/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0
> Were device aliases not intended to be used this way? If not, what's the
> purpose? How can I order a network service against a device to ensure
> it's started properly?

It shoul definitely work. But there might be a bug with the logic
actually, i.e. instead of actually adding this stuff as alias, we
probably need to implement this via the "follows" logic, simply because
such an alias name might refer to a different .device unit over time,
and aliases never change.

I will have a look into this.


Lennart Poettering - Red Hat, Inc.
systemd-devel mailing list

Reply via email to