for (i = 0; i < def->nnets; i++) {
virDomainNetDef *net = def->nets[i];
- qemuSlirp *slirp = QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp;
- if (slirp &&
- qemuSlirpStart(slirp, vm, driver, net, incomingMigration) < 0)
+ if (qemuSlirpStart(vm, net, incomingMigration) < 0)
return -1;
}
break;
if (qemuSlirpOpen(slirp, driver, vm->def) < 0 ||
- qemuSlirpStart(slirp, vm, driver, net, NULL) < 0) {
+ qemuSlirpStart(vm, net, NULL) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("Failed to start slirp"));
goto cleanup;
int
-qemuSlirpStart(qemuSlirp *slirp,
- virDomainObj *vm,
- virQEMUDriver *driver,
+qemuSlirpStart(virDomainObj *vm,
virDomainNetDef *net,
bool incoming)
{
+ qemuDomainObjPrivate *priv = vm->privateData;
+ virQEMUDriver *driver = priv->driver;
+ qemuSlirp *slirp = QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp;
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
g_autoptr(virCommand) cmd = NULL;
g_autofree char *pidfile = NULL;
VIR_AUTOCLOSE errfd = -1;
bool killDBusDaemon = false;
+ if (!slirp)
+ return 0;
+
if (incoming &&
!qemuSlirpHasFeature(slirp, QEMU_SLIRP_FEATURE_MIGRATE)) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
virQEMUDriver *driver,
virDomainDef *def);
-int qemuSlirpStart(qemuSlirp *slirp,
- virDomainObj *vm,
- virQEMUDriver *driver,
+int qemuSlirpStart(virDomainObj *vm,
virDomainNetDef *net,
bool incoming);