]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - etc/rc.d/rtadvd
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / etc / rc.d / rtadvd
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: rtadvd
7 # REQUIRE: DAEMON
8 # BEFORE:  LOGIN
9 # KEYWORD: nojail shutdown
10
11 . /etc/rc.subr
12
13 name="rtadvd"
14 rcvar=`set_rcvar`
15 command="/usr/sbin/${name}"
16 start_precmd="rtadvd_precmd"
17
18 rtadvd_precmd()
19 {
20         if ! checkyesno ipv6_gateway_enable ; then
21                 warn \
22                   "${name} cannot be used on IPv6 host, only on an IPv6 router."
23                 return 1
24         fi
25
26         # This should be enabled with a great care.
27         # You may want to fine-tune /etc/rtadvd.conf.
28         #
29         # And if you wish your rtadvd to receive and process
30         # router renumbering messages, specify your Router Renumbering
31         # security policy by -R option.
32         #
33         # See `man 3 ipsec_set_policy` for IPsec policy specification
34         # details.
35         # (CAUTION: This enables your routers prefix renumbering
36         # from another machine, so if you enable this, do it with
37         # enough care.)
38         #
39         # If specific interfaces haven't been specified,
40         # get a list of interfaces and enable it on them
41         #
42         case ${rtadvd_interfaces} in
43         '')
44                 for i in `ifconfig -l` ; do
45                         case $i in
46                         lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*)
47                                 continue
48                                 ;;
49                         *)
50                                 rtadvd_interfaces="${rtadvd_interfaces} ${i}"
51                                 ;;
52                         esac
53                 done
54                 ;;
55         esac
56         command_args="${rtadvd_interfaces}"
57
58         # Enable Router Renumbering, unicast case
59         # (use correct src/dst addr)
60         # rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
61         # Enable Router Renumbering, multicast case
62         # (use correct src addr)
63         # rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
64         return 0
65 }
66
67 load_rc_config $name
68 run_rc_command "$1"