summary refs log tree commit diff stats
path: root/hw/xen_devconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xen_devconfig.c')
-rw-r--r--hw/xen_devconfig.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/hw/xen_devconfig.c b/hw/xen_devconfig.c
index 0928613b55..d83e8d0f64 100644
--- a/hw/xen_devconfig.c
+++ b/hw/xen_devconfig.c
@@ -123,19 +123,21 @@ int xen_config_dev_nic(NICInfo *nic)
 {
     char fe[256], be[256];
     char mac[20];
+    int vlan_id = -1;
 
+    net_hub_id_for_client(nic->netdev, &vlan_id);
     snprintf(mac, sizeof(mac), "%02x:%02x:%02x:%02x:%02x:%02x",
              nic->macaddr.a[0], nic->macaddr.a[1], nic->macaddr.a[2],
              nic->macaddr.a[3], nic->macaddr.a[4], nic->macaddr.a[5]);
-    xen_be_printf(NULL, 1, "config nic %d: mac=\"%s\"\n", nic->vlan->id, mac);
-    xen_config_dev_dirs("vif", "qnic", nic->vlan->id, fe, be, sizeof(fe));
+    xen_be_printf(NULL, 1, "config nic %d: mac=\"%s\"\n", vlan_id, mac);
+    xen_config_dev_dirs("vif", "qnic", vlan_id, fe, be, sizeof(fe));
 
     /* frontend */
-    xenstore_write_int(fe, "handle",     nic->vlan->id);
+    xenstore_write_int(fe, "handle",     vlan_id);
     xenstore_write_str(fe, "mac",        mac);
 
     /* backend */
-    xenstore_write_int(be, "handle",     nic->vlan->id);
+    xenstore_write_int(be, "handle",     vlan_id);
     xenstore_write_str(be, "mac",        mac);
 
     /* common stuff */