|
Lines 10-20
Link Here
|
| 10 |
USED_IFACE_FILE="`mktemp $USED_IFACE_FILE_STUB.XXXXXXXX`" |
10 |
USED_IFACE_FILE="`mktemp $USED_IFACE_FILE_STUB.XXXXXXXX`" |
| 11 |
|
11 |
|
| 12 |
STAMPFILE=/tmp/dummy_stamp |
12 |
STAMPFILE=/tmp/dummy_stamp |
|
|
13 |
RENAMED=yes |
| 13 |
trap 'rm -f $USED_IFACE_FILE |
14 |
trap 'rm -f $USED_IFACE_FILE |
| 14 |
echo renamed > $STAMPFILE |
15 |
echo renamed > $STAMPFILE |
| 15 |
echo INTERFACE=$INTERFACE |
16 |
echo INTERFACE=$INTERFACE |
| 16 |
echo DEVPATH=${DEVPATH%/*}/$INTERFACE |
17 |
echo DEVPATH=${DEVPATH%/*}/$INTERFACE |
| 17 |
echo RENAMED=yes' EXIT |
18 |
echo RENAMED=$RENAMED' EXIT |
| 18 |
|
19 |
|
| 19 |
. /etc/sysconfig/network/config |
20 |
. /etc/sysconfig/network/config |
| 20 |
. /etc/sysconfig/network/scripts/functions |
21 |
. /etc/sysconfig/network/scripts/functions |
|
Lines 43-48
Link Here
|
| 43 |
shift |
44 |
shift |
| 44 |
fi |
45 |
fi |
| 45 |
err_mesg "$@" |
46 |
err_mesg "$@" |
|
|
47 |
RENAMED=no |
| 46 |
exit $RET |
48 |
exit $RET |
| 47 |
} |
49 |
} |
| 48 |
|
50 |
|
|
Lines 68-89
Link Here
|
| 68 |
write_rule() { |
70 |
write_rule() { |
| 69 |
test "$WRITE_RULE" == yes || return 0 |
71 |
test "$WRITE_RULE" == yes || return 0 |
| 70 |
check_if_name_is_free || return 1 |
72 |
check_if_name_is_free || return 1 |
|
|
73 |
RULE="SUBSYSTEM==\"net\", ACTION==\"add\"," |
| 71 |
if [ "$PHYSDEVBUS" == ccwgroup ] ; then |
74 |
if [ "$PHYSDEVBUS" == ccwgroup ] ; then |
| 72 |
echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \ |
75 |
RULE="$RULE ENV{PHYSDEVPATH}==\"*$DEV_ID\"," |
| 73 |
"ENV{PHYSDEVPATH}==\"*$DEV_ID\"," \ |
|
|
| 74 |
"IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \ |
| 75 |
>> $RULE_FILE |
| 76 |
elif [ "$NOMAC_HACK_APPLIED" == yes ] ; then |
76 |
elif [ "$NOMAC_HACK_APPLIED" == yes ] ; then |
| 77 |
echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \ |
77 |
RULE="$RULE ENV{ADDRESS}==\"$DEV_ID\"," |
| 78 |
"ENV{ADDRESS}==\"$DEV_ID\"," \ |
|
|
| 79 |
"IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \ |
| 80 |
>> $RULE_FILE |
| 81 |
else |
78 |
else |
| 82 |
echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \ |
79 |
RULE="$RULE SYSFS{address}==\"$DEV_ID\"," |
| 83 |
"SYSFS{address}==\"$DEV_ID\"," \ |
|
|
| 84 |
"IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \ |
| 85 |
>> $RULE_FILE |
| 86 |
fi |
80 |
fi |
|
|
81 |
DERU="$RULE IMPORT=\".lib.udev.rename_netiface %k .*\"" |
| 82 |
RULE="$RULE IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" |
| 83 |
flock $RULE_FILE sed -i -e "\$a \\$RULE" -e "/^$DERU/d" $RULE_FILE |
| 87 |
/sbin/udevcontrol reload_rules || return 1 |
84 |
/sbin/udevcontrol reload_rules || return 1 |
| 88 |
info_mesg "New rule for $DEV_ID added." |
85 |
info_mesg "New rule for $DEV_ID added." |
| 89 |
} |
86 |
} |
|
Lines 140-146
Link Here
|
| 140 |
# conditions. It will be removed when the script exits. |
137 |
# conditions. It will be removed when the script exits. |
| 141 |
|
138 |
|
| 142 |
NEWNAME=$OLDNAME |
139 |
NEWNAME=$OLDNAME |
| 143 |
get_device_id "$OLDNAME" "$2" |
140 |
get_device_id "$OLDNAME" |
| 144 |
if [ -z "$DEV_ID" ] ; then |
141 |
if [ -z "$DEV_ID" ] ; then |
| 145 |
error_exit 4 "no device id for $OLDNAME" |
142 |
error_exit 4 "no device id for $OLDNAME" |
| 146 |
fi |
143 |
fi |
|
Lines 195-204
Link Here
|
| 195 |
|
192 |
|
| 196 |
# Rename it to the temporary name. |
193 |
# Rename it to the temporary name. |
| 197 |
# Then try several times to rename it to new name |
194 |
# Then try several times to rename it to new name |
| 198 |
nameif -r "$TMPNAME" "$OLDNAME" 2>/dev/null 1>&2 \ |
|
|
| 199 |
|| error_exit 11 "cannot rename interface to temporary name $TMPNAME" |
| 200 |
echo looping > $STAMPFILE |
| 201 |
declare -i LOOPS=0 |
195 |
declare -i LOOPS=0 |
|
|
196 |
for LOOPS in `seq 10`; do |
| 197 |
nameif -r "$TMPNAME" "$OLDNAME" 2>/dev/null 1>&2 && break |
| 198 |
test "$LOOPS" -lt 10 || error_exit 11 \ |
| 199 |
"cannot rename interface to temporary name $TMPNAME" |
| 200 |
usleep 100000 |
| 201 |
done |
| 202 |
info_mesg "renamed interface to temporary name $TMPNAME after $LOOPS tries" |
| 203 |
echo looping > $STAMPFILE |
| 204 |
LOOPS=0 |
| 202 |
while [ $MAXLOOPS -gt $LOOPS ] ; do |
205 |
while [ $MAXLOOPS -gt $LOOPS ] ; do |
| 203 |
: $((LOOPS++)) |
206 |
: $((LOOPS++)) |
| 204 |
if nameif -r "$NEWNAME" "$TMPNAME" 2>/dev/null 1>&2; then |
207 |
if nameif -r "$NEWNAME" "$TMPNAME" 2>/dev/null 1>&2; then |
|
Lines 220-229
Link Here
|
| 220 |
"longer available" |
223 |
"longer available" |
| 221 |
INTERFACE=$TMPNAME |
224 |
INTERFACE=$TMPNAME |
| 222 |
fi |
225 |
fi |
| 223 |
exit 0 |
226 |
error_exit 13 |
| 224 |
|
|
|
| 225 |
|
| 226 |
|
| 227 |
|
| 228 |
|
| 229 |
|