]> git.proxmox.com Git - qemu.git/commitdiff
qdev: add id= support for pci nics.
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 15 Jul 2009 11:43:35 +0000 (13:43 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 16 Jul 2009 22:28:53 +0000 (17:28 -0500)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/pci.c
net.c
net.h

index b3856e72ab4dddc51a8ca4504ef4ab4a7d731c6a..0d51714257b2d7e1dc5db382c9e3c52519470309 100644 (file)
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -822,6 +822,8 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
         if (strcmp(nd->model, pci_nic_models[i]) == 0) {
             pci_dev = pci_create(pci_nic_names[i], devaddr);
             dev = &pci_dev->qdev;
+            if (nd->id)
+                dev->id = qemu_strdup(nd->id);
             dev->nd = nd;
             qdev_init(dev);
             nd->private = dev;
diff --git a/net.c b/net.c
index a0c41536807076942b1f15f95c8516d93c7f5641..90cf912378962346ef26c4323c623b3346f093e1 100644 (file)
--- a/net.c
+++ b/net.c
@@ -2428,7 +2428,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p)
     }
     if (!strcmp(device, "nic")) {
         static const char * const nic_params[] = {
-            "vlan", "name", "macaddr", "model", "addr", "vectors", NULL
+            "vlan", "name", "macaddr", "model", "addr", "id", "vectors", NULL
         };
         NICInfo *nd;
         uint8_t *macaddr;
@@ -2466,6 +2466,9 @@ int net_client_init(Monitor *mon, const char *device, const char *p)
         if (get_param_value(buf, sizeof(buf), "addr", p)) {
             nd->devaddr = strdup(buf);
         }
+        if (get_param_value(buf, sizeof(buf), "id", p)) {
+            nd->id = strdup(buf);
+        }
         nd->nvectors = NIC_NVECTORS_UNSPECIFIED;
         if (get_param_value(buf, sizeof(buf), "vectors", p)) {
             char *endptr;
diff --git a/net.h b/net.h
index 6026e10361beb31a1493565fd40a7da460dacd45..188fa395e4ace089dca13489a2bd6c32d1ea3b4d 100644 (file)
--- a/net.h
+++ b/net.h
@@ -95,6 +95,7 @@ struct NICInfo {
     const char *model;
     const char *name;
     const char *devaddr;
+    const char *id;
     VLANState *vlan;
     VLANClientState *vc;
     void *private;