virDomainDeviceDefCheckUnsupportedMemoryDevice(dev) < 0)
return -1;
+ if (UNSUPPORTED(VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING) &&
+ dev->type == VIR_DOMAIN_DEVICE_NET &&
+ dev->data.net->modelstr) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("driver does not support net model '%s'"),
+ dev->data.net->modelstr);
+ return -1;
+ }
+
return 0;
}
#undef UNSUPPORTED
VIR_DOMAIN_DEF_FEATURE_USER_ALIAS = (1 << 5),
VIR_DOMAIN_DEF_FEATURE_NO_BOOT_ORDER = (1 << 6),
VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT = (1 << 7),
+ VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING = (1 << 8),
} virDomainDefFeatures;
.macPrefix = { 0x00, 0x16, 0x3e },
.devicesPostParseCallback = libxlDomainDeviceDefPostParse,
.domainPostParseCallback = libxlDomainDefPostParse,
+ .features = VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING,
};
VIR_DOMAIN_DEF_FEATURE_OFFLINE_VCPUPIN |
VIR_DOMAIN_DEF_FEATURE_INDIVIDUAL_VCPUS |
VIR_DOMAIN_DEF_FEATURE_USER_ALIAS |
- VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT,
+ VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT |
+ VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING,
};
virDomainDefParserConfig virAAHelperDomainDefParserConfig = {
.features = VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG |
VIR_DOMAIN_DEF_FEATURE_OFFLINE_VCPUPIN |
- VIR_DOMAIN_DEF_FEATURE_INDIVIDUAL_VCPUS,
+ VIR_DOMAIN_DEF_FEATURE_INDIVIDUAL_VCPUS |
+ VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING,
};
static int