[systemd-bugs] [Bug 89811] New: Bonding (active-backup) Does Not Play Well with WiFi Links (wpa_supplicant)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Mar 29 11:02:26 PDT 2015


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

            Bug ID: 89811
           Summary: Bonding (active-backup) Does Not Play Well with WiFi
                    Links (wpa_supplicant)
           Product: systemd
           Version: unspecified
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
          Assignee: systemd-bugs at lists.freedesktop.org
          Reporter: freedesktop at goodbit.net
        QA Contact: systemd-bugs at lists.freedesktop.org

Created attachment 114701
  --> https://bugs.freedesktop.org/attachment.cgi?id=114701&action=edit
Complete journalctl -b

There is a troubling race condition between netdev bond devices and WiFi,
where the WiFi component refuses to come up without coaxing.

I found a reference to a similar report in the systemd developer mailing list:
(Question 3)
http://lists.freedesktop.org/archives/systemd-devel/2015-March/028971.html

My configuration, and a log snippet:
(Arch Linux system, running linux-2.19.3 and systemd v219)

===========
==> /etc/systemd/network/10-bond0.netdev <==
[NetDev]
Name=bond0
Kind=bond

==> /etc/systemd/network/20-eno1.network <==
[Match]
Name=eno1

[Network]
Bond=bond0

==> /etc/systemd/network/21-wlp2s0.network <==
[Match]
Name=wlp2s0

[Network]
Bond=bond0

==> /etc/systemd/network/32-dhcp.network <==
[Match]
Name=bond0

[Network]
DHCP=v4

[DHCP]
UseDomains=true

==> /etc/modprobe.d/bonding.conf <==
options bonding mode=active-backup
options bonding primary=eno1
options bonding miimon=1000
options bonding updelay=2000
options bonding downdelay=8000

--- journalctl -b | grep networkd ---
Mar 29 10:43:15 e5550 systemd-networkd[341]: bond0           : netdev ready
Mar 29 10:43:15 e5550 systemd-networkd[341]: Enumeration completed
Mar 29 10:43:15 e5550 systemd-networkd[341]: wlp2s0          : wlp2s0         
: could not join netdev: Operation not permitted
Mar 29 10:43:15 e5550 systemd-networkd[341]: wlp2s0          : failed
Mar 29 10:43:15 e5550 systemd-networkd[341]: eno1            : link configured
Mar 29 10:43:18 e5550 systemd-networkd[341]: eno1            : gained carrier
Mar 29 10:43:18 e5550 systemd-networkd[341]: wlp2s0          : gained carrier
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0           : gained carrier
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0           : DHCPv4 address
192.168.0.54/24 via 192.168.0.2
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0           : link configured

===========

As reported earlier, an orderly restart of the networking daemon clears the
problem

# ip link set eno1 down
# ip link set wlp2s0 down
# systemctl restart systemd-networkd
(And now we are golden)

Here is a hack workaround which might prove a clue as to the root cause.
If I force wpa_supplicant to come up after systemd-networkd, e.g.

===========
$ cat
/etc/systemd/system/wpa_supplicant\@wlp2s0.service.d/customdependency.conf
[Unit]
After=systemd-networkd.service
===========

I can get the wireless interface to come up fairly reliably with every reboot.

My eventual goal is to stack a bridge device on top of bond0,
but I cannot get this to work no matter what.
I think the root cause of this race condition is what is blocking me.

-- 
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/20150329/bb520672/attachment-0001.html>


More information about the systemd-bugs mailing list