From: Mark McLoughlin <markmc@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 6/7] net: Add support for capturing VLANs
Date: Wed, 15 Apr 2009 18:13:16 +0100 [thread overview]
Message-ID: <1239815596.4431.157.camel@blaa> (raw)
In-Reply-To: <49E5EA9F.2090206@siemens.com>
On Wed, 2009-04-15 at 16:09 +0200, Jan Kiszka wrote:
> >> Besides rebasing and some minor cleanups, the major differences to the
> >> original version are:
> >> - support for enabling/disabling via the monitor (host_net_add/remove)
> >> - always register dump client at the head of a VLAN queue
> >> (instead of special handling for slirp)
> >
> > Could you explain why you need this?
> >
> > I'd prefer if we didn't have to add qemu_new_vlan_head_client()
>
> Packet ordering: If you are sniffing from behind a vlan client in the
> queue, you may see its immediate reply to a certain packet before the
> triggering packet. Tristan solved this by pushing slirp (the only source
> for reordering so far) at the end of the queue, but I think it's rather
> the sniffer which has special requirements, so I pushed that one to the top.
Uggh, nasty ... slirp strikes again :-)
If we need to make the sniffer a special case, I'd suggest really making
it a special case by doing e.g.
static void dump_packet(Dumper *d, const uint8_t *buf, int size)
{
/* write packet to pcap file */
}
void qemu_send_packet(...)
{
if (vlan->dumper)
dump_packet(d, buf, size);
/* dispatch packets to vlan clients */
}
I think making it explicit is better than munging the vlan abstraction
any further.
Alternatively, we could fix slirp to push packets to a queue and flush
that queue in a bottom half.
Cheers,
Mark.
next prev parent reply other threads:[~2009-04-15 17:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-14 17:29 [Qemu-devel] [PATCH 0/7] Various small networking improvements Jan Kiszka
2009-04-14 17:29 ` [Qemu-devel] [PATCH 3/7] net: Check device passed to host_net_remove Jan Kiszka
2009-04-15 13:09 ` Mark McLoughlin
2009-04-15 14:04 ` [Qemu-devel] " Jan Kiszka
2009-04-14 17:29 ` [Qemu-devel] [PATCH 2/7] net: Add VLAN client cleanup handler Jan Kiszka
2009-04-15 13:09 ` Mark McLoughlin
2009-04-15 13:40 ` Mark McLoughlin
2009-04-15 14:13 ` [Qemu-devel] " Jan Kiszka
2009-04-15 17:15 ` Mark McLoughlin
2009-04-15 14:04 ` Jan Kiszka
2009-04-15 17:00 ` Mark McLoughlin
2009-04-15 17:03 ` Jan Kiszka
2009-04-14 17:29 ` [Qemu-devel] [PATCH 1/7] net: Fix -net socket,listen Jan Kiszka
2009-04-15 13:09 ` Mark McLoughlin
2009-04-14 17:29 ` [Qemu-devel] [PATCH 4/7] net: Prevent multiple slirp instances Jan Kiszka
2009-04-15 13:09 ` Mark McLoughlin
2009-04-14 17:29 ` [Qemu-devel] [PATCH 6/7] net: Add support for capturing VLANs Jan Kiszka
2009-04-15 13:10 ` Mark McLoughlin
2009-04-15 14:09 ` [Qemu-devel] " Jan Kiszka
2009-04-15 17:13 ` Mark McLoughlin [this message]
2009-04-15 17:16 ` Jan Kiszka
2009-04-14 17:29 ` [Qemu-devel] [PATCH 5/7] monitor: Improve host_net_add Jan Kiszka
2009-04-15 13:09 ` Mark McLoughlin
2009-04-14 17:29 ` [Qemu-devel] [PATCH 7/7] slirp: Handle DHCP requests for specific IP Jan Kiszka
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=1239815596.4431.157.camel@blaa \
--to=markmc@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=qemu-devel@nongnu.org \
/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.