1#!/bin/sh 2# 3# Copyright (c) 2000 The FreeBSD Project 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 2. Redistributions in binary form must reproduce the above copyright 12# notice, this list of conditions and the following disclaimer in the 13# documentation and/or other materials provided with the distribution. 14# 15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25# SUCH DAMAGE. 26# 27# $FreeBSD$ 28# 29 30# PROVIDE: atm2 31# REQUIRE: atm1 netif 32# BEFORE: routing 33# KEYWORD: nojail 34 35# 36# Additional ATM interface configuration 37# 38. /etc/rc.subr 39 40name="atm2" 41rcvar="atm_enable" 42start_cmd="atm2_start" 43stop_cmd=":" 44 45atm2_start() 46{ 47 # Configure network interfaces 48 49 # get a list of physical interfaces 50 atm_phy=`atm show stat int | { read junk ; read junk ; \ 51 while read dev junk ; do 52 case ${dev} in 53 en[0-9] | en[0-9][0-9]) 54 ;; 55 *) 56 echo "${dev} " 57 ;; 58 esac 59 done ; }` 60 61 for phy in ${atm_phy}; do 62 eval netif_args=\$atm_netif_${phy} 63 set -- ${netif_args} 64 # skip unused physical interfaces 65 if [ $# -lt 2 ] ; then 66 continue 67 fi 68 69 netname=$1 70 netcnt=$2 71 netindx=0 72 while [ ${netindx} -lt ${netcnt} ]; do 73 net="${netname}${netindx}" 74 netindx=$((${netindx} + 1)) 75 echo -n " ${net}" 76 77 # Configure atmarp server 78 eval atmarp_args=\$atm_arpserver_${net} 79 if [ -n "${atmarp_args}" ]; then 80 atm set arpserver ${net} ${atmarp_args} || 81 continue 82 fi 83 done 84 done 85 echo '.' 86 87 # Define any permanent ARP entries. 88 if [ -n "${atm_arps}" ]; then 89 for i in ${atm_arps}; do 90 eval arp_args=\$atm_arp_${i} 91 atm add arp ${arp_args} 92 done 93 fi 94} 95 96load_rc_config $name 97run_rc_command "$1" 98