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.