#!/bin/sh # Copyright (C) 2006 OpenWrt.org [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh include network scan_interfaces debug "### ifdown $type ###" type=$1 config_get proto "$type" proto [ -z "$proto" ] && { echo "interface not found."; exit; } # kill active ppp daemon pid="$(cat /var/run/ppp-${type}.pid 2>/dev/null)" [ -n "$pid" -a -d "/proc/$pid" ] && { kill $pid sleep 1 [ -d "/proc/$pid" ] && kill -9 $pid } # kill any other process associated with the interface config_get ifname "$type" ifname pid="$(cat /var/run/${ifname}.pid 2>/dev/null)" [ -n "$pid" -a -d "/proc/$pid" ] && kill -9 $pid config_get ifname "$type" ifname ifconfig "$ifname" >/dev/null 2>/dev/null && { ifconfig "$ifname" 0.0.0.0 down config_get iftype "$type" type [ "$iftype" = "bridge" ] && brctl delbr "$ifname" }