Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am running Arch Linux under LXC. I have a systemd unit file for dhcpcd (a DHCP client) that includes:

BindsTo=sys-subsystem-net-devices-eth0.device

And indeed, eth0 exists and is functioning:

# ip link show eth0
35: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:16:3e:05:24:4e brd ff:ff:ff:ff:ff:ff

Systemd does not appear to be aware of this interface, and ultimately gives up with the following error:

Timed out waiting for device sys-subsystem-net-devices-eth0.device.

This is what udevadm says about the interface:

# udevadm info /sys/class/net/eth0
P: /devices/virtual/net/eth0
E: DEVPATH=/devices/virtual/net/eth0
E: IFINDEX=35
E: INTERFACE=eth0
E: SUBSYSTEM=net

Why doesn't systemd know about this interface? I would like to avoid modifying the existing service file (because it will probably get tromped on by a package upgrade, and because having the service depdend on the network interface makes an awful lot of sense).

share|improve this question
    
I have just hit this problem. Are you using netctl by any chance ? If you have LXC configured correctly then you won't have udev inside the container because it doesn't work. This means the device you mention, upon which netctl's target depends, is never created. You can manually test the network stack by manually running dhcpcd or by manually configuring the interface with the ip command. FYI I have just raised this issue on the Arch forum... –  starfry Jun 7 '13 at 9:31
    
This is what I did. –  larsks Jun 17 '13 at 17:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.