#!/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"