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"?
> > -- > Stuart. > > > _______________________________________________ > lng-odp mailing list > [email protected] > http://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
