public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	kvm@vger.kernel.org, jan.kiszka@siemens.com,
	qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>,
	zwu.kernel@gmail.com, wuzhy@linux.vnet.ibm.com,
	pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 00/16] net: hub-based networking
Date: Fri, 25 May 2012 14:30:11 +0200	[thread overview]
Message-ID: <m3ipfke94c.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <CAJSP0QW=fkLFaH7PdwOPqwykykE_wf_Wq7w9b+32+-K3sjnk=w@mail.gmail.com> (Stefan Hajnoczi's message of "Fri, 25 May 2012 13:01:37 +0100")

Stefan Hajnoczi <stefanha@gmail.com> writes:

> On Fri, May 25, 2012 at 12:18 PM, Markus Armbruster <armbru@redhat.com> wrote:
>> Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> writes:
>>
>>> On Thu, May 24, 2012 at 05:53:21PM -0300, Luiz Capitulino wrote:
>>>> On Fri, 25 May 2012 01:59:06 +0800
>>>> zwu.kernel@gmail.com wrote:
>>>>
>>>> > From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
>>>> >
>>>> > The patchset implements network hub stead of vlan. The main work was done by stefan, and i rebased it to latest QEMU upstream, did some testings and am responsible for pushing it to QEMU upstream.
>>>>
>>>> Honest question: does it really pay off to have this in qemu vs. using one of
>>>> the externaly available solutions?
>>>
>>> For typical KVM setups this feature will be unused.
>>>
>>> However, the legacy QEMU "vlan" feature does have a few uses:
>>>
>>> 1. It's how the "dump" netdev can be connected up with a guest NIC and
>>>    host netdev.  Create a hub, attach the guest NIC, attach the host
>>>    netdev, and attach the dump netdev.  This allows the dump netdev to
>>>    see all traffic.
>>>
>>> 2. It lets you build virtual network segments.  Several point-to-point
>>>    connections can be brought together.  Start 3 VMs connected by the
>>>    "socket" netdev and have one of them use a hub.  This may be
>>>    inefficient but I wouldn't be surprised if there are people out there
>>>    doing this.
>>
>> Those people will find other, superior ways to do this once this
>> inefficient way is gone.  We'd do them a favour, I'd say ;)
>>
>>> The point of this patch series is to remove the special-case net.c code
>>> for the legacy "vlan" feature.  Today's code makes it harder to
>>> implement a clean QOM model and is a burden for the net subsystem in
>>> general.  This series takes the vlan functionality and puts it into a
>>> normal netdev - it extracts the feature from net.c.
>>
>> Welcome improvement, but...
>>
>>> (If we didn't care about backwards compatibility we could just drop
>>> vlans completely and rewrite the "dump" netdev to hook into the net.h
>>> API somehow.)
>>
>> ... is backward compatiblity really worth the extra net client?
>>
>> Please excuse my ignorant question (I haven't studied the series): what
>> kind of backward compatiblity exactly do we get here?  Command line:
>> -net option vlan still works?  Or just semantic: whatever you could do
>> with vlans you can now do with hubs?
>>
>> In case it's the latter: well, whatever you could do with vlans you can
>> already do with external software, can't you?  Why is it worthwhile to
>> provide yet another way within QEMU?
>
> The aim is to keep the command-line vlan= syntax in tact.  The hub
> change is mostly internal.

So it's an extra net client plus somewhat baroque magic to select this
client when needed.  And when the magic activates, performance suffers.
The initiated will expect that, but it'll likely baffle mere users.

We can document the issue, but mere users generally don't read
documentation.

> I agree it would be nice to drop entirely but I don't feel happy doing
> that to users who might have QEMU buried in scripts somewhere.  One
> day they upgrade packages and suddenly their stuff doesn't work
> anymore.

The keywords is "might".  Before we bend over backwards, I'd prefer to
see some evidence of anyone actually profiting from it.

Anyway, maintainer judgement call.

  reply	other threads:[~2012-05-25 12:30 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-24 17:59 [PATCH v3 00/16] net: hub-based networking zwu.kernel
2012-05-24 17:59 ` [PATCH v3 01/16] net: Add a hub net client zwu.kernel
2012-05-24 17:59 ` [PATCH v3 02/16] net: Use hubs for the vlan feature zwu.kernel
2012-05-24 17:59 ` [PATCH v3 03/16] net: Look up 'vlan' net clients using hubs zwu.kernel
2012-05-24 17:59 ` [PATCH v3 04/16] hub: Check that hubs are configured correctly zwu.kernel
2012-05-24 17:59 ` [PATCH v3 05/16] net: Drop vlan argument to qemu_new_net_client() zwu.kernel
2012-05-24 17:59 ` [PATCH v3 06/16] net: Remove vlan qdev property zwu.kernel
2012-05-24 17:59 ` [PATCH v3 07/16] net: Remove vlan code from net.c zwu.kernel
2012-05-24 17:59 ` [PATCH v3 08/16] net: Remove VLANState zwu.kernel
2012-05-24 17:59 ` [PATCH v3 09/16] net: Rename non_vlan_clients to net_clients zwu.kernel
2012-05-24 17:59 ` [PATCH v3 10/16] net: Rename VLANClientState to NetClientState zwu.kernel
2012-05-24 17:59 ` [PATCH v3 11/16] net: Rename vc local variables to nc zwu.kernel
2012-05-24 17:59 ` [PATCH v3 12/16] net: Rename qemu_del_vlan_client() to qemu_del_net_client() zwu.kernel
2012-05-24 17:59 ` [PATCH v3 13/16] net: Make the monitor output more reasonable hub info zwu.kernel
2012-05-24 20:34   ` Jan Kiszka
2012-05-25  0:48     ` Zhi Yong Wu
2012-05-25 12:00     ` Zhi Yong Wu
2012-05-25 13:49       ` Jan Kiszka
2012-05-25 13:58         ` Zhi Yong Wu
2012-05-24 17:59 ` [PATCH v3 14/16] net: cleanup deliver/deliver_iov func pointers zwu.kernel
2012-05-24 17:59 ` [PATCH v3 15/16] net: determine if packets can be sent before net queue deliver packets zwu.kernel
2012-05-24 17:59 ` [PATCH v3 16/16] hub: add the support for hub own flow control zwu.kernel
2012-05-25  7:04   ` Paolo Bonzini
2012-05-25  7:48     ` Zhi Yong Wu
2012-05-25 10:08       ` Paolo Bonzini
2012-05-25 10:54         ` Zhi Yong Wu
2012-05-25  8:04     ` Zhi Yong Wu
2012-05-25  8:18     ` Zhi Yong Wu
2012-05-24 20:53 ` [Qemu-devel] [PATCH v3 00/16] net: hub-based networking Luiz Capitulino
2012-05-25  0:47   ` Zhi Yong Wu
2012-05-25 12:49     ` [Qemu-devel] " Luiz Capitulino
2012-05-25 10:07   ` Stefan Hajnoczi
2012-05-25 11:18     ` Markus Armbruster
2012-05-25 12:01       ` [Qemu-devel] " Stefan Hajnoczi
2012-05-25 12:30         ` Markus Armbruster [this message]
2012-05-25 12:53         ` Luiz Capitulino
2012-05-25 12:59           ` Paolo Bonzini
2012-05-25 13:07             ` Luiz Capitulino
2012-05-25 13:14               ` [Qemu-devel] " Paolo Bonzini
2012-05-25 13:18                 ` Luiz Capitulino
2012-05-25 13:19                   ` Paolo Bonzini
2012-05-25 13:30                     ` Luiz Capitulino
2012-05-25 13:37                       ` Paolo Bonzini
2012-05-25 13:43                         ` Luiz Capitulino
2012-05-25 13:47                           ` Paolo Bonzini
2012-05-25 13:56                             ` [Qemu-devel] " Luiz Capitulino
2012-05-28 11:17                               ` Stefan Hajnoczi
2012-05-28 13:25                                 ` Luiz Capitulino
2012-05-29  8:14                                   ` Markus Armbruster
2012-06-04  4:48                                     ` Anthony Liguori
2012-06-04  7:24                                       ` Markus Armbruster
2012-06-04  4:56           ` Anthony Liguori
2012-06-04 13:09             ` [Qemu-devel] " Luiz Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3ipfke94c.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@linux.vnet.ibm.com \
    --cc=wuzhy@linux.vnet.ibm.com \
    --cc=zwu.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox