Re: How does dummy network driver get its mac addresses?

From: Stephen Hemminger
Date: Fri Jun 08 2007 - 15:35:30 EST


On Fri, 08 Jun 2007 15:03:42 -0400
Mike Schmidt <mike@xxxxxxxxxxx> wrote:

> please cc me directly with any responses - I am not (yet) a member of this mailing list.
>
> I just created 99 dummy network devices, and they all had different, random-looking addresses. I recently searched though all the IANA/IEEE documentation looking for a mechanism or policy to select local, virtual mac addresses that could not interfere with real ones. But there seems to be no clear concensus. Even the use of the 'local' bit seems to be inconsistent, I saw registered OUIs in the AA:... (from memory) range, for example.
>
> I noticed that all the mac addresses assigned by the dummy driver have the 'local' bit set. For those who are wondering, that's the second least significant bit in the first digit of the mac address: so all addresses that start with x2, x3, x6, x7, xA, xB, and xE, xF are 'local'. The last bit is the multicast bit.
>
> In the 2.4 kernels, these devices all received a 00:00:00... mac address, although this is declared incorrect in the RFCs I read. So, I was making my own, somewhat arbitrarily. In 2.6, this seems to be solved. Can anyone tell me what the algorithm/criteria are that allow the 2.6 kernels to set up random mac addresses without conflicting with real devices?


> I have searched the mailing list, but it's pretty hard to select for this kind of information.
>
> Thanks very much. This is a great mailing list. It's been very responsive to me so far. I thank you all.


1. Learn to read the kernel source. dummy gets its addresses from
random_ether_addr()

2. Read the maintainers file, questions like this goto netdev@xxxxxxxxxxxxxxx


--
Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/