Stefan Hajnoczi <stefa...@redhat.com> writes:

> On Thu, Feb 21, 2013 at 03:17:51PM +0100, Markus Armbruster wrote:
>> Stefan Hajnoczi <stefa...@redhat.com> writes:
>> 
>> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
>> > ---
>> >  qemu-options.hx | 11 ++++++++++-
>> >  1 file changed, 10 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/qemu-options.hx b/qemu-options.hx
>> > index 4bc9c85..cd18ad1 100644
>> > --- a/qemu-options.hx
>> > +++ b/qemu-options.hx
>> > @@ -1404,7 +1404,8 @@ DEF("netdev", HAS_ARG, QEMU_OPTION_netdev,
>> >  #ifdef CONFIG_VDE
>> >      "vde|"
>> >  #endif
>> > -    "socket],id=str[,option][,option][,...]\n", QEMU_ARCH_ALL)
>> > +    "socket|"
>> > +    "hubport],id=str[,option][,option][,...]\n", QEMU_ARCH_ALL)
>> >  STEXI
>> >  @item -net nic[,vlan=@var{n}][,macaddr=@var{mac}][,model=@var{type}] 
>> > [,name=@var{name}][,addr=@var{addr}][,vectors=@var{v}]
>> >  @findex -net
>> > @@ -1726,6 +1727,14 @@ vde_switch -F -sock /tmp/myswitch
>> >  qemu-system-i386 linux.img -net nic -net vde,sock=/tmp/myswitch
>> >  @end example
>> >  
>> > +@item -netdev hubport,id=@var{id},hubid=@var{hubid}
>> > +
>> > +Create a hub port on QEMU "vlan" @var{hubid}.  This syntax is an 
>> > alternative to
>> > +the @code{-net @option{vlan}} argument and can be used to connect a NIC
>> > +specified with @code{-device ...,netdev=@var{id}} to a QEMU "vlan".
>> 
>> A simpler way to use a "vlan" with -device is "-device e1000,vlan=0".
>> How is that related to hubport?
>
> That is yet another shortcut syntax.  It does the same thing as -netdev
> hubport,id=tmphubport0,hubid=0 -device e1000,netdev=tmphubport0.

Perhaps documentation should point to the shorthand syntax.  Let me try:

    Create a hub port on QEMU "vlan" @var{hubid}.

    The hubport netdev lets you connect a NIC to a QEMU "vlan" instead
    of a single netdev.  @code{-net} and @code{-device} with parameter
    @option{vlan} create the required hub automatically.

>> > +
>> > +Note that only NICs can be connected to a hubport, other -netdevs cannot.
>> > +
>> 
>> Well, netdevs can't be connected to a netdev in general, and hubport is
>> one.  You can connect up to one device model to a netdev.  I figure you
>> can additionally connect any number of old-style -net thingies to it,
>> whether they are NICs or not.  Correct?
>
> net.c doesn't stop NetClients from connecting to each other.  It's just
> our -netdev option parsing code which doesn't allow -netdevs to connect
> with each other.
>
> -net instances can only connect to hub ports.

I find the note confusing.  "Only NICs" suggests only NICs can connect,
which isn't true; one NIC and any number of "vlan" clients (defined with
-net) can connect.  The fact that the code would happily connect
arbitrary netdevs is of no interest to the user.  Drop the note?

[...]

Reply via email to