libxl: use preferred syntax for network device creation with upstream qemu
authorIan Campbell <ian.campbell@citrix.com>
Thu, 26 May 2011 16:16:47 +0000 (17:16 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 26 May 2011 16:16:47 +0000 (17:16 +0100)
Markus Armbruster points out in <m3r582pzc1.fsf@blackfin.pond.sub.org>
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@citrix.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/libxl_dm.c

index a47dd532f36fefc3aa134ed3d9d412e1d348aaf3..5e80bc865e93136748b57f267b72c3f511238384 100644 (file)
@@ -373,12 +373,16 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
                 } 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",
-                            vifs[i].devid, ifname, libxl_tapif_script(gc)));
+                flexarray_append(dm_args, "-device");
+                flexarray_append(dm_args,
+                   libxl__sprintf(gc, "%s,id=nic%d,netdev=net%d,mac=%s",
+                                                vifs[i].model, vifs[i].devid,
+                                                vifs[i].devid, smac));
+                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++;
             }
         }