g_autofree char *localport = NULL;
g_autofree char *model = NULL;
g_autofree char *filter = NULL;
- g_autofree char *internal = NULL;
g_autofree char *mode = NULL;
g_autofree char *linkstate = NULL;
g_autofree char *addrtype = NULL;
break;
case VIR_DOMAIN_NET_TYPE_INTERNAL:
- if (source_node) {
- internal = virXMLPropString(source_node, "name");
- }
+ if (virDomainNetDefParseXMLRequireSource(def, source_node) < 0)
+ return NULL;
+
+ if (!(def->data.internal.name = virXMLPropStringRequired(source_node, "name")))
+ return NULL;
break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
break;
case VIR_DOMAIN_NET_TYPE_INTERNAL:
- if (internal == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("No <source> 'name' attribute specified "
- "with <interface type='internal'/>"));
- return NULL;
- }
- def->data.internal.name = g_steal_pointer(&internal);
break;
case VIR_DOMAIN_NET_TYPE_DIRECT: