[systemd-bugs] [Bug 83542] New: systemd-networkd: DHCP server is stopped on "lost carrier" but never restarted on "gained carrier" (systemd 216)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Sep 5 10:40:29 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=83542

          Priority: medium
            Bug ID: 83542
          Assignee: systemd-bugs at lists.freedesktop.org
           Summary: systemd-networkd: DHCP server is stopped on "lost
                    carrier" but never restarted on "gained carrier"
                    (systemd 216)
        QA Contact: systemd-bugs at lists.freedesktop.org
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: david at numm.org
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: unspecified
         Component: general
           Product: systemd

When a device configured with DHCPServer=yes loses carrier, networkd stops its
DHCP server. But when the carrier re-appears later on, the server is not
restarted.

My use case is a bridge I use to connect virtual machines to; the bridge is
NAT-ed to the outside and the host interface is *not* connected to it; veth and
tap devices are added and removed as needed.

First virtual machine to start gets its address successfully. After the last
machine is shut down, the bridge has no ports and networkd stops the DHCP
server. When a new machine is started after that, the bridge gets a carrier
again, but networkd doesn't restart DHCP server, so that and subsequent
machines can't acquire a lease.


$ cat /etc/systemd/network/br0.netdev
[NetDev]
Name=br0
Kind=bridge

$ cat /etc/systemd/network/br0.network
[Match]
Name=br0
[Network]
Address=10.10.10.1/24
DHCPServer=yes


This behaviour follows from the state machine in networkd-link.c. It looks like
it could be fixed by moving set-up calls to sd_dhcp_*() from
link_enter_configure() to link_acquire_conf() to regain symmetry between setup
that happens on carrier_gained and teardown on carrier_lost, but I'm not
confident enough in my understanding of the state machine invariants to patch
it myself.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-bugs/attachments/20140905/e8e78a42/attachment.html>


More information about the systemd-bugs mailing list