freebsd-dev/etc/netstart
peter c07ea640d2 Add rudimentry support for ifconfig'ing aliases at boot. Also allow
start_if.<if> to do all the work instead if so configured.  With examples.
1996-10-27 06:30:43 +00:00

89 lines
2.4 KiB
Bash
Executable File

#!/bin/sh -
#
# $Id: netstart,v 1.44 1996/04/06 09:24:48 mpp Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
# this file, but rather in /etc/sysconfig. Please check this file
# first before contemplating any changes here. If you do need to change
# this file for some reason, we would like to know about it.
# If there is a global system configuration file, suck it in.
if [ -f /etc/sysconfig ]; then
. /etc/sysconfig
fi
# Set the host name if it is not already set
if [ -z "`hostname -s`" ] ; then
hostname $hostname
fi
# Set the domainname if we're using NIS
if [ -n "$defaultdomainname" -a "x$defaultdomainname" != "xNO" ] ; then
domainname $defaultdomainname
fi
# If IP filtering
if [ -n "$firewall" -a "x$firewall" != "xNO" -a -f /etc/rc.firewall ] ; then
sh /etc/rc.firewall
fi
#
# XXX This is known to cause an error if /usr is nfs mounted since it
# will not be available until after the network is up :-(. Once the
# relocation of sysctl to /sbin is done that problem will go away.
#
if [ -n "$tcp_extensions" -a "x$tcp_extensions" = "xNO" ] ; then
sysctl -w net.inet.tcp.rfc1323=0
sysctl -w net.inet.tcp.rfc1644=0
fi
# Set up all the network interfaces, calling startup scripts if needed
for ifn in ${network_interfaces}; do
if [ -e /etc/start_if.${ifn} ]; then
. /etc/start_if.${ifn} ${ifn}
fi
# Do the primary ifconfig if specified
eval ifconfig_args=\$ifconfig_${ifn}
if [ -n "${ifconfig_args}" ] ; then
ifconfig ${ifn} ${ifconfig_args}
fi
# Check to see if aliases need to be added
alias=0
while :
do
eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
if [ -n "${ifconfig_args}" ]; then
ifconfig ${ifn} ${ifconfig_args} alias
alias=`expr ${alias} + 1`
else
break;
fi
done
ifconfig ${ifn}
done
if [ -n "$defaultrouter" -a "x$defaultrouter" != "xNO" ] ; then
static_routes="default ${static_routes}"
route_default="default ${defaultrouter}"
fi
# Set up any static routes. This should be done before router discovery.
if [ "x${static_routes}" != "x" ]; then
for i in ${static_routes}; do
eval route_args=\$route_${i}
route add ${route_args}
done
fi
if [ "x$gateway" != "xNO" ]; then
echo 'configuring host as a gateway.'
sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
fi
if [ "x$router" != "xNO" ] ; then
echo -n starting routing daemon:
echo -n " ${router}"; ${router} ${routerflags}
echo '.'
fi