summaryrefslogtreecommitdiffstats
path: root/meta-sys940x/recipes-bsp/genmac/files/genmac
diff options
context:
space:
mode:
Diffstat (limited to 'meta-sys940x/recipes-bsp/genmac/files/genmac')
-rw-r--r--meta-sys940x/recipes-bsp/genmac/files/genmac46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-sys940x/recipes-bsp/genmac/files/genmac b/meta-sys940x/recipes-bsp/genmac/files/genmac
new file mode 100644
index 00000000..1899e95f
--- /dev/null
+++ b/meta-sys940x/recipes-bsp/genmac/files/genmac
@@ -0,0 +1,46 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: Random MAC address generator
4# Required-Start: $syslog
5# Required-Stop: $syslog
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Set a random MAC for tagged interfaces
9# Description: Set a random MAC for interfaces with RANDOM_MAC
10### END INIT INFO
11
12# Author: Darren Hart <dvhart@linux.intel.com>
13# Based on /etc/init.d/skeleton
14
15PATH=/sbin:/usr/sbin:/bin:/usr/bin
16DESC="Set a random MAC for tagged interfaces"
17NAME=genmac
18RANPWD=`which ranpwd`
19SCRIPTNAME=/etc/init.d/$NAME
20
21# Exit if ranpwd is not installed
22[ -x "$RANPWD" ] || exit 0
23
24do_start() {
25 # Replace every occurence of RANDOM_MAC with a unique locally
26 # administered, unicast, randomly generated MAC address.
27 while grep -q RANDOM_MAC /etc/network/interfaces; do
28 sed -i "1,/RANDOM_MAC/s/RANDOM_MAC/$($RANPWD -m)/" /etc/network/interfaces
29 done
30}
31
32case "$1" in
33start)
34 echo "$NAME: Setting random MAC addresses"
35 do_start
36 ;;
37stop)
38 ;;
39*)
40 echo "Usage: $SCRIPTNAME {start|stop}" >&2
41 exit 3
42 ;;
43esac
44
45exit 0
46