|
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
[Prev in Thread] | Current Thread | [Next in Thread] |