X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fbootscripts%2Fifdown;h=fe1406fa051fb53c0f64447e3ed1af93824084d9;hb=6039efc819b29ad7fa890c95fda918c57ebe475c;hp=3634b36de1396368266abd792ac45287d66d871b;hpb=727c462da1a14421a7ace1978f03f659124d9418;p=hvlinux.git diff --git a/stage2/bootscripts/ifdown b/stage2/bootscripts/ifdown index 3634b36..fe1406f 100755 --- a/stage2/bootscripts/ifdown +++ b/stage2/bootscripts/ifdown @@ -14,6 +14,15 @@ log_script_name "$0 $*" # Load network interface card parameters source /etc/sysconfig/network/ifconfig.${DEVICE} +# Load DHCP client parameters +source /etc/sysconfig/network/dhcp-client + +# Make sure DHCP client is available. +if [ ! -x ${DHCP_PROG} ]; then + echo "Program \"${DHCP_PROG}\" is not executable." + exit ${EXIT_CODE_FAILURE} +fi + # Check that the brctl program is present and executable. check_brctl() { @@ -29,32 +38,32 @@ if ! ip link show ${DEVICE} 1> /dev/null 2>&1 ; then exit ${EXIT_CODE_WARNING} fi -if [ "x${BOOTPROTO}" = "xdhcp" -o "x${BOOTPROTO}" = "xwifi" ]; then - # DHCP configuration - # Load DHCP client parameters - source /etc/sysconfig/network/dhcp-client +case ${BOOTPROTO} in + dhcp) + cmd_run_log ${DHCP_PROG} ${DHCP_STOP} ${DEVICE} || \ + exit ${EXIT_CODE_FAILURE} + ;; - if [ ! -x ${DHCP_PROG} ]; then - echo "Program \"${DHCP_PROG}\" is not executable." - exit ${EXIT_CODE_FAILURE} - fi - cmd_run_log ${DHCP_PROG} ${DHCP_STOP} ${DEVICE} || exit ${EXIT_CODE_FAILURE} -elif [ x${BOOTPROTO} = "xstatic" ]; then - # Static configuration - cmd_run_log ip addr flush ${DEVICE} || exit ${EXIT_CODE_FAILURE} -elif [ x${BOOTPROTO} = "xpppoe" ]; then - # PPPoE configuration - cmd_run_log pppoe-stop - cmd_run_log ip addr flush ${DEVICE} || exit ${EXIT_CODE_FAILURE} -else - exit 1 -fi + wifi) + cmd_run_log ${DHCP_PROG} ${DHCP_STOP} ${DEVICE} || \ + exit ${EXIT_CODE_FAILURE} + echo "Stopping wpa_supplicant" + killall wpa_supplicant + ;; -if [ "x${BOOTPROTO}" = "xwifi" ]; then - echo "Stopping wpa_supplicant" - killall wpa_supplicant -fi + static) + ;; + + pppoe) + cmd_run_log pppoe-stop + ;; + + *) + echo "Invalid BOOTPROTO value: ${BOOTPROTO}" + exit ${EXIT_CODE_FAILURE} +esac +cmd_run_log ip addr flush ${DEVICE} || exit ${EXIT_CODE_FAILURE} cmd_run_log ip link set ${DEVICE} down || exit ${EXIT_CODE_FAILURE} # Determining if the interface is part of a bridge: