#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) ck_daemon network || exit stat_busy "Starting Network" for ifline in ${INTERFACES[@]}; do if echo $ifline | grep '^[^\!]' 2>&1 > /dev/null; then varname="\$${ifline}" eval new_ifline=$varname if [ "$new_ifline" = "dhcp" ]; then /usr/sbin/dhcpcd $ifline || stat_die else /sbin/ifconfig $new_ifline || stat_die fi fi done for rtline in "${ROUTES[@]}"; do if echo $rtline | grep '^[^\!]' 2>&1 > /dev/null; then varname="\$${rtline}" eval new_rtline=$varname /sbin/route add $new_rtline || stat_die fi done add_daemon network stat_done ;; stop) ck_daemon network && exit stat_busy "Stopping Network" rm_daemon network for rtline in "${ROUTES[@]}"; do if echo $rtline | grep '^[^\!]' 2>&1 > /dev/null; then varname="\$${rtline}" eval new_rtline=$varname /sbin/route del $new_rtline || stat_die fi done for ifline in ${INTERFACES[@]}; do if echo $ifline | grep '^[^\!]' 2>&1 > /dev/null; then varname="\$${ifline}" eval new_ifline=$varname if [ "$new_ifline" = "dhcp" ]; then # do nothing - we kill dhcpcd later /bin/true else /sbin/ifconfig $new_ifline down || stat_die fi fi done /usr/bin/killall -q dhcpcd stat_done ;; restart) $0 stop $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac