qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] pcap-based networking?


From: Mike Tremoulet
Subject: [Qemu-devel] pcap-based networking?
Date: Thu, 26 Aug 2004 11:42:45 -0500

All --

Apologies if this design decision has been worked before.  I've
successfully run various *nixes on my Win2K host, and while the slirp
solution usually works, I was thinking of ways to make it more
flexible.

I haven't finished identifying parts of the source code yet (my C
skills aren't that sharp), but from what I can tell, the tun/tap
interface uses file read/write operations to work on Unix, and the
slirp module does its thing somewhere as well, and the choice is made
by compile options and command-line switches.

My question is:  Is there a reason to use (or not to use) a
libpcap/libnet solution for networking?  At a high level, I think of
it as a queue of incoming packets and a queue of outgoing packets
(from the standpoint of the guest).  Outgoing packets from the guest
would be held in a queue and written onto the network via libnet, and
incoming packets would get captured by libpcap and written to the
virtual device.

The advantages for me would be:
- I can bind this networking to the device of my explicit choosing at
runtime.  So, I could install a tap device on my host and have qemu
always use that device, or I could bind it to a second NIC on the
host.
- More importantly, this can be somewhat platform independant. 
Libpcap exists in a very similar, if not identical, API in the form of
winpcap.  I know there is an equivalent way to write packets to the
network, but I forget the name right now.

What would the potential performance impacts be?  Is this something
that I/we should pursue?  Other thoughts?

-- Mike




reply via email to

[Prev in Thread] Current Thread [Next in Thread]