All of lore.kernel.org
 help / color / mirror / Atom feed
* Running netback/blkback in non-dom0 domains
@ 2008-07-17 22:02 Anton Burtsev
  2008-07-17 22:25 ` Samuel Thibault
  2008-07-17 23:30 ` Mark Williamson
  0 siblings, 2 replies; 5+ messages in thread
From: Anton Burtsev @ 2008-07-17 22:02 UTC (permalink / raw)
  To: xen-devel

Hi, 

Is there a way to configure/hack Xen to run backend devices in 
a non-dom0 domain (in domU). Like, for example connect two domU 
domains with a block device.

Thanks, 
Anton

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running netback/blkback in non-dom0 domains
  2008-07-17 22:02 Running netback/blkback in non-dom0 domains Anton Burtsev
@ 2008-07-17 22:25 ` Samuel Thibault
  2008-07-17 23:30 ` Mark Williamson
  1 sibling, 0 replies; 5+ messages in thread
From: Samuel Thibault @ 2008-07-17 22:25 UTC (permalink / raw)
  To: Anton Burtsev; +Cc: xen-devel

Anton Burtsev, le Thu 17 Jul 2008 16:02:32 -0600, a écrit :
> Is there a way to configure/hack Xen to run backend devices in 
> a non-dom0 domain (in domU). Like, for example connect two domU 
> domains with a block device.

Or, possibly more useful, with a network device :)

Samuel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running netback/blkback in non-dom0 domains
  2008-07-17 22:02 Running netback/blkback in non-dom0 domains Anton Burtsev
  2008-07-17 22:25 ` Samuel Thibault
@ 2008-07-17 23:30 ` Mark Williamson
  2008-07-21 18:11   ` Anton Burtsev
  1 sibling, 1 reply; 5+ messages in thread
From: Mark Williamson @ 2008-07-17 23:30 UTC (permalink / raw)
  To: xen-devel; +Cc: Anton Burtsev

On Thursday 17 July 2008, Anton Burtsev wrote:
> Hi,
>
> Is there a way to configure/hack Xen to run backend devices in
> a non-dom0 domain (in domU). Like, for example connect two domU
> domains with a block device.

Yes, I think this should Just Work with the right configuration parameters...

Set:
blkif = 'yes'
or
netif = 'yes'

As appropriate in your domain config file for the "backend" domU.  Then in the 
frontend domU's config file you can specify something like:

disks = [ 'phy:hda1,hda1,w,BACK' ]

substituting the domid of the backend domain for BACK (its name might work, 
possibly, I'm not sure).  Specifying file: or tap: disks in the backend domU 
to work in this way might be a bit of a fiddle (if it's possible) but phy: 
should work just fine.

or you can do:

vif 
= "type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT,backend=DOM,vifname=NAME"

again, specifying the domid (or possibly the name) of the backend domain.

If you start the backend and then the frontend from these config files they 
should be able to connect do virtual device IO.

Cheers,
Mark


-- 
Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running netback/blkback in non-dom0 domains
  2008-07-17 23:30 ` Mark Williamson
@ 2008-07-21 18:11   ` Anton Burtsev
  2008-07-21 18:19     ` Samuel Thibault
  0 siblings, 1 reply; 5+ messages in thread
From: Anton Burtsev @ 2008-07-21 18:11 UTC (permalink / raw)
  To: xen-devel; +Cc: Mark Williamson

Thanks Mark,

Yes, this generally works (I've tried block devices on xen-3.2-testing).  
Some additional details: 

  1) If you build two different kernels dom0 and domU don't forget to 
     enable XEN_BACKEND, XEN_BLKDEV_BACKEND, XEN_NETDEV_BACKEND in your 
     domU config. 

  2) To connect backend you need a domU with a Linux system with working  
     hotplug scripts (I guess BSD and other systems use something else).  
     Hotplug scripts in turn depend on working xenstore-write, 
     xenstore-read, xenstore-..., etc. tools. 

Some bugs/unclear features:

  1) If you ask to import the same device, but from different domains, 
     like /dev/loop0 below:
     
         disk = ['phy:/dev/loop0,sda1,w', 'phy:/dev/loop0,sda2,w,block-backend-domain']   
     
     Domain is not created with an error:     
       Error: The file "/dev/loop0" is already used

  2) If you export a block device from dom0 through a domU to the second 
     domU, e.g.
     
       /dev/loop0  ---->  /dev/sda2  ---->  /dev/sda2
	 dom0               domU(1)           domU(2)
     
     device is not accessible in domU(2) with an error 
        Buffer I/O error on device sda2, logical block 25840 
     Xen complains: 
        (XEN) grant_table.c:360:d0 Could not pin grant frame 99551

Anton
  
On Fri, Jul 18, 2008 at 12:30:48AM +0100, Mark Williamson wrote:
> On Thursday 17 July 2008, Anton Burtsev wrote:
> > Hi,
> >
> > Is there a way to configure/hack Xen to run backend devices in
> > a non-dom0 domain (in domU). Like, for example connect two domU
> > domains with a block device.
> 
> Yes, I think this should Just Work with the right configuration parameters...
> 
> Set:
> blkif = 'yes'
> or
> netif = 'yes'
> 
> As appropriate in your domain config file for the "backend" domU.  Then in the 
> frontend domU's config file you can specify something like:
> 
> disks = [ 'phy:hda1,hda1,w,BACK' ]
> 
> substituting the domid of the backend domain for BACK (its name might work, 
> possibly, I'm not sure).  Specifying file: or tap: disks in the backend domU 
> to work in this way might be a bit of a fiddle (if it's possible) but phy: 
> should work just fine.
> 
> or you can do:
> 
> vif 
> = "type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT,backend=DOM,vifname=NAME"
> 
> again, specifying the domid (or possibly the name) of the backend domain.
> 
> If you start the backend and then the frontend from these config files they 
> should be able to connect do virtual device IO.
> 
> Cheers,
> Mark
> 
> 
> -- 
> Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Running netback/blkback in non-dom0 domains
  2008-07-21 18:11   ` Anton Burtsev
@ 2008-07-21 18:19     ` Samuel Thibault
  0 siblings, 0 replies; 5+ messages in thread
From: Samuel Thibault @ 2008-07-21 18:19 UTC (permalink / raw)
  To: Anton Burtsev; +Cc: xen-devel, Mark Williamson

Anton Burtsev, le Mon 21 Jul 2008 12:11:37 -0600, a écrit :
>   2) If you export a block device from dom0 through a domU to the second 
>      domU, e.g.
>      
>        /dev/loop0  ---->  /dev/sda2  ---->  /dev/sda2
> 	 dom0               domU(1)           domU(2)
>      
>      device is not accessible in domU(2) with an error 
>         Buffer I/O error on device sda2, logical block 25840 
>      Xen complains: 
>         (XEN) grant_table.c:360:d0 Could not pin grant frame 99551

I guess it is because domU(1) tries to directly expose domU(2)'s data
pages to dom0, which it is not allowed to do.

Samuel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-07-21 18:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-17 22:02 Running netback/blkback in non-dom0 domains Anton Burtsev
2008-07-17 22:25 ` Samuel Thibault
2008-07-17 23:30 ` Mark Williamson
2008-07-21 18:11   ` Anton Burtsev
2008-07-21 18:19     ` Samuel Thibault

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.