[Harald Hoyer <harald@redhat.com>: replaced grep with strstr]
[Harald Hoyer <harald@redhat.com>: handle multiple ifname= arguments]
if [ "ibft" = "$(getarg ip=)" ]; then
modprobe iscsi_ibft
num=0
- (
+ (
for iface in /sys/firmware/ibft/ethernet*; do
[ -e ${iface}/mac ] || continue
ifname_mac=$(read a < ${iface}/mac; echo $a)
[ -z "$ifname_mac" ] && continue
- ifname_if=ibft$num
- num=$(( $num + 1 ))
- echo "ifname=$ifname_if:$ifname_mac"
- dev=$ifname_if
+ for ifname in $(getargs ifname=); do
+ if strstr "$ifname" "$ifname_mac"; then
+ dev=${ifname%%:*}
+ else
+ ifname_if=ibft$num
+ num=$(( $num + 1 ))
+ echo "ifname=$ifname_if:$ifname_mac"
+ dev=$ifname_if
+ fi
+ done
dhcp=$(read a < ${iface}/dhcp; echo $a)
if [ -n "$dhcp" ]; then