1 |
#!/bin/bash |
#!/bin/bash |
2 |
|
# $Header: /home/cvsd/magellan-cvs/magellan-src/magellan-initscripts/etc/rc.d/init.d/network,v 1.3 2005-03-15 19:07:56 niro Exp $ |
3 |
|
|
4 |
#%rlevels: 0:k 1:k 2:k 3:s 4:s 5:s 6:k |
#%rlevels: 0:k 1:k 2:k 3:s 4:s 5:s 6:k |
5 |
#%start: 20 |
#%start: 20 |
11 |
#%after: |
#%after: |
12 |
|
|
13 |
source /etc/sysconfig/rc |
source /etc/sysconfig/rc |
14 |
source $rc_functions |
source ${rc_functions} |
15 |
|
|
16 |
checkconfig() { |
checkconfig() { |
17 |
if [ -z $NETWORKING ] |
if [ -z "${NETWORKING}" ] |
18 |
then |
then |
19 |
echo "NETWORKING missing in net.${interface}, aborted" |
echo "NETWORKING missing in net.${interface}, aborted" |
20 |
exit 1 |
exit 1 |
21 |
fi |
fi |
22 |
|
|
23 |
case $NETWORKING in |
case "${NETWORKING}" in |
24 |
static) |
static) |
25 |
if [ -z $IP ] |
if [ -z "${IP}" ] |
26 |
then |
then |
27 |
echo "IP missing in net.${interface}, aborted" |
echo "IP missing in net.${interface}, aborted" |
28 |
exit 1 |
exit 1 |
29 |
fi |
fi |
30 |
|
|
31 |
if [ -z $NETMASK ] |
if [ -z "${NETMASK}" ] |
32 |
then |
then |
33 |
echo -n "NETMASK missing in net.${interface}, " |
echo -n "NETMASK missing in net.${interface}, " |
34 |
echo "using 255.255.255.0" |
echo "using 255.255.255.0" |
35 |
NETMASK=255.255.255.0 |
NETMASK=255.255.255.0 |
36 |
fi |
fi |
37 |
|
|
38 |
if [ -z $BROADCAST ] |
if [ -z "${BROADCAST}" ] |
39 |
then |
then |
40 |
echo -n "BROADCAST missing in net.${interface}, " |
echo -n "BROADCAST missing in net.${interface}, " |
41 |
echo "using default address" |
echo "using default address" |
42 |
fi |
fi |
43 |
;; |
;; |
44 |
|
|
45 |
dhcp) |
dhcp) |
46 |
if [ -z $DHCP_PROG ] |
if [ -z "${DHCP_PROG}" ] |
47 |
then |
then |
48 |
echo "DHCP_PROG missing in net.${interface}, aborted" |
echo "DHCP_PROG missing in net.${interface}, aborted" |
49 |
exit 1 |
exit 1 |
50 |
fi |
fi |
51 |
;; |
;; |
52 |
|
|
53 |
esac |
esac |
54 |
} |
} |
55 |
|
|
56 |
|
|
57 |
case "$1" in |
case "$1" in |
58 |
start) |
start) |
59 |
for file in $(grep -il "ONBOOT=\"yes\"" $network_settings/net.*) |
for file in $(grep -il "ONBOOT=\"yes\"" ${network_settings}/net.*) |
60 |
do |
do |
61 |
interface=$(basename $file | sed s/net.//) |
interface=$(basename ${file} | sed s/net.//) |
62 |
case "$interface" in |
case "${interface}" in |
63 |
*~) ;; |
*~) ;; |
64 |
*) |
*) |
65 |
#$network_devices/ifup $interface |
source ${network_settings}/net.${interface} || exit 1 |
|
source $network_settings/net.${interface} || exit 1 |
|
66 |
checkconfig |
checkconfig |
67 |
case $NETWORKING in |
case "${NETWORKING}" in |
68 |
dhcp) |
dhcp) |
69 |
echo -e ${COLOREDSTAR}"Bringing up interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
echo -e ${COLOREDSTAR}"Bringing up interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
70 |
$CURS_UP |
${CURS_UP} |
71 |
$SET_WWCOL |
${SET_WWCOL} |
72 |
echo "[DHCP]" |
echo "[DHCP]" |
73 |
#modprobe $interface |
loadproc ${DHCP_PROG} ${DHCP_START} |
|
loadproc $DHCP_PROG $DHCP_START |
|
74 |
;; |
;; |
75 |
static) |
static) |
76 |
echo -e ${COLOREDSTAR}"Bringing up interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
echo -e ${COLOREDSTAR}"Bringing up interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
77 |
$CURS_UP |
${CURS_UP} |
78 |
$SET_WWCOL |
${SET_WWCOL} |
79 |
echo "[STATIC]" |
echo "[STATIC]" |
80 |
ifconfig $interface $IP netmask $NETMASK broadcast $BROADCAST |
ifconfig ${interface} ${IP} netmask ${NETMASK} broadcast ${BROADCAST} |
81 |
evaluate_retval |
evaluate_retval |
82 |
;; |
;; |
83 |
esac |
esac |
85 |
esac |
esac |
86 |
done |
done |
87 |
|
|
88 |
if [ "$GATEWAY" != "" ] |
if [ -n "${GATEWAY}" -a -n "${GATEWAY_IF}" ] |
89 |
then |
then |
90 |
echo -e ${COLOREDSTAR}"Setting up default gateway ..." |
echo -e ${COLOREDSTAR}"Setting up default gateway ..." |
91 |
route add default gateway $GATEWAY metric 1 \ |
route add default gateway ${GATEWAY} metric 1 \ |
92 |
dev $GATEWAY_IF |
dev ${GATEWAY_IF} |
93 |
evaluate_retval |
evaluate_retval |
94 |
fi |
fi |
95 |
|
|
98 |
;; |
;; |
99 |
|
|
100 |
stop) |
stop) |
101 |
if [ "$GATEWAY" != "" ] |
if [ -n "${GATEWAY}" ] |
102 |
then |
then |
103 |
echo -e ${COLOREDSTAR}"Removing default gateway ..." |
echo -e ${COLOREDSTAR}"Removing default gateway ..." |
104 |
route del -net default |
route del -net default |
105 |
evaluate_retval |
evaluate_retval |
106 |
fi |
fi |
107 |
|
|
108 |
for file in $(grep -il "ONBOOT=\"yes\"" $network_settings/net.*) |
for file in $(grep -il "ONBOOT=\"yes\"" ${network_settings}/net.*) |
109 |
do |
do |
110 |
interface=$(basename $file | sed s/net.//) |
interface=$(basename ${file} | sed s/net.//) |
111 |
case "$interface" in |
case "${interface}" in |
112 |
*~) ;; |
*~) ;; |
113 |
*) |
*) |
114 |
#$network_devices/ifdown $interface |
#$network_devices/ifdown $interface |
115 |
source $network_settings/net.${interface} || exit 1 |
source ${network_settings}/net.${interface} || exit 1 |
116 |
checkconfig |
checkconfig |
117 |
echo -e ${COLOREDSTAR}"Bringing down interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
echo -e ${COLOREDSTAR}"Bringing down interface ${COLBLUE}${interface}${COLDEFAULT} ..." |
118 |
ifconfig eth0 down |
ifconfig ${interface} down |
119 |
evaluate_retval |
evaluate_retval |
120 |
|
|
121 |
#shutdown dhcp-daemon |
#shutdown dhcp-daemon |
122 |
if [ $NETWORKING == dhcp ] |
if [ "${NETWORKING}" == dhcp ] |
123 |
then |
then |
124 |
my_runlevel="`runlevel | cut -d ' ' -f2`" |
my_runlevel="`runlevel | cut -d ' ' -f2`" |
125 |
if [ "$my_runlevel" -ne "0" -a "$my_runlevel" -ne "6" ] |
if [ -n "$(pidof ${DHCP_PROG})" ] |
126 |
then |
then |
127 |
echo -e ${COLOREDSTAR}"Stopping the dhcp-daemon ..." |
echo -e ${COLOREDSTAR}"Stopping the dhcp-daemon ..." |
128 |
$CURS_UP |
${CURS_UP} |
129 |
$SET_WWCOL |
${SET_WWCOL} |
130 |
echo "[${DHCP_PROG}]" |
echo "[$(basename ${DHCP_PROG})]" |
131 |
$DHCP_PROG $DHCP_STOP |
${DHCP_PROG} ${DHCP_STOP} |
132 |
evaluate_retval |
evaluate_retval |
133 |
fi |
fi |
134 |
fi |
fi |