virDomainChrSourceReconnectDef reconnect = {0};
int rv, val;
g_autofree char *macaddr = NULL;
- g_autofree char *bridge = NULL;
g_autofree char *dev = NULL;
g_autofree char *managed_tap = NULL;
g_autofree char *address = NULL;
break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
- if (source_node) {
- bridge = virXMLPropString(source_node, "bridge");
- }
+ if (virDomainNetDefParseXMLRequireSource(def, source_node) < 0)
+ return NULL;
+
+ if (!(def->data.bridge.brname = virXMLPropStringRequired(source_node, "bridge")))
+ return NULL;
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
- if (bridge == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("No <source> 'bridge' attribute "
- "specified with <interface type='bridge'/>"));
- return NULL;
- }
- def->data.bridge.brname = g_steal_pointer(&bridge);
break;
case VIR_DOMAIN_NET_TYPE_CLIENT: