]> git.proxmox.com Git - qemu.git/commitdiff
virtio-net: revert mac on reset
authorMichael S. Tsirkin <mst@redhat.com>
Wed, 16 Jan 2013 09:37:40 +0000 (11:37 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 29 Jan 2013 23:31:08 +0000 (01:31 +0200)
Once guest overrides virtio net primary mac,
it retains the value set until qemu exit.
This is inconsistent with standard nic behaviour.
To fix, revert the mac to the original value on reset.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio-net.c

index 3bb01b10374601717a1500cf392db162ba1f54ef..4d80a2574431ff3259f6692d549225be1f9c1946 100644 (file)
@@ -199,6 +199,7 @@ static void virtio_net_reset(VirtIODevice *vdev)
     n->mac_table.multi_overflow = 0;
     n->mac_table.uni_overflow = 0;
     memset(n->mac_table.macs, 0, MAC_TABLE_ENTRIES * ETH_ALEN);
+    memcpy(&n->mac[0], &n->nic->conf->macaddr, sizeof(n->mac));
     memset(n->vlans, 0, MAX_VLAN >> 3);
 }