X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Finitscripts%2Finit.d%2Fnet%2Fifdown;fp=src%2Finitscripts%2Finit.d%2Fnet%2Fifdown;h=3b80d7d74539197958da78daba45f8a0dcd68133;hb=9c16cd927f832615f251529de8713dcf75396155;hp=0000000000000000000000000000000000000000;hpb=9b12d9c0d36fb7be927fc5ee80e932f06d85d3ae;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/src/initscripts/init.d/net/ifdown b/src/initscripts/init.d/net/ifdown new file mode 100644 index 0000000000..3b80d7d745 --- /dev/null +++ b/src/initscripts/init.d/net/ifdown @@ -0,0 +1,78 @@ +#!/bin/sh +######################################################################## +# Begin $network_devices/ifdown +# +# Description : Interface Down +# +# Authors : Nathan Coulson - nathan@linuxfromscratch.org +# Kevin P. Fleming - kpfleming@linuxfromscratch.org +# Michael Tremer - mitch@ipfire.org +# +# Version : 00.01 +# +# Notes : +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} +eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) + +if [ "$name" == "green" ]; then + DEVICE="${GREEN_DEV}" +elif [ "$name" == "blue" ]; then + DEVICE="${BLUE_DEV}" +elif [ "$name" == "orange" ]; then + DEVICE="${ORANGE_DEV}" +elif [ "$name" == "red" ]; then + DEVICE="${RED_DEV}" +fi + +if ip link show ${DEVICE} > /dev/null 2>&1 +then + if [ "$name" == "green" ]; then + NAME=${name} ADDRESS=${GREEN_ADDRESS} NETMASK=${GREEN_NETMASK}\ + NETADDRESS=${GREEN_NETADDRESS} BROADCAST=${GREEN_BROADCAST} \ + /etc/rc.d/init.d/net/common/ipv4-static ${GREEN_DEV} down + + elif [ "$name" == "blue" ]; then + NAME=${name} ADDRESS=${BLUE_ADDRESS} NETMASK=${BLUE_NETMASK}\ + NETADDRESS=${BLUE_NETADDRESS} BROADCAST=${BLUE_BROADCAST} \ + /etc/rc.d/init.d/net/common/ipv4-static ${BLUE_DEV} down + + elif [ "$name" == "orange" ]; then + NAME=${name} ADDRESS=${ORANGE_ADDRESS} NETMASK=${ORANGE_NETMASK}\ + NETADDRESS=${ORANGE_NETADDRESS} BROADCAST=${ORANGE_BROADCAST} \ + /etc/rc.d/init.d/net/common/ipv4-static ${ORANGE_DEV} down + + elif [ "$name" == "red" ]; then + if [ "${RED_TYPE}" == "PPPOE" ]; then + echo + elif [ "${RED_TYPE}" == "PPTP" ]; then + echo + elif [ "${RED_TYPE}" == "DHCP" ]; then + NAME=${name} DHCP_HOSTNAME=${RED_DHCP_HOSTNAME} \ + PRINTIP=yes PRINTALL=yes \ + /etc/rc.d/init.d/net/red/dhcpcd ${RED_DEV} down + elif [ "${RED_TYPE}" == "STATIC" ]; then + NAME=${name} ADDRESS=${RED_ADDRESS} NETMASK=${RED_NETMASK}\ + NETADDRESS=${RED_NETADDRESS} BROADCAST=${RED_BROADCAST} \ + DNS1=${DNS1} DNS2=${DNS2} GATEWAY=${DEFAULT_GATEWAY} + /etc/rc.d/init.d/net/red/ipv4-static ${RED_DEV} down + fi + fi +else + boot_mesg "Interface ${DEVICE} doesn't exist." ${WARNING} + echo_warning +fi + +link_status=`ip link show $DEVICE 2> /dev/null` +if [ -n "${link_status}" ]; then + if echo "${link_status}" | grep -q UP; then + boot_mesg "Bringing down the ${DEVICE} interface..." + ip link set ${DEVICE} down + evaluate_retval + fi +fi + +# End $network_devices/ifdown