Skip to content

Commit f4e9ea8

Browse files
mwilckjohannbg
authored andcommitted
fix(network): don't use same ifname multiple times
If multiple ibft interfaces exist, set_ifname() may reuse the same name (usually "ibft0"), because it's usually called cmdline time, when no interfaces exist in sysfs yet. Remember the number used set and don't use it again.
1 parent a65fab6 commit f4e9ea8

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

modules.d/40network/net-lib.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ set_ifname() {
222222
for n in $(getargs ifname=); do
223223
strstr "$n" "$mac" && echo "${n%%:*}" && return
224224
done
225+
[ ! -f "/tmp/set_ifname_$name" ] || read -r num < "/tmp/set_ifname_$name"
225226
# otherwise, pick a new name and use that
226227
while :; do
227228
num=$((num + 1))
@@ -232,6 +233,7 @@ set_ifname() {
232233
break
233234
done
234235
echo "ifname=$name$num:$mac" >> /etc/cmdline.d/45-ifname.conf
236+
echo "$num" > "/tmp/set_ifname_$name"
235237
echo "$name$num"
236238
}
237239

0 commit comments

Comments
 (0)