opensuse 13.2 libvirt kvm networking issue

Hello all,

I am not sure if this belongs here or in the networking forum but I am starting here.

I have been trying to find an answer to this but have come up short. Sorry if this is a duplicate post.

I am running openSUSE 13.2, libvirt with a KVM backend. My networking setup will initially work on boot. I have a single interface configured as a bridge via NAT. I have configured YaST to use wicked as the network manager. (Originally it was configured to use NetworkManager).

If I do anything that causes the network stack to be re-initialized, I loose networking in all running VM’s. I have not yet found a way to restore network communications short of a restart of the system.

Example:
I go into YaST and modify the firewall configuration to allow a new port. Once YaST re-initializes thingsmy VM’s can no longer communicate.

I have tried restarting the network with **rcnetwork restart ** but this does not resolve the problem.
I have also tried shutting down all vm’s and virt-manager and restarting but the VM’s will report that the network is not available/disconnected.
These issues are with Windows and Linux based guests.

Can anyone provide some insight as to what may be going wrong and how to fix?

Thanks in advance

First, your post is not a “duplicate post” if you are posting about your problem for the first time, the answer won’t necessarily be exactly the same as what someone else posted about which might only appear similar.

Your post is a bit unclear because for instance there are dual meanings to “bridge” the way you used it.

To clarify,
Post the results of the following

On your Host

ip addr
brctl show
brctl show *bridgename* 

In your Guest

ip addr

Additionally, although probably not critical it would be useful to know what method or tool you used to create your virtual networking.

Lastly, although “rcnetwork” might still work, you would be better advised to use systemd commands for things like managing services. The systemd equivalent to what you are doing is

systemctl restart network

With the above command you can also start|stop a service or app (The above is actually network.service but if the name is unique enough you don’t have to type the entire name).

Thank you for taking the time to consider this. Apologies for the incomplete information. Please see below for my responses.

First, your post is not a “duplicate post” if you are posting about your problem for the first time, the answer won’t necessarily be exactly the same as what someone else posted about which might only appear similar.

Your post is a bit unclear because for instance there are dual meanings to “bridge” the way you used it.

To clarify,
Post the results of the following

On your Host

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether c4:34:6b:05:54:c1 brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c4:d9:87:ba:fa:4f brd ff:ff:ff:ff:ff:ff
inet 192.168.129.209/24 brd 192.168.129.255 scope global dynamic wlo1
valid_lft 22535sec preferred_lft 22535sec
inet6 fe80::c6d9:87ff:feba:fa4f/64 scope link
valid_lft forever preferred_lft forever
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 52:54:00:25:65:32 brd ff:ff:ff:ff:ff:ff
inet 10.20.15.1/24 brd 10.20.15.255 scope global virbr0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe25:6532/64 scope link
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 500
link/ether 52:54:00:25:65:32 brd ff:ff:ff:ff:ff:ff
8: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 500
link/ether fe:54:00:5f:3b:72 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe5f:3b72/64 scope link
valid_lft forever preferred_lft forever

brctl show

bridge name bridge id STP enabled interfaces
virbr0 8000.525400256532 yes virbr0-nic
vnet0

brctl show *bridgename* 

bridge name bridge id STP enabled interfaces
virbr0 8000.525400256532 yes virbr0-nic
vnet0

In your Guest

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 52:54:00:5f:3b:72 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 52:54:00:5f:3b:72 brd ff:ff:ff:ff:ff:ff
inet 10.20.15.210/24 brd 10.20.15.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe5f:3b72/64 scope link
valid_lft forever preferred_lft forever

Additionally, although probably not critical it would be useful to know what method or tool you used to create your virtual networking.

I created the virtual network using virt-manager

Lastly, although “rcnetwork” might still work, you would be better advised to use systemd commands for things like managing services. The systemd equivalent to what you are doing is

systemctl restart network

With the above command you can also start|stop a service or app (The above is actually network.service but if the name is unique enough you don’t have to type the entire name).

Thanks for the tip. I guess I am just not quite used to the systemd way of things.

Ok,
Appears that you likely created your LBD using libvirt, and likely using vm-manager.

Main issue I see from what you posted is that you appear to have created a bridge device <within> your Guest which typically would be incorrect.
You should remove/delete your br0 interface and instead connect using the physical interface eth0.

Then, configuring the Guest’s properties(typically using vm manager), you should verify you’ve configured your virtual networking connecting to your LBD, the only one you’ve created thus far is virbr0.

TSU