summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1998-10-06 19:24:31 +0000
committerphk <phk@FreeBSD.org>1998-10-06 19:24:31 +0000
commitb876394ab200eade9ffb65151afe135c80ca4370 (patch)
tree228ce8b47fbe9cf516dc93d5d4decc6921941a01 /etc
parent28bef97c3eada8f5d78d30f575213106f74e2ad2 (diff)
downloadFreeBSD-src-b876394ab200eade9ffb65151afe135c80ca4370.zip
FreeBSD-src-b876394ab200eade9ffb65151afe135c80ca4370.tar.gz
Here are some scripts and man pages for configuring HARP ATM
interfaces. Reviewed by: phk Submitted by: Mike Spengler <mks@networkcs.com>
Diffstat (limited to 'etc')
-rw-r--r--etc/Makefile4
-rw-r--r--etc/network.subr18
-rw-r--r--etc/rc.atm175
-rw-r--r--etc/rc.conf13
-rw-r--r--etc/rc.d/atm1175
-rw-r--r--etc/rc.d/atm2175
-rw-r--r--etc/rc.d/atm2.sh175
-rw-r--r--etc/rc.d/atm3175
-rw-r--r--etc/rc.d/atm3.sh175
-rw-r--r--etc/rc.d/netoptions18
-rw-r--r--etc/rc.d/network118
-rw-r--r--etc/rc.d/network218
-rw-r--r--etc/rc.d/network318
-rw-r--r--etc/rc.d/routing18
-rw-r--r--etc/rc.network18
15 files changed, 1183 insertions, 10 deletions
diff --git a/etc/Makefile b/etc/Makefile
index 548ad37..2b1302e 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -1,5 +1,5 @@
# from: @(#)Makefile 5.11 (Berkeley) 5/21/91
-# $Id: Makefile,v 1.176 1998/09/25 07:42:29 dima Exp $
+# $Id: Makefile,v 1.177 1998/09/25 08:21:15 dima Exp $
SUBDIR= sendmail
@@ -7,7 +7,7 @@ BIN1= aliases amd.map crontab csh.cshrc csh.login csh.logout dm.conf \
fbtab ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
inetd.conf login.conf login.access motd modems networks \
newsyslog.conf phones pccard.conf.sample printcap profile protocols \
- rc rc.conf rc.devfs rc.firewall rc.local rc.network rc.pccard \
+ rc rc.atm rc.conf rc.devfs rc.firewall rc.local rc.network rc.pccard \
rc.serial rc.shutdown etc.${MACHINE_ARCH}/rc.${MACHINE_ARCH} \
remote security services shells syslog.conf \
etc.${MACHINE_ARCH}/ttys etc.${MACHINE_ARCH}/disktab rpc make.conf \
diff --git a/etc/network.subr b/etc/network.subr
index a6412a8..cf9ff66 100644
--- a/etc/network.subr
+++ b/etc/network.subr
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.atm b/etc/rc.atm
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.atm
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.conf b/etc/rc.conf
index b3db518..7404d92 100644
--- a/etc/rc.conf
+++ b/etc/rc.conf
@@ -6,7 +6,7 @@
#
# All arguments must be in double or single quotes.
#
-# $Id: rc.conf,v 1.58 1998/09/16 05:42:38 jdp Exp $
+# $Id: rc.conf,v 1.59 1998/09/23 04:42:02 jkh Exp $
##############################################################
### Important initial Boot-time options #####################
@@ -114,6 +114,17 @@ arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL.
forward_sourceroute="NO" # do source routing (only if gateway_enable is set to "YES")
accept_sourceroute="NO" # accept source routed packets to us
+### ATM interface options: ###
+atm_enable="NO" # Configure ATM interfaces (or NO).
+#atm_netif_hea0="atm 1" # Network interfaces for physical interface.
+#atm_sigmgr_hea0="uni31" # Signalling manager for physical interface.
+#atm_prefix_hea0="ILMI" # NSAP prefix (UNI interfaces only) (or ILMI).
+#atm_macaddr_hea0="NO" # Override physical MAC address (or NO).
+#atm_arpserver_atm0="0x47.0005.80.999999.9999.9999.9999.999999999999.00" # ATMARP server address (or local).
+#atm_scsparp_atm0="NO" # Run SCSP/ATMARP on network interface (or NO).
+atm_pvcs="" # Set to PVC list (or leave empty).
+atm_arps="" # Set to permanent ARP list (or leave empty).
+
### Miscellaneous network options: ###
icmp_bmcastecho="NO" # respond to broadcast ping packets
diff --git a/etc/rc.d/atm1 b/etc/rc.d/atm1
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.d/atm1
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.d/atm2 b/etc/rc.d/atm2
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.d/atm2
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.d/atm2.sh b/etc/rc.d/atm2.sh
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.d/atm2.sh
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.d/atm3 b/etc/rc.d/atm3
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.d/atm3
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.d/atm3.sh b/etc/rc.d/atm3.sh
new file mode 100644
index 0000000..42854c0
--- /dev/null
+++ b/etc/rc.d/atm3.sh
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+
+# ATM networking startup script
+#
+# $Id$
+
+#
+# Initial interface configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass1() {
+ # Locate all probed ATM adapters by scanning dmesg output
+ saveifs="${IFS}"
+ IFS=$IFS:
+ atmdev=`dmesg | while read dev junk; do
+ case ${dev} in
+ hea[0-9]|hea[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hfa[0-9]|hfa[0-9][0-9])
+ echo "${dev} "
+ ;;
+ *)
+ continue
+ ;;
+ esac
+ done`
+ IFS="${saveifs}"
+
+ if [ -z "${atmdev}" ]; then
+ echo "No ATM adapters found."
+ return 0
+ fi
+
+ # Load microcode into FORE adapters (if needed)
+ if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then
+ fore_dnld -d /etc
+ fi
+
+ # Configure physical interfaces
+ ilmid=0
+ for phy in ${atmdev}; do
+ echo -n "Configuring ATM device ${phy}:"
+
+ # Define network interfaces
+ eval netif_args=\$atm_netif_${phy}
+ if [ -n "${netif_args}" ]; then
+ atm set netif ${phy} ${netif_args} || continue
+ else
+ echo "missing network interface definition"
+ continue
+ fi
+
+ # Override physical MAC address
+ eval macaddr_args=\$atm_macaddr_${phy}
+ if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then
+ atm set mac ${phy} ${macaddr_args} || continue
+ fi
+
+ # Configure signalling manager
+ eval sigmgr_args=\$atm_sigmgr_${phy}
+ if [ -n "${sigmgr_args}" ]; then
+ atm attach ${phy} ${sigmgr_args} || continue
+ else
+ echo "missing signalling manager definition"
+ continue
+ fi
+
+ # Configure UNI NSAP prefix
+ eval prefix_args=\$atm_prefix_${phy}
+ if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then
+ if [ -z "${prefix_args}" ]; then
+ echo "missing NSAP prefix for UNI interface"
+ continue
+ fi
+ if [ "${prefix_args}" = "ILMI" ]; then
+ ilmid=1
+ else
+ atm set prefix ${phy} ${prefix_args} || continue
+ fi
+ fi
+
+ atm_phy="${atm_phy} ${phy}"
+ echo "."
+ done
+
+ echo -n "Starting initial ATM daemons:"
+ # Start ILMI daemon (if needed)
+ if [ ${ilmid} -eq 1 ]; then
+ echo -n " ilmid"
+ ilmid
+ fi
+
+ echo "."
+ atm_pass1_done=YES
+}
+
+#
+# Finish up configuration.
+# N.B. /usr is not mounted.
+#
+atm_pass2() {
+ echo -n "Configuring ATM network interfaces:"
+
+ atm_scspd=0
+ atm_atmarpd=""
+
+ # Configure network interfaces
+ for phy in ${atm_phy}; do
+ eval netif_args=\$atm_netif_${phy}
+ set -- ${netif_args}
+ netname=$1
+ netcnt=$2
+ netindx=0
+ while [ ${netindx} -lt ${netcnt} ]; do
+
+ net="${netname}${netindx}"
+ netindx=`expr ${netindx} + 1`
+ echo -n " ${net}"
+
+ # Configure atmarp server
+ eval atmarp_args=\$atm_arpserver_${net}
+ if [ -n "${atmarp_args}" ]; then
+ atm set arpserver ${net} ${atmarp_args} || continue
+ fi
+ eval scsparp_args=\$atm_scsparp_${net}
+ if [ "X${scsparp_args}" = X"YES" ]; then
+ if [ "${atmarp_args}" != "local" ]; then
+ echo "local arpserver required for SCSP"
+ continue
+ fi
+ atm_atmarpd="${atm_atmarpd} ${net}"
+ atm_scspd=1
+ fi
+ done
+ done
+ echo "."
+
+ # Define any PVCs.
+ if [ "X${atm_pvcs}" != "X" ]; then
+ for i in ${atm_pvcs}; do
+ eval pvc_args=\$atm_pvc_${i}
+ atm add pvc ${pvc_args}
+ done
+ fi
+
+ # Define any permanent ARP entries.
+ if [ "X${atm_arps}" != "X" ]; then
+ for i in ${atm_arps}; do
+ eval arp_args=\$atm_arp_${i}
+ atm add arp ${arp_args}
+ done
+ fi
+ atm_pass2_done=YES
+}
+
+#
+# Start any necessary daemons.
+#
+atm_pass3() {
+ # Start SCSP daemon (if needed)
+ if [ ${atm_scspd} -eq 1 ]; then
+ echo -n " scspd"
+ scspd
+ fi
+
+ # Start ATMARP daemon (if needed)
+ if [ -n "${atm_atmarpd}" ]; then
+ echo -n " atmarpd"
+ atmarpd ${atm_atmarpd}
+ fi
+
+ atm_pass3_done=YES
+}
diff --git a/etc/rc.d/netoptions b/etc/rc.d/netoptions
index a6412a8..cf9ff66 100644
--- a/etc/rc.d/netoptions
+++ b/etc/rc.d/netoptions
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.d/network1 b/etc/rc.d/network1
index a6412a8..cf9ff66 100644
--- a/etc/rc.d/network1
+++ b/etc/rc.d/network1
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.d/network2 b/etc/rc.d/network2
index a6412a8..cf9ff66 100644
--- a/etc/rc.d/network2
+++ b/etc/rc.d/network2
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.d/network3 b/etc/rc.d/network3
index a6412a8..cf9ff66 100644
--- a/etc/rc.d/network3
+++ b/etc/rc.d/network3
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.d/routing b/etc/rc.d/routing
index a6412a8..cf9ff66 100644
--- a/etc/rc.d/routing
+++ b/etc/rc.d/routing
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
diff --git a/etc/rc.network b/etc/rc.network
index a6412a8..cf9ff66 100644
--- a/etc/rc.network
+++ b/etc/rc.network
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: rc.network,v 1.31 1998/09/15 10:49:02 jkoshy Exp $
+# $Id: rc.network,v 1.32 1998/09/16 20:38:23 cracauer Exp $
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
# Note that almost all the user-configurable behavior is no longer in
@@ -25,6 +25,12 @@ network_pass1() {
fi
echo '.'
+ # Initial ATM interface configuration
+ if [ "X${atm_enable}" = X"YES" -a -f /etc/rc.atm ]; then
+ . /etc/rc.atm
+ atm_pass1
+ 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
@@ -89,6 +95,11 @@ network_pass1() {
fi
fi
+ # Additional ATM interface configuration
+ if [ -n "${atm_pass1_done}" ]; then
+ atm_pass2
+ fi
+
# Configure routing
if [ "x$defaultrouter" != "xNO" ] ; then
@@ -215,6 +226,11 @@ network_pass2() {
echo -n ' rpc.ypupdated'; rpc.ypupdated
fi
+ # Start ATM daemons
+ if [ -n "${atm_pass2_done}" ]; then
+ atm_pass3
+ fi
+
echo '.'
network_pass2_done=YES
}
OpenPOWER on IntegriCloud