[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: Networking patches queue
From: |
Mark McLoughlin |
Subject: |
[Qemu-devel] Re: Networking patches queue |
Date: |
Tue, 09 Jun 2009 22:43:38 +0100 |
Hi Anthony,
On Thu, 2009-05-28 at 16:19 +0100, Mark McLoughlin wrote:
> Recently, Jan has posted 11 networking patches and I've posted 17, so I
> thought I'd push out a tree with these queued up. Perhaps you want to
> pull from there?
>
> Some notes:
>
> - I've taken the first 6 of Jan's patches, but left 7-11 for now; see
> the review comments I just posted. I expect Jan will be able to
> fix them up fairly quickly
>
> - I've tried my best to fix up the param checking saga by reverting
> Kevin's patch, going with Jan's rollback to something closer to
> what was there originally and applying a small fixup patch
>
> - Not all of these patches are completely isolated to networking
> code - e.g. the fork_exec() patch adds a SIGCHLD handler
>
> - I haven't reviewed the slirp changes in great detail, but they
> look okay at a glance
I've re-based the queue and pulled in Alex's rx filtering patches.
I've tested the tree as follows:
- Mostly just with --enable-kvm
- F-11 host and guest
- Basic functional testing (dhcp, ping, ssh, scp) with tap, slirp,
virtio-net and e1000
- Some quick host<->guest netperf benchmarks (results in Mb/s):
| TCP TX | UDP TX | TCP RX | UDP RX
--------------+--------+--------+--------+-------
virtio before | 386 | 1545 | 190 | 410
after | 760 | 1540 | 1100 | 860*
e1000 before | 220 | 155 | 88 | 160
after | 400 | 165 | 1255 | 180*
* - these UDP RX results show the received figures; the sent
figures are much higher since the host is sending so fast
it is overflowing the socket buffers in the guest
- Pushed it through a basic kvm-autotest run, to see if e.g. the
SIGCHLD handler had side-effects not thrown up by networking tests
- Confirmed that invalid parameter and hotplug errors are working as
expected after Jan's changes
- Basic testing of slirp redirs
- Basic testing of promisc, allmuti, mac table filtering etc. - Alex
clearly has tested this in more detail, though
- Attempted to test old->new virtio-net migrations (given the
version_id bumps), but virtio migration is still broken on HEAD
Pull request below.
Cheers,
Mark.
The following changes since commit 98ba2632fc2695838657a972fce69270cb79dc77:
Gerd Hoffmann (1):
qdev: c99 initilaizers for bus_type_names
are available in the git repository at:
git://git.et.redhat.com/qemu-net.git queue
Alex Williamson (7):
virtio-net: Add version_id 7 placeholder for vnet header support
virtio-net: Use a byte to store RX mode flags
virtio-net: reorganize receive_filter()
virtio-net: Fix MAC filter overflow handling
virtio-net: MAC filter optimization
virtio-net: Add new RX filter controls
virtio-net: Increase filter and control limits
Jan Kiszka (6):
net: Don't deliver to disabled interfaces in qemu_sendv_packet
net: Fix and improved ordered packet delivery
slirp: Avoid zombie processes after fork_exec
net: Real fix for check_params users
net: Improve parameter error reporting
slirp: Reorder initialization
Mark McLoughlin (15):
Revert "Fix output of uninitialized strings"
net: fix error reporting for some net parameter checks
net: factor tap_read_packet() out of tap_send()
net: move the tap buffer into TAPState
net: vlan clients with no fd_can_read() can always receive
net: only read from tapfd when we can send
net: add fd_readv() handler to qemu_new_vlan_client() args
net: re-name vc->fd_read() to vc->receive()
net: pass VLANClientState* as first arg to receive handlers
net: add return value to packet receive handler
net: return status from qemu_deliver_packet()
net: split out packet queueing and flushing into separate functions
net: add qemu_send_packet_async()
net: make use of async packet sending API in tap client
virtio-net: implement rx packet queueing
hw/dp8393x.c | 22 +-
hw/e1000.c | 30 ++-
hw/eepro100.c | 23 +-
hw/etraxfs_eth.c | 14 +-
hw/mcf_fec.c | 11 +-
hw/mipsnet.c | 16 +-
hw/musicpal.c | 11 +-
hw/ne2000.c | 25 +-
hw/pci-hotplug.c | 7 +-
hw/pcnet.c | 17 +-
hw/qdev.c | 9 +-
hw/rtl8139.c | 39 ++--
hw/smc91c111.c | 18 +-
hw/stellaris_enet.c | 20 +-
hw/usb-net.c | 18 +-
hw/virtio-net.c | 154 +++++++++---
hw/virtio-net.h | 14 +-
hw/xen_nic.c | 26 +-
net.c | 708 ++++++++++++++++++++++++++++++++++-----------------
net.h | 31 ++-
savevm.c | 2 +-
slirp/libslirp.h | 2 +-
slirp/slirp.c | 2 +-
sysemu.h | 3 +-
tap-win32.c | 8 +-
vl.c | 57 ++--
26 files changed, 834 insertions(+), 453 deletions(-)
- [Qemu-devel] Re: Networking patches queue,
Mark McLoughlin <=