178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD$ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: rtadvd 778344Sobrien# REQUIRE: DAEMON 898184Sgordon# BEFORE: LOGIN 9180564Sdougb# KEYWORD: nojail shutdown 1078344Sobrien 1178344Sobrien. /etc/rc.subr 12197146Shrs. /etc/network.subr 1378344Sobrien 1478344Sobrienname="rtadvd" 15230099Sdougbrcvar="rtadvd_enable" 1678344Sobriencommand="/usr/sbin/${name}" 17262557Sdesextra_commands="reload" 18262557Sdesreload_cmd="rtadvd_reload" 1978344Sobrienstart_precmd="rtadvd_precmd" 2078344Sobrien 2178344Sobrienrtadvd_precmd() 2278344Sobrien{ 23104980Sschweikh # This should be enabled with a great care. 24104980Sschweikh # You may want to fine-tune /etc/rtadvd.conf. 25104980Sschweikh # 26104980Sschweikh # And if you wish your rtadvd to receive and process 27104980Sschweikh # router renumbering messages, specify your Router Renumbering 28104980Sschweikh # security policy by -R option. 29104980Sschweikh # 30104980Sschweikh # See `man 3 ipsec_set_policy` for IPsec policy specification 31104980Sschweikh # details. 32104980Sschweikh # (CAUTION: This enables your routers prefix renumbering 33104980Sschweikh # from another machine, so if you enable this, do it with 34104980Sschweikh # enough care.) 35104980Sschweikh # 36124622Smtm # If specific interfaces haven't been specified, 37124622Smtm # get a list of interfaces and enable it on them 38124622Smtm # 39124622Smtm case ${rtadvd_interfaces} in 40197140Shrs [Aa][Uu][Tt][Oo]|'') 41242074Sbrian command_args= 42222997Shrs for i in `list_net_interfaces`; do 43197528Shrs case $i in 44197528Shrs lo0) continue ;; 45197528Shrs esac 46197528Shrs if ipv6if $i; then 47242074Sbrian command_args="${command_args} ${i}" 48197146Shrs fi 49124622Smtm done 5098184Sgordon ;; 51247271Sdes [Nn][Oo][Nn][Ee]) 52247271Sdes ;; 53242074Sbrian *) 54242074Sbrian command_args="${rtadvd_interfaces}" 55242074Sbrian ;; 5698184Sgordon esac 57124622Smtm 58124622Smtm # Enable Router Renumbering, unicast case 59124622Smtm # (use correct src/dst addr) 60124622Smtm # rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" ${ipv6_network_interfaces} 61124622Smtm # Enable Router Renumbering, multicast case 62124622Smtm # (use correct src addr) 63124622Smtm # rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces} 6498184Sgordon return 0 6578344Sobrien} 6678344Sobrien 67262557Sdesrtadvd_reload() { 68262557Sdes /usr/sbin/rtadvctl reload 69262557Sdes} 70262557Sdes 7178344Sobrienload_rc_config $name 7278344Sobrienrun_rc_command "$1" 73