Message ID | 20110728151216.GA18809@amt.cnet |
---|---|
State | New |
Headers | show |
On 28 July 2011 16:12, Marcelo Tosatti <mtosatti@redhat.com> wrote: > > The index for assignment of default MAC address is duplicated: > qemu_macaddr_default_if_unset has its own variable and net_init_nic uses > the nic table index. Isn't this already fixed by commit 6eed18568d ? -- PMM
On Thu, Jul 28, 2011 at 04:22:09PM +0100, Peter Maydell wrote: > On 28 July 2011 16:12, Marcelo Tosatti <mtosatti@redhat.com> wrote: > > > > The index for assignment of default MAC address is duplicated: > > qemu_macaddr_default_if_unset has its own variable and net_init_nic uses > > the nic table index. > > Isn't this already fixed by commit 6eed18568d ? > > -- PMM Yes, thanks for pointing out.
diff --git a/net.c b/net.c index 66123ad..f34400c 100644 --- a/net.c +++ b/net.c @@ -776,13 +776,6 @@ static int net_init_nic(QemuOpts *opts, nd->devaddr = qemu_strdup(qemu_opt_get(opts, "addr")); } - nd->macaddr[0] = 0x52; - nd->macaddr[1] = 0x54; - nd->macaddr[2] = 0x00; - nd->macaddr[3] = 0x12; - nd->macaddr[4] = 0x34; - nd->macaddr[5] = 0x56 + idx; - if (qemu_opt_get(opts, "macaddr") && net_parse_macaddr(nd->macaddr, qemu_opt_get(opts, "macaddr")) < 0) { error_report("invalid syntax for ethernet address");
The index for assignment of default MAC address is duplicated: qemu_macaddr_default_if_unset has its own variable and net_init_nic uses the nic table index. This leads to assignment of same MAC addresses to NICs initialized via command line and hotplugged ones. Fix by not assigning default MAC address in net_init_nic, leaving that job to qemu_macaddr_default_if_unset. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Reported-by: Amos Kong <akong@redhat.com> BZ: https://bugzilla.redhat.com/show_bug.cgi?id=712046