]> xenbits.xensource.com Git - libvirt.git/commit
network: properly check for taps that are connected to an OVS bridge
authorLaine Stump <laine@laine.org>
Sun, 1 Jul 2018 23:29:03 +0000 (19:29 -0400)
committerLaine Stump <laine@laine.org>
Mon, 2 Jul 2018 23:57:52 +0000 (19:57 -0400)
commitc17edaf7782d7a9b15940ac8422c1761e8f90902
tree0ee39510060557f541a9753cff41508b2563b28a
parent15072f3a97d8b55421fa418df58708e306d8813d
network: properly check for taps that are connected to an OVS bridge

When libvirtd is restarted, it checks that each guest tap device is
still attached to the bridge device that the configuration info says
it should be connected to. If not, the tap will be disconnected from
[wherever it is] and connected to [wherever it should be].

The previous code that did this did not account for:

1) the IFLA_MASTER attribute in a netdev's ifinfo will be set to
   "ovs-system" for any tap device connected to an OVS bridge, *not*
   to the name of the bridge it is attached to.

2) virNetDevRemovePort() only works for devices that are attached to a
   standard Linux host bridge. If a device is currently attached to an
   OVS bridge, then virNetDevOpenvswitchRemovePort() must be called
   instead.

This patch remedies those problems, and adds a couple of information
log messages to aid in debugging any future problem.

Resolves: https://bugzilla.redhat.com/1596176

Signed-off-by: Laine Stump <laine@laine.org>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
src/network/bridge_driver.c