Tamas Lengyel
2013-Nov-24 18:45 UTC
Issue with restarting Open vSwitch network driver domain
Hi all, I have recently experimented with http://wiki.xenproject.org/wiki/Driver_Domain to create an Open vSwitch network driver domain. I setup a VT-d pass-through network card to the driver domain, where I created a bridge (ovsbr0) to which the pass-through card is assigned. When I create a test domain with the following vif configuration: vif = [''type=ioemu,model=e1000,bridge=ovsbr0,backend=openvswitch''] everything works perfectly. Inside the driver domain I see the new vif getting assigned to the ovsbr0 bridge and the test domain has access to the network (dhcp and everything) through the VT-d card. However, if I restart the Open vSwitch network driver domain the test domain loses all connectivity. In the network driver domain the test domain''s vif# is still assigned to the ovsbr0 bridge, however the entries within xenstore are now stale: vif = "" 0 = "" backend = "/local/domain/6/backend/vif/7/0" backend-id = "6" Note: 6 is the domain id of the network driver before restart. Even if I try to update these values manually with xenstore-write the test domain doesn''t regain network connectivity as I assume other values would need to be updated as well (event-channel?). If I simply restart the test domain, it gains network connectivity back again. Is there a way to have xl automatically update xenstore entries for domains that depend on the network driver domain? Is there something else that''s missing? Thanks! Tamas _______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users
Ian Campbell
2013-Nov-25 10:28 UTC
Re: Issue with restarting Open vSwitch network driver domain
On Sun, 2013-11-24 at 19:45 +0100, Tamas Lengyel wrote:> However, if I restart the Open vSwitch network driver domain the test > domain loses all connectivity.As part of this restart you would need to perform some action in the toolstack to reset all of the attached vifs. The easiest way to do this is probably to issue and unplug/plug on them all. Ultimately a new backend needs to be created in the new driver domain and the frontend needs to be pointed to it. Ian.