diff options
author | phk <phk@FreeBSD.org> | 1998-10-06 19:24:31 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1998-10-06 19:24:31 +0000 |
commit | b876394ab200eade9ffb65151afe135c80ca4370 (patch) | |
tree | 228ce8b47fbe9cf516dc93d5d4decc6921941a01 /etc | |
parent | 28bef97c3eada8f5d78d30f575213106f74e2ad2 (diff) | |
download | FreeBSD-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/Makefile | 4 | ||||
-rw-r--r-- | etc/network.subr | 18 | ||||
-rw-r--r-- | etc/rc.atm | 175 | ||||
-rw-r--r-- | etc/rc.conf | 13 | ||||
-rw-r--r-- | etc/rc.d/atm1 | 175 | ||||
-rw-r--r-- | etc/rc.d/atm2 | 175 | ||||
-rw-r--r-- | etc/rc.d/atm2.sh | 175 | ||||
-rw-r--r-- | etc/rc.d/atm3 | 175 | ||||
-rw-r--r-- | etc/rc.d/atm3.sh | 175 | ||||
-rw-r--r-- | etc/rc.d/netoptions | 18 | ||||
-rw-r--r-- | etc/rc.d/network1 | 18 | ||||
-rw-r--r-- | etc/rc.d/network2 | 18 | ||||
-rw-r--r-- | etc/rc.d/network3 | 18 | ||||
-rw-r--r-- | etc/rc.d/routing | 18 | ||||
-rw-r--r-- | etc/rc.network | 18 |
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 } |