mirror of https://gitlab.com/qemu-project/qemu
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong # Via Stefan Hajnoczi * stefanha/net: net/rtl8139: update network information when macaddr is changed in guest net/e1000: update network information when macaddr is changed in guest net: update nic info during device reset Message-id: 1382103314-21608-1-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@amazon.com>
This commit is contained in:
commit
3551643eb7
|
@ -401,6 +401,7 @@ static void e1000_reset(void *opaque)
|
||||||
d->mac_reg[RA] |= macaddr[i] << (8 * i);
|
d->mac_reg[RA] |= macaddr[i] << (8 * i);
|
||||||
d->mac_reg[RA + 1] |= (i < 2) ? macaddr[i + 4] << (8 * i) : 0;
|
d->mac_reg[RA + 1] |= (i < 2) ? macaddr[i + 4] << (8 * i) : 0;
|
||||||
}
|
}
|
||||||
|
qemu_format_nic_info_str(qemu_get_queue(d->nic), macaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1105,7 +1106,15 @@ mac_read_clr8(E1000State *s, int index)
|
||||||
static void
|
static void
|
||||||
mac_writereg(E1000State *s, int index, uint32_t val)
|
mac_writereg(E1000State *s, int index, uint32_t val)
|
||||||
{
|
{
|
||||||
|
uint32_t macaddr[2];
|
||||||
|
|
||||||
s->mac_reg[index] = val;
|
s->mac_reg[index] = val;
|
||||||
|
|
||||||
|
if (index == RA + 1) {
|
||||||
|
macaddr[0] = cpu_to_le32(s->mac_reg[RA]);
|
||||||
|
macaddr[1] = cpu_to_le32(s->mac_reg[RA + 1]);
|
||||||
|
qemu_format_nic_info_str(qemu_get_queue(s->nic), (uint8_t *)macaddr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -1214,6 +1214,7 @@ static void rtl8139_reset(DeviceState *d)
|
||||||
|
|
||||||
/* restore MAC address */
|
/* restore MAC address */
|
||||||
memcpy(s->phys, s->conf.macaddr.a, 6);
|
memcpy(s->phys, s->conf.macaddr.a, 6);
|
||||||
|
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->phys);
|
||||||
|
|
||||||
/* reset interrupt mask */
|
/* reset interrupt mask */
|
||||||
s->IntrStatus = 0;
|
s->IntrStatus = 0;
|
||||||
|
@ -2740,9 +2741,13 @@ static void rtl8139_io_writeb(void *opaque, uint8_t addr, uint32_t val)
|
||||||
|
|
||||||
switch (addr)
|
switch (addr)
|
||||||
{
|
{
|
||||||
case MAC0 ... MAC0+5:
|
case MAC0 ... MAC0+4:
|
||||||
s->phys[addr - MAC0] = val;
|
s->phys[addr - MAC0] = val;
|
||||||
break;
|
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:
|
case MAC0+6 ... MAC0+7:
|
||||||
/* reserved */
|
/* reserved */
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue