X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fbootscripts%2Fifdown;h=fe1406fa051fb53c0f64447e3ed1af93824084d9;hb=4e78d26dd7f5e46a21cdc916e031f1b4a68578c0;hp=115c4880a8f22a0d9ae0d797de80639a4993618f;hpb=f920c7ef750f2163b9e407cc453b192ede2c185a;p=hvlinux.git diff --git a/stage2/bootscripts/ifdown b/stage2/bootscripts/ifdown index 115c488..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() { @@ -24,34 +33,38 @@ check_brctl() } # First make sure interface is available -if ! ip link show ${DEVICE} ; then +if ! ip link show ${DEVICE} 1> /dev/null 2>&1 ; then echo "Interface ${DEVICE} not available" exit ${EXIT_CODE_WARNING} fi -if [ "x${BOOTPROTO}" = "xdhcp" ]; then - # DHCP configuration +case ${BOOTPROTO} in + dhcp) + cmd_run_log ${DHCP_PROG} ${DHCP_STOP} ${DEVICE} || \ + exit ${EXIT_CODE_FAILURE} + ;; - # Load DHCP client parameters - source /etc/sysconfig/network/dhcp-client + wifi) + cmd_run_log ${DHCP_PROG} ${DHCP_STOP} ${DEVICE} || \ + exit ${EXIT_CODE_FAILURE} + echo "Stopping wpa_supplicant" + killall wpa_supplicant + ;; - 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} && - cmd_run_log ip link set ${DEVICE} down || exit ${EXIT_CODE_FAILURE} -elif [ x${BOOTPROTO} = "xpppoe" ]; then - # PPPoE configuration - cmd_run_log pppoe-stop - cmd_run_log ip addr flush ${DEVICE} && - cmd_run_log ip link set ${DEVICE} down || exit ${EXIT_CODE_FAILURE} -else - exit 1 -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: if [ -n "${BRIDGE_TO}" ]; then