|
|
218e99 |
From 7825ef61b703c017c2b4ae56007046f0acd3fee6 Mon Sep 17 00:00:00 2001
|
|
|
218e99 |
From: Amos Kong <akong@redhat.com>
|
|
|
218e99 |
Date: Tue, 5 Nov 2013 09:17:40 +0100
|
|
|
218e99 |
Subject: [PATCH 08/25] net/e1000: update network information when macaddr is changed in guest
|
|
|
218e99 |
|
|
|
218e99 |
RH-Author: Amos Kong <akong@redhat.com>
|
|
|
218e99 |
Message-id: <1383643062-1844-3-git-send-email-akong@redhat.com>
|
|
|
218e99 |
Patchwork-id: 55369
|
|
|
218e99 |
O-Subject: [RHEL-7.0 qemu-kvm PATCH 2/4] net/e1000: update network information when macaddr is changed in guest
|
|
|
218e99 |
Bugzilla: 922589
|
|
|
218e99 |
RH-Acked-by: Vlad Yasevich <vyasevic@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Alex Williamson <alex.williamson@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Xiao Wang <jasowang@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
218e99 |
|
|
|
218e99 |
Bugzilla: 922589
|
|
|
218e99 |
|
|
|
218e99 |
If we change macaddr in guest by 'ifconfig eth0 hw ether 12:12:12:34:35:36',
|
|
|
218e99 |
the mac register of e1000 is already updated, but we don't update
|
|
|
218e99 |
network information in qemu. Therefor, the information in monitor
|
|
|
218e99 |
is wrong.
|
|
|
218e99 |
|
|
|
218e99 |
This patch updates nic info when the second part of macaddr is written.
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Amos Kong <akong@redhat.com>
|
|
|
218e99 |
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
|
218e99 |
(cherry picked from commit 7c36507c2b8776266f50c5e2739bd18279953b93)
|
|
|
218e99 |
---
|
|
|
218e99 |
hw/net/e1000.c | 8 ++++++++
|
|
|
218e99 |
1 files changed, 8 insertions(+), 0 deletions(-)
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
218e99 |
---
|
|
|
218e99 |
hw/net/e1000.c | 8 ++++++++
|
|
|
218e99 |
1 files changed, 8 insertions(+), 0 deletions(-)
|
|
|
218e99 |
|
|
|
218e99 |
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
|
|
|
218e99 |
index d273ef2..87a84a7 100644
|
|
|
218e99 |
--- a/hw/net/e1000.c
|
|
|
218e99 |
+++ b/hw/net/e1000.c
|
|
|
218e99 |
@@ -971,7 +971,15 @@ mac_read_clr8(E1000State *s, int index)
|
|
|
218e99 |
static void
|
|
|
218e99 |
mac_writereg(E1000State *s, int index, uint32_t val)
|
|
|
218e99 |
{
|
|
|
218e99 |
+ uint32_t macaddr[2];
|
|
|
218e99 |
+
|
|
|
218e99 |
s->mac_reg[index] = val;
|
|
|
218e99 |
+
|
|
|
218e99 |
+ if (index == RA + 1) {
|
|
|
218e99 |
+ macaddr[0] = cpu_to_le32(s->mac_reg[RA]);
|
|
|
218e99 |
+ macaddr[1] = cpu_to_le32(s->mac_reg[RA + 1]);
|
|
|
218e99 |
+ qemu_format_nic_info_str(qemu_get_queue(s->nic), (uint8_t *)macaddr);
|
|
|
218e99 |
+ }
|
|
|
218e99 |
}
|
|
|
218e99 |
|
|
|
218e99 |
static void
|
|
|
218e99 |
--
|
|
|
218e99 |
1.7.1
|
|
|
218e99 |
|