]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vbox: Convert to net enum model
authorCole Robinson <crobinso@redhat.com>
Fri, 18 Jan 2019 19:13:43 +0000 (14:13 -0500)
committerCole Robinson <crobinso@redhat.com>
Tue, 16 Apr 2019 17:11:08 +0000 (13:11 -0400)
Convert the vbox driver to net model enum, which requires adding
enum values for Am79C970A, Am79C973, 82540EM, 82545EM, 82543GC. We
preserve the same casing that vbox historically used for these model
names.

Remove the now unused virDomainNetStrcaseeqModelString

Acked-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/vbox/vbox_common.c

index c309dbee9ca4a5c806adfd94460a1336cb0fcb8a..88e722ae34f1aa7bf8ec490285f8b50382be6c1e 100644 (file)
@@ -524,6 +524,11 @@ VIR_ENUM_IMPL(virDomainNetModel,
               "vmxnet",
               "vmxnet2",
               "vmxnet3",
+              "Am79C970A",
+              "Am79C973",
+              "82540EM",
+              "82545EM",
+              "82543GC",
 );
 
 VIR_ENUM_IMPL(virDomainNetBackend,
@@ -29532,15 +29537,6 @@ virDomainNetSetModelString(virDomainNetDefPtr net,
     return 0;
 }
 
-int
-virDomainNetStrcaseeqModelString(const virDomainNetDef *net,
-                                 const char *model)
-{
-    if (net->model)
-        return STRCASEEQ(virDomainNetModelTypeToString(net->model), model);
-    return net->modelstr && STRCASEEQ(net->modelstr, model);
-}
-
 bool
 virDomainNetIsVirtioModel(const virDomainNetDef *net)
 {
index 38ee96ecf0be2b467688456c6bff58c9ac7068c9..2c22860af8b963f1b496e96dad9d965d41fc9e73 100644 (file)
@@ -857,6 +857,11 @@ typedef enum {
     VIR_DOMAIN_NET_MODEL_VMXNET,
     VIR_DOMAIN_NET_MODEL_VMXNET2,
     VIR_DOMAIN_NET_MODEL_VMXNET3,
+    VIR_DOMAIN_NET_MODEL_AM79C970A,
+    VIR_DOMAIN_NET_MODEL_AM79C973,
+    VIR_DOMAIN_NET_MODEL_82540EM,
+    VIR_DOMAIN_NET_MODEL_82545EM,
+    VIR_DOMAIN_NET_MODEL_82543GC,
 
     VIR_DOMAIN_NET_MODEL_LAST
 } virDomainNetModelType;
@@ -3137,8 +3142,6 @@ bool virDomainNetGetActualTrustGuestRxFilters(virDomainNetDefPtr iface);
 const char *virDomainNetGetModelString(const virDomainNetDef *net);
 int virDomainNetSetModelString(virDomainNetDefPtr et,
                                const char *model);
-int virDomainNetStrcaseeqModelString(const virDomainNetDef *net,
-                                     const char *model);
 bool virDomainNetIsVirtioModel(const virDomainNetDef *net);
 int virDomainNetAppendIPAddress(virDomainNetDefPtr def,
                                 const char *address,
index fc403a0ffd8f226264d548c954cb53a0c3acecbe..673e98bf609b1c231dfc43db09a6a43fee55f75a 100644 (file)
@@ -487,7 +487,6 @@ virDomainNetRemoveHostdev;
 virDomainNetResolveActualType;
 virDomainNetSetDeviceImpl;
 virDomainNetSetModelString;
-virDomainNetStrcaseeqModelString;
 virDomainNetTypeFromString;
 virDomainNetTypeSharesHostView;
 virDomainNetTypeToString;
index 492b6e1cbe4f9077fcd8063181bfdfaf6ab818e2..7a491b0b5f93a5f7d93e69b1b1bfd231955982f4 100644 (file)
@@ -1310,7 +1310,7 @@ vboxAttachNetwork(virDomainDefPtr def, vboxDriverPtr data, IMachine *machine)
         macaddrvbox[VIR_MAC_STRING_BUFLEN - 6] = '\0';
 
         VIR_DEBUG("NIC(%zu): Type:   %d", i, def->nets[i]->type);
-        VIR_DEBUG("NIC(%zu): Model:  %s", i, virDomainNetGetModelString(def->nets[i]));
+        VIR_DEBUG("NIC(%zu): Model:  %s", i, virDomainNetModelTypeToString(def->nets[i]->model));
         VIR_DEBUG("NIC(%zu): Mac:    %s", i, macaddr);
         VIR_DEBUG("NIC(%zu): ifname: %s", i, def->nets[i]->ifname);
         if (def->nets[i]->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
@@ -1339,19 +1339,19 @@ vboxAttachNetwork(virDomainDefPtr def, vboxDriverPtr data, IMachine *machine)
 
         gVBoxAPI.UINetworkAdapter.SetEnabled(adapter, 1);
 
-        if (virDomainNetGetModelString(def->nets[i])) {
-            if (virDomainNetStrcaseeqModelString(def->nets[i], "Am79C970A")) {
+        if (def->nets[i]->model) {
+            if (def->nets[i]->model == VIR_DOMAIN_NET_MODEL_AM79C970A) {
                 adapterType = NetworkAdapterType_Am79C970A;
-            } else if (virDomainNetStrcaseeqModelString(def->nets[i], "Am79C973")) {
+            } else if (def->nets[i]->model == VIR_DOMAIN_NET_MODEL_AM79C973) {
                 adapterType = NetworkAdapterType_Am79C973;
-            } else if (virDomainNetStrcaseeqModelString(def->nets[i], "82540EM")) {
+            } else if (def->nets[i]->model == VIR_DOMAIN_NET_MODEL_82540EM) {
                 adapterType = NetworkAdapterType_I82540EM;
-            } else if (virDomainNetStrcaseeqModelString(def->nets[i], "82545EM")) {
+            } else if (def->nets[i]->model == VIR_DOMAIN_NET_MODEL_82545EM) {
                 adapterType = NetworkAdapterType_I82545EM;
-            } else if (virDomainNetStrcaseeqModelString(def->nets[i], "82543GC")) {
+            } else if (def->nets[i]->model == VIR_DOMAIN_NET_MODEL_82543GC) {
                 adapterType = NetworkAdapterType_I82543GC;
             } else if (gVBoxAPI.APIVersion >= 3000051 &&
-                       virDomainNetStrcaseeqModelString(def->nets[i], "virtio")) {
+                       def->nets[i]->model == VIR_DOMAIN_NET_MODEL_VIRTIO) {
                 /* Only vbox 3.1 and later support NetworkAdapterType_Virto */
                 adapterType = NetworkAdapterType_Virtio;
             }
@@ -3688,7 +3688,6 @@ vboxDumpNetwork(vboxDriverPtr data, INetworkAdapter *adapter)
 {
     PRUint32 attachmentType = NetworkAttachmentType_Null;
     PRUint32 adapterType = NetworkAdapterType_Null;
-    const char *model = NULL;
     PRUnichar *utf16 = NULL;
     char *utf8 = NULL;
     virDomainNetDefPtr net = NULL;
@@ -3743,28 +3742,26 @@ vboxDumpNetwork(vboxDriverPtr data, INetworkAdapter *adapter)
     gVBoxAPI.UINetworkAdapter.GetAdapterType(adapter, &adapterType);
     switch (adapterType) {
     case NetworkAdapterType_Am79C970A:
-        model = "Am79C970A";
+        net->model = VIR_DOMAIN_NET_MODEL_AM79C970A;
         break;
     case NetworkAdapterType_Am79C973:
-        model = "Am79C973";
+        net->model = VIR_DOMAIN_NET_MODEL_AM79C973;
         break;
     case NetworkAdapterType_I82540EM:
-        model = "82540EM";
+        net->model = VIR_DOMAIN_NET_MODEL_82540EM;
         break;
     case NetworkAdapterType_I82545EM:
-        model = "82545EM";
+        net->model = VIR_DOMAIN_NET_MODEL_82545EM;
         break;
     case NetworkAdapterType_I82543GC:
-        model = "82543GC";
+        net->model = VIR_DOMAIN_NET_MODEL_82543GC;
         break;
     case NetworkAdapterType_Virtio:
         /* Only vbox 3.1 and later support NetworkAdapterType_Virto */
         if (gVBoxAPI.APIVersion >= 3000051)
-            model = "virtio";
+            net->model = VIR_DOMAIN_NET_MODEL_VIRTIO;
         break;
     }
-    if (virDomainNetSetModelString(net, model) < 0)
-        goto error;
 
     gVBoxAPI.UINetworkAdapter.GetMACAddress(adapter, &utf16);
     VBOX_UTF16_TO_UTF8(utf16, &utf8);