Quoting Jeff Dike <[EMAIL PROTECTED]>: > Assign a random MAC to an ethernet interface if one was not provided on > the command line. This became pressing when distros started > bringing interfaces up before assigning IPs to them. The previous > pattern of assigning an IP then bringing it up allowed the MAC to be > generated from the first IP assigned. However, once the thing is > up, it's probably a bad idea to change the MAC, so the MAC stayed > initialized to fe:fd:0:0:0:0. > > Now, if there is no MAC from the command line, one is generated. We > use the microseconds from gettimeofday (20 bits), plus the low 12 > bits of the pid to seed the random number generator. random() is > called twice, with 16 bits of each result used. I didn't want to > have to try to fill in 32 bits optimally given an arbitrary > RAND_MAX, so I just assume that it is greater than 65536 and use 16 > bits of each random() return. > > There is also a bit of reformatting and whitespace cleanup here. > > Signed-off-by: Jeff Dike <[EMAIL PROTECTED]> >
Couldn't you use random_ether_addr() from linux/etherdevice.h? static inline void random_ether_addr(u8 *addr) { get_random_bytes (addr, ETH_ALEN); addr [0] &= 0xfe; /* clear multicast bit */ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */ } ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel