[Top][All Lists]
[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
- [Qemu-devel] pcap-based networking?,
Mike Tremoulet <=