aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts/ifup-ctc
blob: 83f754a071f360e8400808e99a96d53aa0154cb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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