#!/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 : 01.00 # # 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 NAME=${name} /etc/rc.d/init.d/net/red/pppoe ${RED_DEV} down 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/common/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 ### Cleanup the system when red goes down ### /usr/local/bin/dialctrl.pl down rm -f /var/ipfire/red/iface 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