qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RfC PATCH 1/3] net: macaddr tweaks.


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [RfC PATCH 1/3] net: macaddr tweaks.
Date: Tue, 29 Sep 2009 11:24:45 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Lightning/1.0pre Thunderbird/3.0b3

+void qemu_macaddr_default_if_unset(macaddr_t macaddr)
+{
+    macaddr_t zero = { 0,0,0,0,0,0 };
+
+    if (memcmp(macaddr, zero, sizeof(zero)) != 0)
+        return;
+    macaddr[0] = 0x52;
+    macaddr[1] = 0x54;
+    macaddr[2] = 0x00;
+    macaddr[3] = 0x12;
+    macaddr[4] = 0x34;
+    macaddr[5] = 0x56;
+}
+

This will get us the same default MAC address for all NICs, won't it?
The old code provides a different default for each NIC.

Simply increment the default whenever it is used?

Would be an option.  Doesn't fully match the old behavior though.

Old behavior is to use 0x56 + nic index (i.e. nd_table index) for the last byte, so nic #1 allways has 0x57, no matter whenever for nic #0 a default was specified or not.

The problem we have here is that the nics created via -device don't have a nd_table entry and thus no nic index. We have a related issue with pxe boot (-boot n,o,p,q == boot first,second,third,fourth nic).

Didn't have a good idea (yet) how to address that.

+typedef uint8_t macaddr_t[6];

Reserved identifier (any POSIX header).  Do we care?

We should prrobably qemu-ify it to something like MACAddr anyway.

cheers,
  Gerd





reply via email to

[Prev in Thread] Current Thread [Next in Thread]