]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/rtadvd
Fix getfsstat compatibility system call panic.
[FreeBSD/FreeBSD.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 . /etc/network.subr
13
14 name="rtadvd"
15 desc="Router advertisement daemon"
16 rcvar="rtadvd_enable"
17 command="/usr/sbin/${name}"
18 extra_commands="reload"
19 reload_cmd="rtadvd_reload"
20 start_precmd="rtadvd_precmd"
21
22 rtadvd_precmd()
23 {
24         # This should be enabled with a great care.
25         # You may want to fine-tune /etc/rtadvd.conf.
26         #
27         # And if you wish your rtadvd to receive and process
28         # router renumbering messages, specify your Router Renumbering
29         # security policy by -R option.
30         #
31         # See `man 3 ipsec_set_policy` for IPsec policy specification
32         # details.
33         # (CAUTION: This enables your routers prefix renumbering
34         # from another machine, so if you enable this, do it with
35         # enough care.)
36         #
37         # If specific interfaces haven't been specified,
38         # get a list of interfaces and enable it on them
39         #
40         case ${rtadvd_interfaces} in
41         [Aa][Uu][Tt][Oo]|'')
42                 command_args=
43                 for i in `list_net_interfaces`; do
44                         case $i in
45                         lo0)    continue ;;
46                         esac
47                         if ipv6if $i; then
48                                 command_args="${command_args} ${i}"
49                         fi
50                 done
51                 ;;
52         [Nn][Oo][Nn][Ee])
53                 ;;
54         *)
55                 command_args="${rtadvd_interfaces}"
56                 ;;
57         esac
58
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_interfaces}
62         # Enable Router Renumbering, multicast case
63         # (use correct src addr)
64         # rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
65         return 0
66 }
67
68 rtadvd_reload() {
69         /usr/sbin/rtadvctl reload
70 }
71
72 load_rc_config $name
73 run_rc_command "$1"