qemu-devel
[Top][All Lists]
Advanced

[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(-)





reply via email to

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