qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: Networking patches queue


From: Mark McLoughlin
Subject: Re: [Qemu-devel] Re: Networking patches queue
Date: Thu, 11 Jun 2009 09:34:33 +0100

On Wed, 2009-06-10 at 20:27 -0500, Anthony Liguori wrote:
> Mark McLoughlin wrote:
> > 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
> >   
> 
> This broke the build with vde enabled.  Because of this line:
> 
> +static ssize_t vde_receive(VLANClientState *vc, const uint8_t *buf, 
> size_t size)
>  {
>      VDEState *s = vc->opaque;
> -    int ret;
> -    for(;;) {
> -        ret = vde_send(s->vde, (const char *)buf, size, 0);
> -        if (ret < 0 && errno == EINTR) {
> -        } else {
> -            break;
> -        }
> -    }
> +    ssize ret;
> 
> Obvious typo.  I've pushed a fix.

Gah, my apologies - I'll make sure to build with vde in future.

Thanks,
Mark.





reply via email to

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