diff options
Diffstat (limited to 'network-scripts/ifup-ctc')
-rwxr-xr-x | network-scripts/ifup-ctc | 52 |
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 |