qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] net/net: Change the default mac address of nic
@ 2013-10-15  4:17 Mike Qiu
  2013-10-15  5:07 ` Stefan Weil
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Qiu @ 2013-10-15  4:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mike Qiu, stefanha, aliguori

Changelog to v1:
	Find remainder of macaddr->a[5] by modulo 256,
	otherwise it may be overflow by add index++.

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 <qiudayu@linux.vnet.ibm.com>
---
 net/net.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/net/net.c b/net/net.c
index c330c9a..9e72764 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 <time.h>
+
 #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++) % 256;
 }
 
 /**
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2] net/net: Change the default mac address of nic
@ 2013-10-14  7:30 Mike Qiu
  2013-10-14  7:32 ` mike
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Qiu @ 2013-10-14  7:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mike Qiu, stefanha, aliguori

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 <qiudayu@linux.vnet.ibm.com>
---
 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 <time.h>
+
 #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

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-10-18 10:43 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-15  4:17 [Qemu-devel] [PATCH v2] net/net: Change the default mac address of nic Mike Qiu
2013-10-15  5:07 ` Stefan Weil
2013-10-15  5:57   ` mike
2013-10-15  6:05     ` Stefan Weil
2013-10-15  8:23       ` mike
2013-10-15 12:36   ` Eric Blake
2013-10-15 13:33     ` mike
2013-10-17 12:30       ` Stefan Hajnoczi
2013-10-18  2:54         ` mike
2013-10-18  9:00           ` Stefan Hajnoczi
2013-10-18  9:44             ` mike
2013-10-18 10:43               ` Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2013-10-14  7:30 Mike Qiu
2013-10-14  7:32 ` mike

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).