[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Network questions

Thanks a lot for the explainations!
The idea seems clear to me now.

I guess the code I was reading was a "middle" version between the ealy
unstable and latest unstable.
I got such a version by using "bk pull" based on the early unstable version,
so that the code included both VIRQ_NET and "backend".

For the latest unstable version, I am still not clear on how the "backend"
controls the physical network device.
For example, if I use a 3Com 3c59x.c driver, when packets come,  after
'vortex_rx()' is called, '/net/core/dev.c: netif_rx()' will be called.
Along this way up, it seems that no functions in "backend" will be called.

Also in /arch/xen/drivers/netif/backend/control.c: netif_ctrlif_init(),
is put into ctrl_if tx_ring, seems no corresponding handlers are called
because of id=0xFF. Confused here.

Am I missing something?


> Are you using Xen 1.2 or unstable?  There have been big changes to
> in the unstable tree.  In my previous e-mail I was describing the current
> state of the unstable tree.
> The old IO world: (as used by Xen 1.2 and as described in the SOSP paper)
> * Device drivers for physical network devices are in Xen.
> * All domains (including 0) use a "virtual" network driver, which talks to
> Xen.  Xen then routes packets between domains or out onto the physical
> * VIRQ_NET is the IRQ associated with a virtual network device.  Xen uses
> to signal a domain when it has been sent data by another domain or from
> physical network.
> * There's no "backend", just Xen.
> The new IO world: (as used by the Unstable tree and the forthcoming 2.0
> release)
> * Xen does not contain device drivers anymore.
> * Instead, the device drivers for physical devices run in domains.
> all the drivers for your hardware run in dom0.
> * A domain that's controlling physical devices can export virtual devices
> other domains.  The driver which exports a device to other domains is
> the "backend".
> * The driver which imports a virtual device from the backend is called the
> "frontend".  This driver runs in unprivileged domains to give them their
> virtual devices.  It's a lot like the old (1.2) virtual network interface
> driver except that it talks to another domain instead of to Xen.
> * VIRQ_NET does not exist anymore.  Instead, the backend driver (in the
> that controls the hardware) can send an interrupt to the frontend driver
> the domain using the virtual devices) using the event channel mechanism I
> described in my last e-mail.
> Does that make sense?
> Mark

This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.