blob: db770e3b0d93f74711bc46e8c651348d94dcffb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/sh
NAMERULES="@ETCPATH@/netcfg/ifrename"
TMPPATH="/tmp/ifrename"
[ -f "$NAMERULES" ] || exit 0
mkdir -p "$TMPPATH"
for IFPATH in /sys/class/net/*; do
[ "$IFPATH" = "/sys/class/net/lo" ] && continue
IF=`basename $IFPATH`
MAC=`cat $IFPATH/address`
grep "^[^,]\+,[^,]\+,[a-zA-Z0-9]\+$" $NAMERULES | while read LINE;
do
NAMECMP=$(echo $LINE | cut -d',' -f1)
ADDRCMP=$(echo $LINE | cut -d',' -f2)
RULE=$(echo $LINE | cut -d',' -f3)
case $IF in ($NAMECMP) ;; *) continue;; esac
case $MAC in ($ADDRCMP) ;; *) continue;; esac
echo "$MAC,$IF" >> "$TMPPATH/$RULE"
break
done
done
for FNAME in $TMPPATH/*; do
[ ! -f "$FNAME" ] && break
IDX=0
PREFIX=$(basename $FNAME)
sort -t',' -k1 -u $FNAME | while read LINE;
do
OLDNAME=$(echo $LINE | cut -d',' -f2)
NEWNAME="$PREFIX$IDX"
IDX=`expr $IDX + 1`
ip link set "$OLDNAME" name "$NEWNAME"
done
rm "$FNAME"
done
rmdir "$TMPPATH"
|