blob: f94f9c69226bc2aae0b0f725c7e7c72044d634a9 [file] [log] [blame]
. /etc/utils.sh
iface=$1
start_dhcp() {
echo "Starting DHCP on $iface"
lock=/var/run/dhclient.${iface}.lock
lockfile-create $lock
pidfile=/var/run/dhclient.${iface}.pid
if runnable glaser; then
if [ -e $pidfile ]; then
kill $(cat $pidfile) 2>&1 > /dev/null
rm -f $pidfile
fi
/usr/sbin/dhclient $iface -d -pf $pidfile \
-lf /var/run/dhclient.${iface}.lease \
-cf /etc/dhclient.conf 2>&1 | logos dhclient &
fi
pidfile=/var/run/dhclient-v6.${iface}.pid
if [ -e $pidfile ]; then
kill $(cat $pidfile) 2>&1 > /dev/null
rm -f $pidfile
fi
/usr/sbin/dhclient $iface -6 \
-d \
-pf $pidfile \
-lf /var/run/dhclient-v6.${iface}.lease \
-cf /etc/dhclient6.conf \
--never-gonna-give-you-up 900 2>&1 | logos dhclient6 &
lockfile-remove $lock
}
ip link set dev $iface up
if [ $(cat /etc/config/wanport) = $iface ]; then
sleep 1
# For GFLT110 defer running sycl until after the
# the data path is initialized in /etc/init.d/S71data
# There is some issue with doing it here.
# TODO(jnewlin): Check if this if fixed in the latest SDK.
if [ $(cat /etc/platform) != "GFLT110" ] \
&& ! contains "$(kernopt diag)" "prbs"; then
start_sycl & 2>&1 | logos sycl &
fi
# start dhcp if no management vlan is assigned.
if [ "x$(cat /etc/config/mgmtvlan)" = "x" ]; then
start_dhcp
fi
elif [ "man" = "$iface" ]; then
start_dhcp
fi