3 * Murray Jensen <Murray.Jensen@cmst.csiro.au>
5 * See file CREDITS for list of people who contributed to this
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30 main(int argc
, char *argv
[])
32 unsigned long ethaddr_low
, ethaddr_high
;
34 srandom(time(0) | getpid());
37 * setting the 2nd LSB in the most significant byte of
38 * the address makes it a locally administered ethernet
41 ethaddr_high
= (random() & 0xfeff) | 0x0200;
42 ethaddr_low
= random();
44 printf("%02lx:%02lx:%02lx:%02lx:%02lx:%02lx\n",
45 ethaddr_high
>> 8, ethaddr_high
& 0xff,
46 ethaddr_low
>> 24, (ethaddr_low
>> 16) & 0xff,
47 (ethaddr_low
>> 8) & 0xff, ethaddr_low
& 0xff);