5 PATH=/sbin:/usr/sbin:/bin:/usr/bin
7 . /etc/sysconfig/network
8 . /etc/rc.d/init.d/functions
9 . /etc/sysconfig/network-scripts/functions.network
11 # Will be removed in the future
12 if is_yes "$NETWORKING" ; then
13 if [ -z "$IPV4_NETWORKING" ] ; then
14 echo "NETWORKING is set to YES, but IPV4_NETWORKING is empty!"
15 echo "Please upgrade your config"
16 echo "Assuming you want IPv4 networking"
24 nls "Usage: %s <device name>" "ifdown" >&2
28 if [ -f "/etc/sysconfig/interfaces/ifcfg-$DEV" ] ; then
29 CONFIG="/etc/sysconfig/interfaces/ifcfg-$DEV"
34 if [ "$(id -u)" != "0" ]; then
35 if [ -x /sbin/usernetctl ]; then
36 exec /sbin/usernetctl $CONFIG down
38 echo "Users cannot control this device." >&2
44 # set all major variables
47 OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-${DEVICETYPE}"
49 # shutdown tleds software
50 if [ "$TLEDS_DEV" = "$DEVICE" -a -x /usr/bin/tleds ]; then
51 /usr/bin/tleds -qk "$DEVICE"
54 if [ -x $OTHERSCRIPT ]; then
55 if [ "$HANDLING" = "0" ]; then
56 exec $OTHERSCRIPT $CONFIG $2
57 elif [ "$HANDLING" = "1" ]; then
58 $OTHERSCRIPT $CONFIG $2
62 if [ -n "$BOOTPROTO" -a "$BOOTPROTO" != "none" -a "$BOOTPROTO" != "static" ]; then
63 if is_yes "$IPV4_NETWORKING"; then
66 case ${DHCP_CLIENT##*/} in
68 $DHCP_CLIENT -r -i ${DEVICE}
72 $DHCP_CLIENT -k ${DEVICE}
77 $DHCP_CLIENT -k ${DEVICE}
81 if [ -f /var/run/dhclient.pid ];then
82 PID=$(cat /var/run/dhclient.pid)
83 if ps ax --no-header | grep -q $PID; then
93 if is_wireless_device "${DEVICE}"; then
94 if is_yes "${WLAN_WPA}"; then
95 killproc --pidfile "wpa_supplicant-${DEVICE}.pid" wpa_supplicant > /dev/null 2>&1
96 rm -f "/var/run/wpa_supplicant-${DEVICE}.pid"
100 # Check to make sure the device is actually up
101 check_device_down && exit 0
104 if is_yes $ETH_VLANS && $(echo $DEVICE | grep -q ^eth) ; then
105 if echo "${DEVICE}" | grep -q '\.' ; then
107 ip addr flush dev ${DEVICE} 2>&1 | grep -v "Nothing to flush"
108 ip link set ${DEVICE} down
109 /sbin/vconfig rem ${DEVICE} 2>&1 > /dev/null
111 # downujemy interfejs nadrzedny do vlanow
112 for VLANDEVICE in $(ls /proc/net/vlan 2> /dev/null | grep ^${DEVICE}) ; do
113 # najpierw wszystkie vlany po kolei
114 ip addr flush dev ${VLANDEVICE} 2>&1 | grep -v "Nothing to flush"
115 ip link set ${VLANDEVICE} down
116 /sbin/vconfig rem ${VLANDEVICE} 2>&1 > /dev/null
118 # a potem dopiero interfejs nadrzedny
119 ip addr flush dev ${DEVICE} 2>&1 | grep -v "Nothing to flush"
120 ip link set ${DEVICE} down
123 ip addr flush dev ${DEVICE} 2>&1 | grep -v "Nothing to flush"
124 ip link set ${DEVICE} down
127 if [ "$HANDLING" = "4" ]; then
131 if [ -n "$RESULT" ] ; then
132 if [ "$RESULT" -ne "0" ]; then
137 exec /etc/sysconfig/network-scripts/ifdown-post $CONFIG
139 # This must be last line !