From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60094) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VVcc9-0002p6-1x for qemu-devel@nongnu.org; Mon, 14 Oct 2013 03:31:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VVcc0-0001kX-3O for qemu-devel@nongnu.org; Mon, 14 Oct 2013 03:30:52 -0400 Received: from e28smtp07.in.ibm.com ([122.248.162.7]:33388) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VVcbz-0001kE-Dj for qemu-devel@nongnu.org; Mon, 14 Oct 2013 03:30:44 -0400 Received: from /spool/local by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 14 Oct 2013 13:00:40 +0530 Received: from d28relay04.in.ibm.com (d28relay04.in.ibm.com [9.184.220.61]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id BEEB7394004D for ; Mon, 14 Oct 2013 13:00:18 +0530 (IST) Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r9E7UOYp26411060 for ; Mon, 14 Oct 2013 13:00:25 +0530 Received: from d28av05.in.ibm.com (localhost [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r9E7UQaZ008614 for ; Mon, 14 Oct 2013 13:00:26 +0530 From: Mike Qiu Date: Mon, 14 Oct 2013 03:30:21 -0400 Message-Id: <1381735821-4905-1-git-send-email-qiudayu@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v2] net/net: Change the default mac address of nic List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Mike Qiu , stefanha@redhat.com, aliguori@amazon.com The default mac address is 52:54:00:12:34:56 + index, this will cause problem that when we boot up more than one guest with all mac addresses unset by default, assume that each guest has one nic. In this situation, all the guest's nic has the same mac address. This patch is to solve this bug. Signed-off-by: Mike Qiu --- net/net.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/net/net.c b/net/net.c index c330c9a..2796d04 100644 --- a/net/net.c +++ b/net/net.c @@ -21,6 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#include + #include "config-host.h" #include "net/net.h" @@ -147,12 +149,13 @@ void qemu_macaddr_default_if_unset(MACAddr *macaddr) if (memcmp(macaddr, &zero, sizeof(zero)) != 0) return; + srand((unsigned)time(NULL)); 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[3] = rand() % 256; + macaddr->a[4] = rand() % 256; + macaddr->a[5] = rand() % 256 + index++; } /** -- 1.8.2.1