On Mon, Jan 12, 2015 at 01:52:26PM +0000, Ola Liljedahl wrote: > On 12 January 2015 at 14:42, Stuart Haslam <[email protected]> wrote: > > On Mon, Jan 12, 2015 at 11:40:54AM +0000, Savolainen, Petri (NSN - > > FI/Espoo) wrote: > >> > > >> > +static int random_mac(void *mac_addr, size_t addr_size) > >> > +{ > >> > + uint32_t ethaddr_l, ethaddr_h; > >> > + > >> > + srand(odp_time_cycles()); > >> > + ethaddr_h = (rand() & 0xfeff) | 0x0200; > >> > + ethaddr_l = rand(); > >> > + > >> > + snprintf(mac_addr, addr_size, "%02x:%02x:%02x:%02x:%02x:%02x", > >> > + ethaddr_h >> 8, ethaddr_h & 0xff, > >> > + ethaddr_l >> 24, (ethaddr_l >> 16) & 0xff, > >> > + (ethaddr_l >> 8) & 0xff, ethaddr_l & 0xff); > >> > + > >> > + return 0; > >> > +} > >> > + > >> > >> > >> Maybe it's better to use constant mac address(es), so that it's easier to > >> spot configuration errors, reproduce problems and test results. > > > > Makes sense, I'll make that change. > > > > > >>Also the "locally administered" MAC address bit should be set (to avoid > >>collision with globally unique addresses in the case it would leak into > >>network). > >> > > > > Will do, this version already does that with the "| 0x0200". > Have you heard of this novel thing called "symbolic constants"? >
Yeah, maybe in the next version I will use >> EIGHT, and >> TWENTY_FOUR :) (actually, won't need this code at all) -- Stuart. _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
