Dear Xen mail-list members! I would like to get some information about the communication of the guest domains and the dom0. I found some old info (at the time of Xen v3.0), but I’m not sure that they are still correct? a.) How can I catch the event, when the domain0 forward a message to the guest domains? As far as I know this can reachable form the netback (netback.c) driver of the domain0. Is the event can be catchable/observable at the net_rx_action(). b.) How can I catch the event of an incoming messages to domain0 (from the outer world)? As I saw this can be observable form the send_quest_virq() of the event_channel.c. I saw a solution when the implementation filtered for the port 12 (when port==12). What does it mean when the port == 12 ? c.) How can I catch the event of the outgoing messages from a guest domain? As far as I know this information can be reachable from the network_start_xmit() function of the netfront.c (netrfont driver of the guest OS). So I like to ask that this bench of information are still valid in the actual version(v4.1.2) ? Thank you Csaba
> a.) How can I catch the event, when the domain0 forward a message to the guest domains? > b.) How can I catch the event of an incoming messages to domain0 (from the outer world)? > c.) How can I catch the event of the outgoing messages from a guest domain?Seems like you are only interested in network traffic (not general communication). The methods you are looking at for intercepting network traffic are doable but hard and error prone. How are you connecting your domUs to the network? For example, if you are using layer-2 bridge then it is the best place to intercept network traffic and you can catch packets incoming from Internet and also packets coming from (or going to) domUs. Shakeel
> Date: Sun, 29 Jul 2012 23:46:43 -0400 > Subject: Re: [Xen-devel] domain communication info > From: shakeel.butt@gmail.com > To: csocskos@hotmail.com > CC: xen-devel@lists.xen.org > > > a.) How can I catch the event, when the domain0 forward a message to the guest domains? > > b.) How can I catch the event of an incoming messages to domain0 (from the outer world)? > > c.) How can I catch the event of the outgoing messages from a guest domain? > > Seems like you are only interested in network traffic (not general > communication). The methods you are looking at for intercepting > network traffic are doable but hard and error prone. How are you > connecting your domUs to the network? For example, if you are using > layer-2 bridge then it is the best place to intercept network traffic > and you can catch packets incoming from Internet and also packets > coming from (or going to) domUs. > > ShakeelThank you for the answer Shakeel! I use a default network bridge. I just briefly looked the source code of the Xen, but I couldn''t find the source of the bridge in there. But I will keep looking for it. Csaba
On Mon, 2012-07-30 at 12:25 +0100, Kerti Csaba wrote:> > Date: Sun, 29 Jul 2012 23:46:43 -0400 > > Subject: Re: [Xen-devel] domain communication info > > From: shakeel.butt@gmail.com > > To: csocskos@hotmail.com > > CC: xen-devel@lists.xen.org > > > > > a.) How can I catch the event, when the domain0 forward a message to the guest domains? > > > b.) How can I catch the event of an incoming messages to domain0 (from the outer world)? > > > c.) How can I catch the event of the outgoing messages from a guest domain? > > > > Seems like you are only interested in network traffic (not general > > communication). The methods you are looking at for intercepting > > network traffic are doable but hard and error prone. How are you > > connecting your domUs to the network? For example, if you are using > > layer-2 bridge then it is the best place to intercept network traffic > > and you can catch packets incoming from Internet and also packets > > coming from (or going to) domUs. > > > > Shakeel > > Thank you for the answer Shakeel! > > I use a default network bridge. > I just briefly looked the source code of the Xen, but I couldn''t find the source of the bridge in there. > But I will keep looking for it.The bridge is part of the domain 0 kernel, not the hypervisor. You probably want to look at the Linux bridging driver, although you might also want to look at openvswitch. Ian.