]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/initscripts/init.d/net/ifdown
Erste Teile der neuen Netzwerkscripte.
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / net / ifdown
diff --git a/src/initscripts/init.d/net/ifdown b/src/initscripts/init.d/net/ifdown
new file mode 100644 (file)
index 0000000..3b80d7d
--- /dev/null
@@ -0,0 +1,78 @@
+#!/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     : 00.01
+#
+# 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
+                       echo
+               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/red/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
+       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