From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mvzc1-0004mq-SF for qemu-devel@nongnu.org; Thu, 08 Oct 2009 16:29:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mvzbx-0004ha-0S for qemu-devel@nongnu.org; Thu, 08 Oct 2009 16:29:20 -0400 Received: from [199.232.76.173] (port=43123 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mvzbw-0004hP-FW for qemu-devel@nongnu.org; Thu, 08 Oct 2009 16:29:16 -0400 Received: from moutng.kundenserver.de ([212.227.126.188]:64885) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mvzbv-0000hr-TL for qemu-devel@nongnu.org; Thu, 08 Oct 2009 16:29:16 -0400 Message-ID: <4ACE4B99.2010606@mail.berlios.de> Date: Thu, 08 Oct 2009 22:29:13 +0200 From: Stefan Weil MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 00/16] Add a -netdev option References: <1255028312-28180-1-git-send-email-markmc@redhat.com> In-Reply-To: <1255028312-28180-1-git-send-email-markmc@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark McLoughlin Cc: qemu-devel@nongnu.org Mark McLoughlin schrieb: > Hi, > Here's a series of patches which gets the ball rolling on adding > a -netdev option. > > The idea is to de-emphasise the vlan support, and instead make > a nic directly connected to a host backend the default and recommended > configuration. We want this because it is only with this configuration > that we feasibly add optimizations like GSO support or vhost-net. > > Where we're going is that rather '-net user -net nic' being the > default, it would instead be: > > -netdev user,id=default_slirp -device e1000,netdev=default_slirp > > This patch series has a lot of this done, but there's still a > significant TODO list including: > > * qdev-ify the NICs so that we can use -device rather than '-net nic' > which Gerd has started looking at > > * add hotplug equivalent to netdev - we should probably add a 'nic=' > argument to -netdev for this to allow changing the backend without > changing the frontend > > * 'info network' should list netdevs > > * merging in GSO support from qemu-kvm.git, substantially cleaned up > > * VLAN support should be implemented as just another network client, > but one which is connected to multiple backends and frontends > > * re-naming e.g. VLANClientState to NetClient > > * killing off NICInfo > > * ... > > I've given this series significant testing including building > with all targets (really!), mingw, --disable-slirp, --enable-vde, > without TUNSETSNDBUF and running with various nic models, backends, > with both -net and -netdev, some different guests, hotplug, ... No > doubt I've still managed to screw something up. > > Cheers, > Mark. Hi Mark, today, qemu's ethernet devices are a fixed combination of MAC (Media Access Controller) and PHY (Physical Layer). Real hardware is different: the controllers provide a MAC, and many provide a PHY, too, but all controllers allow one or even several external PHY(s). Most (or all?) controllers use the same standard interface to address their PHY (internal or external), something which is completely missing today in qemu. A better solution would use separate code for MAC and PHY, so the controllers could share common code for the PHY. Configuration of a different PHY should be possible, so users can run a system emulation of different MAC-PHY combinations. In addition to the PHY type, a PHY needs attributes (link speed and link status). Maybe you can address these requirements in your redesign. Regards, Stefan