if_valid $if || return
- $DEBUG ifconfig $if down
+ mac=$(nvram get ${type}_hwaddr)
+ $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}
for sif in $(nvram get ${type}_ifnames); do {
if_valid $sif || continue
+ ${mac:+$DEBUG ifconfig $sif down hw ether $mac}
$DEBUG ifconfig $sif 0.0.0.0 up
$DEBUG brctl addif $if $sif
} done
+ else
+ ${mac:+$DEBUG ifconfig $if down hw ether $mac}
fi
- mac=$(nvram get ${type}_hwaddr)
- ${mac:+$DEBUG ifconfig $if hw ether $mac}
if_proto=$(nvram get ${type}_proto)
case "$if_proto" in
} 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)
- username=$(nvram get ppp_username)
- password=$(nvram get ppp_passwd)
- redial=$(nvram get ppp_redialperiod)
- idletime=$(nvram get ppp_idletime)
- mtu=$(nvram get wan_mtu)
-
-# handled by /etc/init.d/S50pppoe
-# $DEBUG ifconfig $if 0.0.0.0 up
-
-# $DEBUG /sbin/pppoecd $if -u $username -p $password \
-# -i 0 -I $redial -T $idletime -t $mtu -k
+ ${DEBUG:-eval} "udhcpc -R -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