[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(), after the cmsg(CMSG_NETIF_BE_DRIVER_STATUS_CHANGED + NETIF_DRIVER_STATUS_UP) is put into ctrl_if tx_ring, seems no corresponding handlers are called because of id=0xFF. Confused here. Am I missing something? Thanks. Xiaofang > Are you using Xen 1.2 or unstable? There have been big changes to networking > 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 network. > * VIRQ_NET is the IRQ associated with a virtual network device. Xen uses it > to signal a domain when it has been sent data by another domain or from the > 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. Usually, > all the drivers for your hardware run in dom0. > * A domain that's controlling physical devices can export virtual devices to > other domains. The driver which exports a device to other domains is called > 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 domain > that controls the hardware) can send an interrupt to the frontend driver (in > 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 Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |