From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MEZ4V-000656-Uv for qemu-devel@nongnu.org; Wed, 10 Jun 2009 21:27:16 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MEZ4Q-0005zO-V6 for qemu-devel@nongnu.org; Wed, 10 Jun 2009 21:27:15 -0400 Received: from [199.232.76.173] (port=52219 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MEZ4Q-0005zH-P1 for qemu-devel@nongnu.org; Wed, 10 Jun 2009 21:27:10 -0400 Received: from qw-out-1920.google.com ([74.125.92.145]:46585) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MEZ4Q-0000e8-FU for qemu-devel@nongnu.org; Wed, 10 Jun 2009 21:27:10 -0400 Received: by qw-out-1920.google.com with SMTP id 4so669121qwk.4 for ; Wed, 10 Jun 2009 18:27:09 -0700 (PDT) Message-ID: <4A305D6B.3070905@codemonkey.ws> Date: Wed, 10 Jun 2009 20:27:07 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: Networking patches queue References: <1243523971.4046.206.camel@blaa> <1244583818.7164.19.camel@blaa> In-Reply-To: <1244583818.7164.19.camel@blaa> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark McLoughlin Cc: Jan Kiszka , Anthony Liguori , qemu-devel , Alex Williamson 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. Regards, Anthony Liguori