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