1/* 2 * Copied from LiMon - BOOTP. 3 * 4 * Copyright 1994, 1995, 2000 Neil Russell. 5 * (See License) 6 * Copyright 2000 Paolo Scaffardi 7 */ 8 9#ifndef __NET_RAND_H__ 10#define __NET_RAND_H__ 11 12#include <common.h> 13 14/* 15 * Return a seed for the PRNG derived from the eth0 MAC address. 16 */ 17static inline unsigned int seed_mac(void) 18{ 19 unsigned char enetaddr[6]; 20 unsigned int seed; 21 22 /* get our mac */ 23 eth_getenv_enetaddr("ethaddr", enetaddr); 24 25 seed = enetaddr[5]; 26 seed ^= enetaddr[4] << 8; 27 seed ^= enetaddr[3] << 16; 28 seed ^= enetaddr[2] << 24; 29 seed ^= enetaddr[1]; 30 seed ^= enetaddr[0] << 8; 31 32 return seed; 33} 34 35/* 36 * Seed the random number generator using the eth0 MAC address. 37 */ 38static inline void srand_mac(void) 39{ 40 srand(seed_mac()); 41} 42 43#endif /* __NET_RAND_H__ */ 44