qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Weil <weil@mail.berlios.de>
To: Mark McLoughlin <markmc@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 00/16] Add a -netdev option
Date: Thu, 08 Oct 2009 22:29:13 +0200	[thread overview]
Message-ID: <4ACE4B99.2010606@mail.berlios.de> (raw)
In-Reply-To: <1255028312-28180-1-git-send-email-markmc@redhat.com>

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

  parent reply	other threads:[~2009-10-08 20:29 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-08 18:58 [Qemu-devel] [PATCH 00/16] Add a -netdev option Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 01/16] slirp: fix !CONFIG_SLIRP compilation Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 02/16] hotplug: safely iterate bus's sibling list while removing a device Mark McLoughlin
2009-10-12 13:16   ` [Qemu-devel] " Gerd Hoffmann
2009-10-12 13:22     ` Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 03/16] net: pass monitor handle to client init functions Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 04/16] net: remove unused qemu_handler_true() Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 05/16] net: handle id= parameter for -net Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 06/16] net: remove id field from NICInfo Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 07/16] net: use qtailq for vlan and client lists Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 08/16] net: allow clients not associated with a vlan Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 09/16] net: add QemuOptsList arg to net_client_parse() Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 10/16] net: add -netdev option Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 11/16] net: handle -netdevice options Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 12/16] net: maintain a list of vlan-less clients Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 13/16] net: add -net nic,netdev= option Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 14/16] net: allow NICs to be connected to netdevs Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 15/16] net: refactor packet queueing code Mark McLoughlin
2009-10-08 18:58 ` [Qemu-devel] [PATCH 16/16] net: add queue for peer-to-peer packet forwarding Mark McLoughlin
2009-10-08 20:29 ` Stefan Weil [this message]
2009-10-08 21:37   ` [Qemu-devel] [PATCH 00/16] Add a -netdev option Anthony Liguori
2009-10-09  6:23     ` Edgar E. Iglesias
2009-10-09 17:33       ` Stefan Weil
2009-10-09  7:09   ` Mark McLoughlin
2009-10-09  8:41     ` Edgar E. Iglesias
2009-10-09 15:26 ` Anthony Liguori
2009-10-10 19:26   ` Michael S. Tsirkin
2009-11-10 15:44 ` Paul Brook
2009-11-10 15:45   ` Mark McLoughlin

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=4ACE4B99.2010606@mail.berlios.de \
    --to=weil@mail.berlios.de \
    --cc=markmc@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).