# 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()
{
}
# 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