]> xenbits.xensource.com Git - libvirt.git/commitdiff
virDomainNetDefParseXML: Extract network device model earlier
authorPeter Krempa <pkrempa@redhat.com>
Fri, 16 Sep 2022 13:50:54 +0000 (15:50 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 3 Oct 2022 12:43:18 +0000 (14:43 +0200)
Move the code fetching the model of the net device before the main code
parsing individual device types so that the data is available before the
upcoming refactor.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 394e63737b11859ff8663311df97f16433889175..05a12a48a898a61e7662bdd945317e6e9c8e84fb 100644 (file)
@@ -9019,6 +9019,10 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
                                &def->trustGuestRxFilters) < 0)
         return NULL;
 
+    if ((model = virXPathString("string(./model/@type)", ctxt)) &&
+        virDomainNetSetModelString(def, model) < 0)
+        return NULL;
+
     if ((source_node = virXPathNode("./source", ctxt))) {
         if (virDomainNetIPInfoParseXML(_("interface host IP"), source_node, ctxt, &def->hostIP) < 0)
             return NULL;
@@ -9202,7 +9206,6 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
     def->script = virXPathString("string(./script/@path)", ctxt);
     def->downscript = virXPathString("string(./downscript/@path)", ctxt);
     def->domain_name = virXPathString("string(./backenddomain/@name)", ctxt);
-    model = virXPathString("string(./model/@type)", ctxt);
 
     if ((filterref_node = virXPathNode("./filterref", ctxt))) {
         filter = virXMLPropString(filterref_node, "filter");
@@ -9258,10 +9261,6 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
         return NULL;
     }
 
-    if (model != NULL &&
-        virDomainNetSetModelString(def, model) < 0)
-        return NULL;
-
     switch (def->type) {
     case VIR_DOMAIN_NET_TYPE_NETWORK:
         break;