defaultroute revision 25365
1128723Sru#!/bin/sh -
2185562Sluigi#
3128723Sru#	$Id: rc.network,v 1.4 1997/05/01 20:04:42 jkh Exp $
4128723Sru#	From: @(#)netstart	5.9 (Berkeley) 3/30/91
5128723Sru
6128723Sru# Note that almost all the user-configurable behavior is no longer in
7128723Sru# this file, but rather in /etc/rc.conf.  Please check that file
8128723Sru# first before contemplating any changes here.  If you do need to change
9128723Sru# this file for some reason, we would like to know about it.
10128723Sru
11128723Sru# First pass startup stuff.
12128723Sru
13128723Srunetwork_pass1() {
14128723Sru    echo -n 'Doing initial network setup:'
15128723Sru    # Set the host name if it is not already set
16128723Sru    if [ -z "`hostname -s`" ] ; then
17128723Sru	    hostname $hostname
18128723Sru	    echo -n ' hostname'
19128722Sru    fi
20185562Sluigi
21185562Sluigi    # Set the domainname if we're using NIS
22138048Sjhb    if [ -n "$nisdomainname" -a "x$nisdomainname" != "xNO" ] ; then
23128722Sru	    domainname $nisdomainname
24185562Sluigi	    echo -n ' domain'
25185562Sluigi    fi
26185562Sluigi    echo '.'
27185562Sluigi
28185562Sluigi    # Set up all the network interfaces, calling startup scripts if needed
29185562Sluigi    for ifn in ${network_interfaces}; do
30185562Sluigi	    if [ -e /etc/start_if.${ifn} ]; then
31185562Sluigi		    . /etc/start_if.${ifn} ${ifn}
32185562Sluigi	    fi
33185579Sluigi	    # Do the primary ifconfig if specified
34185579Sluigi	    eval ifconfig_args=\$ifconfig_${ifn}
35185579Sluigi	    if [ -n "${ifconfig_args}" ] ; then
36185579Sluigi		    ifconfig ${ifn} ${ifconfig_args}
37185579Sluigi	    fi
38185579Sluigi	    # Check to see if aliases need to be added
39185579Sluigi	    alias=0
40185562Sluigi	    while :
41185579Sluigi	    do
42185579Sluigi		    eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
43185562Sluigi		    if [ -n "${ifconfig_args}" ]; then
44185562Sluigi			    ifconfig ${ifn} ${ifconfig_args} alias
45185562Sluigi			    alias=`expr ${alias} + 1`
46185562Sluigi		    else
47185562Sluigi			    break;
48185562Sluigi		    fi
49185562Sluigi	    done
50185562Sluigi	    # Do ipx address if specified
51185562Sluigi	    eval ifconfig_args=\$ifconfig_${ifn}_ipx
52185562Sluigi	    if [ -n "${ifconfig_args}" ]; then
53185562Sluigi		    ifconfig ${ifn} ${ifconfig_args}
54185562Sluigi	    fi
55185562Sluigi	    ifconfig ${ifn}
56185562Sluigi    done
57185562Sluigi    
58185562Sluigi    # If IP filtering
59185562Sluigi    if [ -n "$firewall" -a "x$firewall" != "xNO" -a -f /etc/rc.firewall ] ; then
60185562Sluigi	    echo -n ' firewall'
61185562Sluigi	    . /etc/rc.firewall
62185562Sluigi    fi
63185562Sluigi
64185562Sluigi    if [ "x$defaultrouter" != "xNO" ] ; then
65185562Sluigi	    static_routes="default ${static_routes}"
66185562Sluigi	    route_default="default ${defaultrouter}"
67185562Sluigi    fi
68185562Sluigi    
69185562Sluigi    # Set up any static routes.  This should be done before router discovery.
70185562Sluigi    if [ "x${static_routes}" != "x" ]; then
71185562Sluigi	    for i in ${static_routes}; do
72185562Sluigi		    eval route_args=\$route_${i}
73185562Sluigi		    route add ${route_args}
74185562Sluigi	    done
75185562Sluigi    fi
76185562Sluigi
77185562Sluigi    echo -n 'Additional routing options:'
78185562Sluigi    if [ "X$gateway_enable" = X"YES" ]; then
79185562Sluigi	    echo -n ' IP gateway=YES'
80185562Sluigi	    sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
81185562Sluigi    fi
82185562Sluigi    
83185562Sluigi    if [ "X$router_enable" = X"YES" ]; then
84185562Sluigi	    echo -n " ${router}";	${router} ${router_flags}
85185562Sluigi    fi
86185562Sluigi    
87185562Sluigi    if [ "X$ipxgateway_enable" = X"YES" ]; then
88185562Sluigi	    echo -n ' IPX gateway=YES'
89185562Sluigi	    sysctl -w net.ipx.ipx.ipxforwarding=1 >/dev/null 2>&1
90185562Sluigi    fi
91185562Sluigi    
92185562Sluigi    if [ "X$ipxrouted_enable" = X"YES" ]; then
93185562Sluigi	    echo -n ' IPXrouted: '
94185562Sluigi	    IPXrouted ${ipxrouted_flags} > /dev/null 2>&1
95185562Sluigi    fi
96185562Sluigi    echo '.'
97185562Sluigi    network_pass1_done=YES	# Let future generations know we made it.
98185562Sluigi}
99185562Sluigi
100185562Sluiginetwork_pass2() {
101185562Sluigi    echo -n 'Doing additional network setup:'
102185562Sluigi    if [ -n "$tcp_extentions" -a "x$tcp_extentions" != "xYES" ] ; then
103185562Sluigi	    echo -n ' tcp extentions=NO'
104185562Sluigi	    sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1
105185562Sluigi	    sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1
106185562Sluigi    fi
107185562Sluigi    if [ "X${named_enable}" = X"YES" ]; then
108185562Sluigi	    echo -n ' named';		named ${named_flags}
109185562Sluigi    fi
110185562Sluigi
111185562Sluigi    if [ "X${ntpdate_enable}" = X"YES" -o "X${xntpd_enable}" = X"YES" ]; then
112185562Sluigi	    if [ "X${tickadj_enable}" = X"YES" ]; then
113185562Sluigi		    echo -n ' tickadj';	tickadj ${tickadj_flags--Aq}
114185562Sluigi	    fi
115185562Sluigi
116185562Sluigi	    if [ "X${ntpdate_enable}" = X"YES" ]; then
117185562Sluigi		    echo -n ' ntpdate';	ntpdate ${ntpdate_flags} >/dev/null 2>&1
118185562Sluigi	    fi
119185562Sluigi
120185562Sluigi	    if [ "X${xntpd_enable}" = X"YES" ]; then
121185562Sluigi		    echo -n ' xntpd';	xntpd ${xntpd_flags}
122185562Sluigi	    fi
123185562Sluigi    fi
124185562Sluigi
125185562Sluigi    if [ "X${timed_enable}" = X"YES" ]; then
126185562Sluigi	    echo -n ' timed';		timed ${timed_flags}
127185579Sluigi    fi
128185562Sluigi
129185562Sluigi    if [ "X${portmap_enable}" = X"YES" ]; then
130185562Sluigi	    echo -n ' portmap';		portmap ${portmap_flags}
131129239Sru    fi
132129239Sru
133129239Sru    # Start ypserv if we're an NIS server.
134128722Sru    # Run rpc.ypxfrd and rpc.yppasswdd only on the NIS master server.
135129239Sru    if [ "X${nis_server_enable}" = X"YES" ]; then
136185579Sluigi	    echo -n ' ypserv'; ypserv ${nis_server_flags}
137128722Sru	    
138129239Sru	    if [ "X${nis_ypxfrd_enable}" = X"YES" ]; then
139128722Sru		    echo -n ' rpc.ypxfrd'; rpc.ypxfrd ${nis_ypxfrd_flags}
140129239Sru	    fi
141129239Sru	    
142129239Sru	    if [ "X${nis_yppasswdd_enable}" = X"YES" ]; then
143128722Sru		    echo -n ' rpc.yppasswdd'; rpc.yppasswdd ${nis_yppasswdd_flags}
144185562Sluigi	    fi
145129239Sru    fi
146128722Sru
147128723Sru    # Start ypbind if we're an NIS client
148185562Sluigi    if [ "X${nis_client_enable}" = X"YES" ]; then
149185562Sluigi	    echo -n ' ypbind'; ypbind ${nis_client_flags}
150185562Sluigi	    if [ "X${nis_ypset_enable}" = X"YES" ]; then
151185562Sluigi		    echo -n ' ypset'; ypset ${nis_ypset_flags}
152128723Sru	    fi
153185579Sluigi    fi
154185579Sluigi
155185579Sluigi    echo '.'
156185579Sluigi    network_pass2_done=YES
157185562Sluigi}
158185562Sluigi
159185562Sluiginetwork_pass3() {
160185579Sluigi    echo -n 'Starting final network daemons:'
161185579Sluigi
162185579Sluigi    if [ "X${nfs_server_enable}" = X"YES" -a -r /etc/exports ]; then
163185562Sluigi	    echo -n ' mountd'
164128722Sru	    if [ "X${weak_mountd_authentication}" = X"YES" ]; then
165185562Sluigi		    mountd_flags="-n"
166129239Sru	    fi
167129239Sru	    mountd ${mountd_flags}
168128722Sru	    if [ "X${nfs_reserved_port_only}" = X"YES" ]; then
169128723Sru		    echo -n ' nfsprivport=YES'
170185562Sluigi		    sysctl -w vfs.nfs.nfs_privport=1 >/dev/null 2>&1
171128723Sru	    fi
172128723Sru	    echo -n ' nfsd';		nfsd -u -t 4
173128723Sru	    if [ "X$rpc_lockd_enable" = X"YES" ]; then
174185562Sluigi		echo -n ' rpc.lockd';		rpc.lockd
175185562Sluigi	    fi
176185562Sluigi	    if [ "X$rpc_statd_enable" = X"YES" ]; then
177185562Sluigi		echo -n ' rpc.statd';		rpc.statd
178185562Sluigi	    fi
179128723Sru    fi
180129239Sru    
181129239Sru    if [ "X${nfs_client_enable}" = X"YES" ]; then
182129239Sru	    echo -n ' nfsiod';		nfsiod -n 4
183129239Sru    fi
184129239Sru
185129239Sru    if [ "X${amd_enable}" = X"YES" ]; then
186128722Sru	    echo -n ' amd'
187185562Sluigi	    amd -p ${amd_flags} > /var/run/amd.pid 2> /dev/null
188185562Sluigi    fi
189185562Sluigi
190129239Sru    if [ "X${rwhod_enable}" = X"YES" ]; then
191129239Sru	    echo -n ' rwhod';	rwhod
192129239Sru    fi
193129239Sru
194129239Sru    # Kerberos runs ONLY on the Kerberos server machine
195185562Sluigi    if [ "X${kerberos_server_enable}" = X"YES" ]; then
196185562Sluigi	    echo -n ' kerberos';	kerberos >> /var/log/kerberos.log &
197185562Sluigi	    echo -n ' kadmind'; \
198185562Sluigi		    (sleep 20; kadmind -n >/dev/null 2>&1 &) &
199185562Sluigi    fi
200185562Sluigi    
201129239Sru    # IP multicast routing daemon
202129239Sru    if [ "X${mrouted_enable}" = X"YES" ]; then
203129239Sru	    echo -n ' mrouted'; mrouted ${mrouted_flags}
204129239Sru    fi
205185562Sluigi    echo '.'
206128722Sru    network_pass3_done=YES
207185562Sluigi}
208185562Sluigi