unregister_netdevice: waiting for br0 to become free. Usage count = 1 on OpenSuse 12.3

Hi

Recently I’ve deployed a virtualisation server based on OpenSuse 12.3, kvm and libvirt. It was a kiwi-defined system, which I already used for some time on other hardware (but with other packet versions maybe), so I didn’t expect any surprises. However, when I configured the bridging interface and rebooted, my system stuck for a 300 seconds timeout for

unregister_netdevice: waiting for br0 to become free. Usage count = 1

Eventually it rebooted alright, but waiting for 5 minutes for each reboot is insane. Same thing happens if I try ti stop/restart network.service or bridge itself. What has been done to solve the issue: I’ve updated the kernel, disabled the ipv6 in yast, re-wrote config files by hand ( actually, copied them from the working server), but nothing helped on regular basis. Once in a time, my system bypasses this problem, if I reboot really fast after initial boot. By if it stays up a little- hello, 5 minute ping timeout.

My network configs:
cat ./ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
IPADDR=0.0.0.0
ONBOOT=yes
STARTMODE=hotplug
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

cat ./ifcfg-br0
STARTMODE=‘auto’
BOOTPROTO=‘static’
USERCONTROL=‘no’
IPADDR=‘192.168.0.189/19’
BRIDGE=‘yes’
BRIDGE_PORTS=‘eth0’
BRIDGE_AGEINGTIME=‘300’
BRIDGE_FORWARDDELAY=‘0.1’
BRIDGE_HELLOTIME=‘2’
BRIDGE_MAXAGE=‘20’
BRIDGE_PATHCOSTS=‘19’
BRIDGE_STP=‘off’

ifconfig
br0 Link encap:Ethernet HWaddr 60:A4:4C:AC:52:2E
inet addr:192.168.0.189 Bcast:192.168.31.255 Mask:255.255.224.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:85801 errors:0 dropped:10 overruns:0 frame:0
TX packets:4056 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7238988 (6.9 Mb) TX bytes:870578 (850.1 Kb)

eth0 Link encap:Ethernet HWaddr 60:A4:4C:AC:52:2E
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:89959 errors:0 dropped:0 overruns:0 frame:0
TX packets:7722 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9684036 (9.2 Mb) TX bytes:1101938 (1.0 Mb)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1759 errors:0 dropped:0 overruns:0 frame:0
TX packets:1759 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:95970 (93.7 Kb) TX bytes:95970 (93.7 Kb)

vnet0 Link encap:Ethernet HWaddr FE:54:00:DC:70:75
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:104309 errors:0 dropped:0 overruns:0 frame:0
TX packets:193305 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:20997971 (20.0 Mb) TX bytes:15975069 (15.2 Mb)

vnet1 Link encap:Ethernet HWaddr FE:54:00:96:02:68
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:112234 errors:0 dropped:0 overruns:0 frame:0
TX packets:185769 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:8940775 (8.5 Mb) TX bytes:28454791 (27.1 Mb)

Thanks in advance

From what ou’ve posted, several Q come to mind…

  • Are you <sure> that all Guest VMs using the bridge have been stopped and shutdown (not still in the process of shutting down)? BTW - You might find some clues by inspecting the syslog entries related to shutting down. So, for instance you can try to run the following command on your next bootup, hopefullly it should capture enough entries to include the previous shutdown (adjust if necessary).
tail -n 500 /var/log/messages
  • What is the exact command you are using to manually stop the device (brctl?)

  • I assume by your bridge name (br0) that you followed any of the standard documentation creating a bridge (including the official SUSE documentation). Since you say you are running libvirt, have you considered creating, managing (including stop/start virtual networks) using vm manager? I hurriedly posted a very rough version of the steps for creating a virtual network and bridge device in vm manager in this thread
    https://forums.opensuse.org/english/get-technical-help-here/virtualization/488197-need-help-creating-bridge.html

In fact, if you do decide to experiment with a different bridge (eg created in vm manager) it should be easy to switch to and back to the original if you wish (I also created a “Host Only” network and now switch my Guests from one network to another without problems).

  • STP Is a bit fuzzy in my mind at the moment because it’s something I read but didn’t myself apply or seem to have an effect on my setup, but I seem to remember a recommendation if STP won’t provide any benefit to disable (or modify the default config setting to a very low number). But I can’t remember for sure whether the STP setting effects runtime latencies or if it might affect your situation (shutting down).

I also get the feeling this is a new machine, you might also find that after “several” reboots the issue may work itself out on its own.

HTH,
TSU

Okay, I ve solved the problem. Thanks everyone.

THe reason was an aoe module. wich I’ve forgotted to unload while shutting down and rebooting the master host. Without it everything works just fine. Cheers!