Blame view

tools/gen_eth_addr.c 744 Bytes
83d290c56   Tom Rini   SPDX: Convert all...
1
  // SPDX-License-Identifier: GPL-2.0+
5745185e6   wdenk   Initial revision
2
3
4
  /*
   * (C) Copyright 2001
   * Murray Jensen <Murray.Jensen@cmst.csiro.au>
5745185e6   wdenk   Initial revision
5
6
7
8
9
10
11
12
13
14
15
   */
  
  #include <stdio.h>
  #include <stdlib.h>
  #include <unistd.h>
  #include <time.h>
  
  int
  main(int argc, char *argv[])
  {
      unsigned long ethaddr_low, ethaddr_high;
3e4dad503   Josh Wu   tools: gen_eth_ad...
16
      srand(time(0) + (getpid() << 8));
5745185e6   wdenk   Initial revision
17
18
19
20
21
22
  
      /*
       * setting the 2nd LSB in the most significant byte of
       * the address makes it a locally administered ethernet
       * address
       */
2eeb4e95f   Peter Tyser   gen_eth_addr: Use...
23
24
      ethaddr_high = (rand() & 0xfeff) | 0x0200;
      ethaddr_low = rand();
5745185e6   wdenk   Initial revision
25
26
27
28
29
30
31
32
33
  
      printf("%02lx:%02lx:%02lx:%02lx:%02lx:%02lx
  ",
  	ethaddr_high >> 8, ethaddr_high & 0xff,
  	ethaddr_low >> 24, (ethaddr_low >> 16) & 0xff,
  	(ethaddr_low >> 8) & 0xff, ethaddr_low & 0xff);
  
      return (0);
  }