if_valid $if || return
- $DEBUG ifconfig $if down
+ $DEBUG ifconfig $if down 2>&-
if [ "${if%%[0-9]}" = "br" ]; then
stp=$(nvram get ${type}_stp)
- $DEBUG brctl delbr $if
+ $DEBUG brctl delbr $if 2>&-
$DEBUG brctl addbr $if
$DEBUG brctl setfd $if 0
$DEBUG brctl stp $if ${stp:-0}
} done
;;
dhcp)
+ ip=$(nvram get ${type}_ipaddr)
pidfile=/tmp/dhcp-${type}.pid
if [ -f $pidfile ]; then
$DEBUG kill $(cat $pidfile)
fi
- ${DEBUG:-eval} "udhcpc -i $if -b -p $pidfile &"
- ;;
- pppoe)
- # handled by /etc/init.d/S50pppoe
+ ${DEBUG:-eval} "udhcpc -i $if ${ip:+-r $ip} -b -p $pidfile &"
;;
- none)
+ none|"")
+ # pppoe is handled by /etc/init.d/S50pppoe
;;
*)
- echo "### WARNING $if: $if_proto is not supported"
+ echo "### ifup $type: ignored ${type}_proto=\"$if_proto\" (not supported)"
;;
esac