]>
Commit | Line | Data |
---|---|---|
9c16cd92 MT |
1 | #!/bin/sh |
2 | ######################################################################## | |
3 | # Begin $network_devices/ifup | |
4 | # | |
5 | # Description : Interface Up | |
6 | # | |
7 | # Authors : Nathan Coulson - nathan@linuxfromscratch.org | |
8 | # Kevin P. Fleming - kpfleming@linuxfromscratch.org | |
9 | # Michael Tremer - mitch@ipfire.org | |
10 | # | |
11 | # Version : 01.00 | |
12 | # | |
13 | # Notes : the variables are passed to the scripts found | |
14 | # in the services directory | |
15 | # | |
16 | ######################################################################## | |
17 | ||
18 | . /etc/sysconfig/rc | |
19 | . ${rc_functions} | |
20 | ||
21 | boot_mesg "Bringing up the $name interface..." | |
22 | boot_mesg_flush | |
23 | ||
24 | ( | |
25 | eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) | |
bf7c473f MT |
26 | |
27 | if [ "$name" == "green" ]; then | |
28 | DEVICE="${GREEN_DEV}" | |
29 | elif [ "$name" == "blue" ]; then | |
30 | DEVICE="${BLUE_DEV}" | |
31 | elif [ "$name" == "orange" ]; then | |
32 | DEVICE="${ORANGE_DEV}" | |
33 | elif [ "$name" == "red" ]; then | |
34 | DEVICE="${RED_DEV}" | |
35 | fi | |
9c16cd92 | 36 | |
9520a3d0 | 37 | # Check if an interface is there... |
9c16cd92 MT |
38 | if ip link show ${DEVICE} > /dev/null 2>&1; then |
39 | link_status=`ip link show ${DEVICE} 2> /dev/null` | |
40 | if [ -n "${link_status}" ]; then | |
41 | if ! echo "${link_status}" | grep -q UP; then | |
42 | ip link set ${DEVICE} up | |
43 | fi | |
44 | fi | |
45 | ||
46 | else | |
47 | boot_mesg "Interface ${DEVICE} doesn't exist." ${FAILURE} | |
48 | echo_failure | |
49 | exit 1 | |
50 | fi | |
51 | ||
52 | # Passing the variables to the script | |
53 | if [ "$name" == "green" ]; then | |
9520a3d0 | 54 | NAME=${name} ADDRESS=${GREEN_ADDRESS} NETMASK=${GREEN_NETMASK} \ |
9c16cd92 MT |
55 | NETADDRESS=${GREEN_NETADDRESS} BROADCAST=${GREEN_BROADCAST} \ |
56 | /etc/rc.d/init.d/net/common/ipv4-static ${GREEN_DEV} up | |
57 | ||
58 | elif [ "$name" == "blue" ]; then | |
9520a3d0 | 59 | NAME=${name} ADDRESS=${BLUE_ADDRESS} NETMASK=${BLUE_NETMASK} \ |
9c16cd92 MT |
60 | NETADDRESS=${BLUE_NETADDRESS} BROADCAST=${BLUE_BROADCAST} \ |
61 | /etc/rc.d/init.d/net/common/ipv4-static ${BLUE_DEV} up | |
62 | ||
63 | elif [ "$name" == "orange" ]; then | |
9520a3d0 | 64 | NAME=${name} ADDRESS=${ORANGE_ADDRESS} NETMASK=${ORANGE_NETMASK} \ |
9c16cd92 MT |
65 | NETADDRESS=${ORANGE_NETADDRESS} BROADCAST=${ORANGE_BROADCAST} \ |
66 | /etc/rc.d/init.d/net/common/ipv4-static ${ORANGE_DEV} up | |
67 | ||
68 | elif [ "$name" == "red" ]; then | |
69 | if [ "${RED_TYPE}" == "PPPOE" ]; then | |
9520a3d0 | 70 | NAME=${name} /etc/rc.d/init.d/net/red/pppoe ${RED_DEV} up |
9c16cd92 MT |
71 | elif [ "${RED_TYPE}" == "PPTP" ]; then |
72 | echo | |
73 | elif [ "${RED_TYPE}" == "DHCP" ]; then | |
74 | NAME=${name} DHCP_HOSTNAME=${RED_DHCP_HOSTNAME} \ | |
bf7c473f | 75 | DNS1=${DNS1} DNS2=${DNS2} \ |
9c16cd92 | 76 | PRINTIP=yes PRINTALL=yes \ |
9520a3d0 | 77 | /etc/rc.d/init.d/net/common/dhcpcd ${RED_DEV} up |
9c16cd92 | 78 | elif [ "${RED_TYPE}" == "STATIC" ]; then |
9520a3d0 | 79 | NAME=${name} ADDRESS=${RED_ADDRESS} NETMASK=${RED_NETMASK} \ |
9c16cd92 | 80 | NETADDRESS=${RED_NETADDRESS} BROADCAST=${RED_BROADCAST} \ |
64a42535 | 81 | DNS1=${DNS1} DNS2=${DNS2} GATEWAY=${DEFAULT_GATEWAY} \ |
9520a3d0 | 82 | /etc/rc.d/init.d/net/common/ipv4-static ${RED_DEV} up |
9c16cd92 | 83 | fi |
bf7c473f | 84 | |
77d211a7 | 85 | /usr/local/bin/dialctrl.pl up |
bf7c473f MT |
86 | /etc/rc.d/init.d/net/red/update |
87 | fi | |
88 | ||
9c16cd92 MT |
89 | ) |
90 | ||
91 | # End $network_devices/ifup |