WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] libxl: use preferred syntax for network device c

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] libxl: use preferred syntax for network device creation with upstream qemu
From: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu, 26 May 2011 10:22:10 +0200
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 26 May 2011 01:23:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1306396830.775.13.camel@xxxxxxxxxxxxxxxxxxxxxx> (Ian Campbell's message of "Thu, 26 May 2011 09:00:30 +0100")
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <6b1fe0cba8a2f0bcc127.1306311646@xxxxxxxxxxxxxxxxxxxxxxxxx> <m38vtun7wh.fsf@xxxxxxxxxxxxxxxxxxxxx> <1306396830.775.13.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> writes:

> On Wed, 2011-05-25 at 15:59 +0100, Markus Armbruster wrote:
>> Ian Campbell <ian.campbell@xxxxxxxxxx> writes:
>> 
>> > # HG changeset patch
>> > # User Ian Campbell <ian.campbell@xxxxxxxxxx>
>> > # Date 1306311631 -3600
>> > # Node ID 6b1fe0cba8a2f0bcc1274c8e777da5b6c198b45d
>> > # Parent  8258c5a0ba35de937597e2c516bc88f8ebe1be35
>> > libxl: use preferred syntax for network device creation with upstream qemu
>> >
>> > Markus Armbruster points out in <m3r582pzc1.fsf@xxxxxxxxxxxxxxxxxxxxx>
>> > on qemu-devel that this is the prefered syntax going forward. Using it 
>> > avoid
>> > needlessly instantiating a qemu "vlan" and instead creates a simply host 
>> > end
>> > point and device.
>> >
>> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
>> > Cc: Markus Armbruster <armbru@xxxxxxxxxx>
>> 
>> I figure this is a good idea.
>
> Thanks for confirming.
>
>> Important optimizations like GSO or vhost-net aren't feasible with
>> -net's VLANs (no relation to IEEE 802.1Q) .  That's why -netdev got
>> added[*].  VLANs are still around for backward compatibility.  I hope we
>> can get rid of them eventually.
>> 
>> > diff -r 8258c5a0ba35 -r 6b1fe0cba8a2 tools/libxl/libxl_dm.c
>> > --- a/tools/libxl/libxl_dm.c       Tue May 24 16:28:07 2011 +0100
>> > +++ b/tools/libxl/libxl_dm.c       Wed May 25 09:20:31 2011 +0100
>> > @@ -336,11 +336,11 @@ static char ** libxl__build_device_model
>> >                  } else {
>> >                      ifname = vifs[i].ifname;
>> >                  }
>> > -                flexarray_append(dm_args, "-net");
>> > -                flexarray_append(dm_args, libxl__sprintf(gc, 
>> > "nic,vlan=%d,macaddr=%s,model=%s",
>> > -                            vifs[i].devid, smac, vifs[i].model));
>> > -                flexarray_append(dm_args, "-net");
>> > -                flexarray_append(dm_args, libxl__sprintf(gc, 
>> > "tap,vlan=%d,ifname=%s,script=%s",
>> > +                flexarray_append(dm_args, "-device");
>> > +                flexarray_append(dm_args, libxl__sprintf(gc, 
>> > "%s,netdev=net%d,mac=%s",
>> > +                                                         vifs[i].model, 
>> > vifs[i].devid, smac));
>> 
>> You can name the device with "id=WHATEVER".  IDs are handy when you need
>> to refer to a device, e.g. for hot-unplug with device_del.
>
> Sure, I just couldn't think of a better name than net<n>.

Sorry, I wasn't writing clearly, let me retry.  You're naming the host
part of the NIC, created with -netdev.  You can also name the guest
part, created with -device.

>> > +                flexarray_append(dm_args, "-netdev");
>> > +                flexarray_append(dm_args, libxl__sprintf(gc, 
>> > "type=tap,id=net%d,ifname=%s,script=%s",
>> >                              vifs[i].devid, ifname, 
>> > libxl_tapif_script(gc)));
>> >                  ioemu_vifs++;
>> >              }
>> >
>> 
>> More info on conversion to -device syntax in docs/qdev-device-use.txt.
>> It's a bit stale, patch for updating it is on qemu-devel.
>
> Thanks for the reference. Looks like I need to consider a similar update
> for disk devices too.

There is no urgent need to convert, as the old syntax still works.
There are no plans to retire the old syntax.  However, the new syntax
gives you more control.  It's a bit more verbose in places, but
non-human users tend not to mind that.

>> [*] http://lists.gnu.org/archive/html/qemu-devel/2009-10/msg00858.html

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel