From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35297) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uoa1s-000354-88 for qemu-devel@nongnu.org; Mon, 17 Jun 2013 10:03:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uoa1e-0000Vp-AP for qemu-devel@nongnu.org; Mon, 17 Jun 2013 10:03:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65484) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uoa1d-0000Vk-Uu for qemu-devel@nongnu.org; Mon, 17 Jun 2013 10:03:18 -0400 Date: Mon, 17 Jun 2013 17:04:03 +0300 From: "Michael S. Tsirkin" Message-ID: <20130617140403.GB10085@redhat.com> References: <1371476111-4449-1-git-send-email-akong@redhat.com> <1371476111-4449-3-git-send-email-akong@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1371476111-4449-3-git-send-email-akong@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/2] extend the macaddr space to 0xffffffff List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amos Kong Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, stefanha@redhat.com On Mon, Jun 17, 2013 at 09:35:11PM +0800, Amos Kong wrote: > Currently we only support to allocate 0xff mac-addresses, > if we start guest by pci-bridge/multiple-func, the macaddr > are not enough. > > This patch extends the mac-address space to 0xffffffff > > 52:54:00:00:00:00 ~ 52:54:ff:ff:ff:ff > > Signed-off-by: Amos Kong And then there's even more chance a user error (forgot to specify mac) will lead to broken LANs because of collisions. Why is it that whoever wants >256 NICs can't just specify the addresses explicitly? > --- > net/net.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/net/net.c b/net/net.c > index f019da4..78bb080 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -153,10 +153,12 @@ void qemu_macaddr_default_if_unset(MACAddr *macaddr) > realloc_mac: > macaddr->a[0] = 0x52; > macaddr->a[1] = 0x54; > - macaddr->a[2] = 0x00; > - macaddr->a[3] = 0x12; > - macaddr->a[4] = 0x34; > - macaddr->a[5] = 0x56 + index++; > + macaddr->a[2] = 0x00 + ((0x120000 + 0x3400 + 0x56 + index) >> 24 & 0xff); > + macaddr->a[3] = 0x12 + ((0x3400 + 0x56 + index) >> 16 & 0xff); > + macaddr->a[4] = 0x34 + ((0x56 + index) >> 8 & 0xff); > + macaddr->a[5] = 0x56 + (index & 0xff); > + > + index++; > > QTAILQ_FOREACH(nc, &net_clients, next) { > peer = nc->peer; > -- > 1.8.1.4