From: "Xiaofang Chen" <xiachen@cs.utah.edu>
To: Mark Williamson <Mark.Williamson@cl.cam.ac.uk>,
Xen-devel@lists.sourceforge.net
Subject: Re: Network questions
Date: Tue, 29 Jun 2004 22:46:35 -0600 [thread overview]
Message-ID: <00a501c45e5d$397eb070$7eb6639b@XFCHEN> (raw)
In-Reply-To: E1BfNK2-00079x-00@mta1.cl.cam.ac.uk
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
next prev parent reply other threads:[~2004-06-30 4:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-29 3:50 Network questions Xiaofang Chen
2004-06-29 18:27 ` Mark Williamson
2004-06-30 4:46 ` Xiaofang Chen [this message]
2004-06-30 5:30 ` Ian Pratt
2004-06-30 14:08 ` Mark Williamson
2004-06-29 21:47 ` Xiaofang Chen
-- strict thread matches above, loose matches on Subject: below --
2004-06-29 13:13 Xiaofang Chen
2004-05-31 19:47 Xiaofang Chen
2004-05-31 21:52 ` Ian Pratt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='00a501c45e5d$397eb070$7eb6639b@XFCHEN' \
--to=xiachen@cs.utah.edu \
--cc=Mark.Williamson@cl.cam.ac.uk \
--cc=Xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.