net/rtl8139: update network information when macaddr is changed in guest
authorAmos Kong <akong@redhat.com>
Thu, 17 Oct 2013 07:02:50 +0000 (15:02 +0800)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 18 Oct 2013 11:28:09 +0000 (13:28 +0200)
rtl8139 has same problem as e1000, nic info isn't updated when macaddr
is changed in guest.

This patch updates the nic info when the last bit of macaddr is written.

Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/net/rtl8139.c

index 9b4a6501d76d2a05712745d7a56da798d77a301d..3225f3d3e55ca27e2199315760747be5bb5651b3 100644 (file)
@@ -2741,8 +2741,12 @@ static void rtl8139_io_writeb(void *opaque, uint8_t addr, uint32_t val)
 
     switch (addr)
     {
-        case MAC0 ... MAC0+5:
+        case MAC0 ... MAC0+4:
+            s->phys[addr - MAC0] = val;
+            break;
+        case MAC0+5:
             s->phys[addr - MAC0] = val;
+            qemu_format_nic_info_str(qemu_get_queue(s->nic), s->phys);
             break;
         case MAC0+6 ... MAC0+7:
             /* reserved */