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>.
> > + 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.
>
> [*] 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
|