aboutsummaryrefslogtreecommitdiffstats
path: root/sysconfig/network-scripts/ifup-ctc
blob: 1a1aec5d1c41bfc31c2f2ae13de6254b9c7d13bc (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
53
#!/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
	route add -host ${GATEWAY} metric 1 ${DEVICE}
fi

if [ "${GATEWAY}" != "" ]; then
	if [ "${GATEWAYDEV}" = "" -o "${GATEWAYDEV}" = "${DEVICE}" ]; then
		# set up default gateway
		route add default gw ${GATEWAY} ${METRIC:+metric $METRIC}
	fi
fi

/etc/sysconfig/network-scripts/ifup-post $1