aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts/ifup-ctc
diff options
context:
space:
mode:
Diffstat (limited to 'network-scripts/ifup-ctc')
-rwxr-xr-xnetwork-scripts/ifup-ctc52
1 files changed, 52 insertions, 0 deletions
diff --git a/network-scripts/ifup-ctc b/network-scripts/ifup-ctc
new file mode 100755
index 00000000..83f754a0
--- /dev/null
+++ b/network-scripts/ifup-ctc
@@ -0,0 +1,52 @@
+#!/bin/bash
+#
+# /etc/sysconfig/network-scripts/ifup-ctc
+#
+# the ctc network driver is a point-to-point driver on S/390 machines
+#
+# To get the ctc module to load automatically at boot, you will need to
+# add the following line to /etc/modprobe.conf:
+#
+# alias ctc0 ctc
+#
+
+cd /etc/sysconfig/network-scripts
+. ./network-functions
+
+. /etc/sysconfig/network
+
+CONFIG=$1
+[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG
+source_config
+
+if [ "$2" = "boot" -a "${ONBOOT}" = "no" ] ; then
+ exit
+fi
+[ -n "${MTU}" ] && ip link set dev ${DEVICE} mtu ${MTU}
+
+[ -z "$PREFIX" ] && eval $(/bin/ipcalc --prefix ${IPADDR} ${NETMASK})
+ip addr add ${IPADDR} peer ${GATEWAY}/${PREFIX} dev ${DEVICE}
+ip link set up dev ${DEVICE}
+# Wait for the device to come up - the chandev'ified ctc driver can take
+# quite a while...
+timeout=0
+while ! ping -w 30 -c 1 ${GATEWAY} &>/dev/null; do
+ timeout=$(($timeout + 1))
+ if [ $timeout = 20 ]; then
+ net_log $"ERROR: ${DEVICE} did not come up!"
+ break
+ fi
+done
+
+if [ "${NETWORK}" != "" ] ; then
+ ip route add to ${GATEWAY} metric 1 dev ${DEVICE}
+fi
+
+if [ "${GATEWAY}" != "" ]; then
+ if [ "${GATEWAYDEV}" = "" -o "${GATEWAYDEV}" = "${DEVICE}" ]; then
+ # set up default gateway
+ ip route replace default ${METRIC:+metric $METRIC} via ${GATEWAY}
+ fi
+fi
+
+/etc/sysconfig/network-scripts/ifup-post $1