rtadvd revision 247271
1109998Smarkm#!/bin/sh
2280304Sjkim#
3280304Sjkim# $FreeBSD: head/etc/rc.d/rtadvd 247271 2013-02-25 17:07:42Z des $
4280304Sjkim#
5109998Smarkm
6109998Smarkm# PROVIDE: rtadvd
7109998Smarkm# REQUIRE: DAEMON
855714Skris# BEFORE:  LOGIN
955714Skris# KEYWORD: nojail shutdown
1055714Skris
1155714Skris. /etc/rc.subr
12109998Smarkm. /etc/network.subr
13109998Smarkm
14280304Sjkimname="rtadvd"
15109998Smarkmrcvar="rtadvd_enable"
1655714Skriscommand="/usr/sbin/${name}"
17109998Smarkmstart_precmd="rtadvd_precmd"
18109998Smarkm
19109998Smarkmrtadvd_precmd()
20109998Smarkm{
21109998Smarkm	# This should be enabled with a great care.
22109998Smarkm	# You may want to fine-tune /etc/rtadvd.conf.
23109998Smarkm	#
24109998Smarkm	# And if you wish your rtadvd to receive and process
25109998Smarkm	# router renumbering messages, specify your Router Renumbering
26109998Smarkm	# security policy by -R option.
27109998Smarkm	#
28109998Smarkm	# See `man 3 ipsec_set_policy` for IPsec policy specification
29109998Smarkm	# details.
30109998Smarkm	# (CAUTION: This enables your routers prefix renumbering
31109998Smarkm	# from another machine, so if you enable this, do it with
32109998Smarkm	# enough care.)
33109998Smarkm	#
34109998Smarkm	# If specific interfaces haven't been specified,
35109998Smarkm	# get a list of interfaces and enable it on them
36109998Smarkm	#
37109998Smarkm	case ${rtadvd_interfaces} in
38109998Smarkm	[Aa][Uu][Tt][Oo]|'')
39109998Smarkm		command_args=
40109998Smarkm		for i in `list_net_interfaces`; do
41109998Smarkm			case $i in
42109998Smarkm			lo0)	continue ;;
43109998Smarkm			esac
44109998Smarkm			if ipv6if $i; then
45109998Smarkm				command_args="${command_args} ${i}"
46109998Smarkm			fi
47109998Smarkm		done
48109998Smarkm		;;
49109998Smarkm	[Nn][Oo][Nn][Ee])
50109998Smarkm		;;
51109998Smarkm	*)
52109998Smarkm		command_args="${rtadvd_interfaces}"
53109998Smarkm		;;
54109998Smarkm	esac
55109998Smarkm
56109998Smarkm	# Enable Router Renumbering, unicast case
57109998Smarkm	# (use correct src/dst addr)
5855714Skris	# rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
5955714Skris	# Enable Router Renumbering, multicast case
60109998Smarkm	# (use correct src addr)
6155714Skris	# rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
62109998Smarkm	return 0
63109998Smarkm}
6455714Skris
65109998Smarkmload_rc_config $name
66280304Sjkimrun_rc_command "$1"
67280304Sjkim