Bring RCNG in from 5.x and adjust config files and scripts accordingly.
[dragonfly.git] / etc / rc.d / atm2.sh
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: src/etc/rc.d/atm2.sh,v 1.13 2003/06/29 05:15:57 mtm Exp $
28 # $DragonFly: src/etc/rc.d/atm2.sh,v 1.1 2003/07/24 06:35:37 dillon Exp $
29 #
30
31 # PROVIDE: atm2
32 # REQUIRE: atm1 netif
33 # BEFORE:  routing
34 # KEYWORD: DragonFly FreeBSD 
35
36 #
37 # Additional ATM interface configuration
38 #
39
40 . /etc/rc.subr
41
42 atm2_start()
43 {
44         # Configure network interfaces
45         for phy in ${atm_phy}; do
46                 eval netif_args=\$atm_netif_${phy}
47                 set -- ${netif_args}
48                 netname=$1
49                 netcnt=$2
50                 netindx=0
51                 while [ ${netindx} -lt ${netcnt} ]; do
52                         net="${netname}${netindx}"
53                         netindx=$((${netindx} + 1))
54                         echo -n " ${net}"
55
56                         # Configure atmarp server
57                         eval atmarp_args=\$atm_arpserver_${net}
58                         if [ -n "${atmarp_args}" ]; then
59                                 atm set arpserver ${net} ${atmarp_args} ||
60                                     continue
61                         fi
62                         eval scsparp_args=\$atm_scsparp_${net}
63
64                         case ${scsparp_args} in
65                         [Yy][Ee][Ss])
66                                 case ${atmarp_args} in
67                                 local)
68                                         ;;
69                                 *)
70                                         echo ' local arpserver required for SCSP'
71                                         continue
72                                         ;;
73                                 esac
74
75                                 atm_atmarpd="${atm_atmarpd} ${net}"
76                                 atm_scspd=1
77                                 ;;
78                         esac
79                 done
80         done
81         echo '.'
82
83         # Define any permanent ARP entries.
84         if [ -n "${atm_arps}" ]; then
85                 for i in ${atm_arps}; do
86                         eval arp_args=\$atm_arp_${i}
87                         atm add arp ${arp_args}
88                 done
89         fi
90
91         # XXX - required by atm3.sh. I don't like having one script depend
92         #       on variables in another script (especially in a dynamic
93         #       ordered system like this), but it's necessary for the moment.
94         #
95         export atm_atmarpd
96         export atm_scspd
97 }
98
99 load_rc_config "XXX"
100
101 case ${atm_enable} in
102 [Yy][Ee][Ss])
103         atm2_start
104         ;;
105 esac