Barry Silverman
2004-Apr-01 02:38 UTC
[Xen-devel] Role of Xen/Xenolinux in New IO networking
I know I have asked this before, but I am having trouble understanding the role of each component in the new 1.3 world: In 1.3 networking if Xen has no devices, and domain 0 owns and operates the NIC - does Xen have any role at all in networking for the guest OS''s? Which network device driver will a guest OS use? Do all the vnetif rules defined in Domain 0 now get interpreted by Domain 0 vnet driver? Or still by Xen? How do the actual packets (that will be routed to a guest) flow from the physical NIC - (received by a domain 0 driver, routed/filtered by ???, passed over a evtchn to a guest driver?) Barry Silverman
Keir Fraser
2004-Apr-01 08:23 UTC
Re: [Xen-devel] Role of Xen/Xenolinux in New IO networking
> I know I have asked this before, but I am having trouble understanding > the role of each component in the new 1.3 world: > > In 1.3 networking if Xen has no devices, and domain 0 owns and operates > the NIC - does Xen have any role at all in networking for the guest > OS''s?No -- Xen will have no direct involvement in I/O accesses, except that: 1. It will still own the ''emergency console'' (ie. serial line) so that higher-level software can be debugged/post-mortemed. 2. It may make special scheduling and CPU-allocation decisions for domains containign device drivers (eg. minimise wakeup latency when an interrupt is received). 3. Communication between virtual device drivers and physical-device-driver domains will be via shared memory and event channels. These mechanisms need support within Xen, but they are more generally applicable than just device access.> Which network device driver will a guest OS use?Ordinary guests will still use a virtual network driver. However, rather than talking to Xen to send/receive packets, teh driver will have a communications channel to a device-driver domain -- this channel comprises a shared-memory area and an event channel for async notifications. This is the bit that is currently missing -- and the new world isn''t much use without it!> Do all the vnetif rules defined in Domain 0 now get interpreted by > Domain 0 vnet driver? Or still by Xen?The hideous VFR rules mechanism will be going away. Instead, firewall/switching/routing rules will be written to the guest OS that is runnign the physical device driver. If this guest OS is Linux, for example, then you will get access to all the usual Linux mechanisms --- much more fully-featured and robust than what currently exists in Xen.> How do the actual packets (that will be routed to a guest) flow from the > physical NIC - (received by a domain 0 driver, routed/filtered by ???, > passed over a evtchn to a guest driver?)We plan that the guiest OS conatinign the real driver will have a network interface for each guest that is connected via it. It also obviously has an interface for each real physical NIC that it controls. Packets can then be routed between these interfaces just like in a normal software router. We will add whatever fast paths are necessary to avoid packet copying. -- Keir ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
Keir Fraser
2004-Apr-01 14:50 UTC
Re: [Xen-devel] Role of Xen/Xenolinux in New IO networking
> Thanks Keir, > It is much clearer now. Do you plan to drop the code into the unstable > tree a bit-at-a-time or one big change when it is done?A bit at a time, as far as is possible. Maintaining forked trees is too much hassle. Hopefully the two architectures can coexist, with the appropriate one being selected at compile time (eg,. by building Xen with or without ''nodev=y'').> I have enjoyed watching the evolution... > > If I can help in debugging, or testing, I would be glad to volunteer. > > Am I right in saying, that at the moment, I can''t launch a non-0 guest? > (I am using the demo CD for non-0 domains, and have been booting each > from the CD. Domain 0 grants read-access to the physical CD to all the > guests. > > The CD seems to be no longer accessible from a non-0 guest. [might be a > configuration problem, though...]).If you did not build Xen with ''nodev=y'', and you did not specifically build real device drivers into Xenolinux, then everything should work as it always has done. The CD should be accessible from other domains, provided that appropriate VBD parameters are specified when the domain is created.> Is there any other structure I can use today to boot a non-0 guest with > today''s 1.3?You can still build Xen and Xenolinux as you normally would. Out of the box all the new IO world is disabled. You have to explicitly select it at build time by compiling Xen with ''nodev=y make'' and configuring Xenolinux to allow physical device access (it''s a kernel config parameter). Once the new IO stuff is complete, the old architceture will be removed and devices-in-domains will become the default build configuration. -- Keir ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel