diff options
-rw-r--r-- | hw/pci.c | 2 | ||||
-rw-r--r-- | net.c | 5 | ||||
-rw-r--r-- | net.h | 1 |
3 files changed, 7 insertions, 1 deletions
@@ -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; @@ -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; @@ -95,6 +95,7 @@ struct NICInfo { const char *model; const char *name; const char *devaddr; + const char *id; VLANState *vlan; VLANClientState *vc; void *private; |