summaryrefslogtreecommitdiff
path: root/bin/NS2SetMac.sh
Unidiff
Diffstat (limited to 'bin/NS2SetMac.sh') (more/less context) (ignore whitespace changes)
-rwxr-xr-xbin/NS2SetMac.sh22
1 files changed, 17 insertions, 5 deletions
diff --git a/bin/NS2SetMac.sh b/bin/NS2SetMac.sh
index 51810ae..e6111c7 100755
--- a/bin/NS2SetMac.sh
+++ b/bin/NS2SetMac.sh
@@ -1,22 +1,34 @@
1# store/set MAC address for given interface 1# this script is part of networksettings2 package
2# purpose : set fixed MAC address for network devices that
3# have random addresses (like usb)
4#
5
2NS2MacStore=/etc/NS2 6NS2MacStore=/etc/NS2
3 7
4[ ! -d ${NS2MacStore} ] && mkdir ${NS2MacStore} 8[ ! -d ${NS2MacStore} ] && mkdir ${NS2MacStore}
5 9
6if [ -z "$1" ] 10if [ -z "$1" ]
7then 11then
8 exit 0 12 exit 0
9fi 13fi
10 14
11if [ -f ${NS2MacStore}/$1.mac ] 15if [ -f ${NS2MacStore}/$1.mac ]
12then 16then
13 # set this mac 17 # set this mac
14 /sbin/ifconfig $1 hw ether `cat ${NS2MacStore}/$1.mac` 18 X=`cat ${NS2MacStore}/$1.mac`
19 if [ ! -z "$X" ]
20 then
21 /sbin/ifconfig $1 hw ether $X
22 fi
15else 23else
16 # remember current mac for all times 24 # remember current mac for all times
17 X=`/sbin/ifconfig $1 | grep HWaddr` 25 X=`/sbin/ifconfig $1 | grep HWaddr`
18 X=${X#*HWaddr } # strip till HWaddr 26 X=${X#*HWaddr } # strip till HWaddr
19 X=${X%% *} # remove trailing spaces 27 X=${X%% *} # remove trailing spaces
20 echo ${X} > ${NS2MacStore}/$1.mac 28 if [ ! -z "$X" ]
29 then
30 # valid mac address
31 echo ${X} > ${NS2MacStore}/$1.mac
32 fi
21fi 33fi
22exit 0 34exit 0