Mike Makonnen 1afce00360 Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, begin removal
of NetBSD specific stuff (which made our scripts more complicated
than necessary), starting with the NetBSD KEYWORD.
2004-01-17 10:16:38 +00:00

82 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: rtadvd,v 1.5 2002/03/22 04:34:00 thorpej Exp $
# $FreeBSD$
#
# PROVIDE: rtadvd
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: FreeBSD
. /etc/rc.subr
name="rtadvd"
rcvar=`set_rcvar`
command="/usr/sbin/${name}"
start_precmd="rtadvd_precmd"
rtadvd_precmd()
{
case ${OSTYPE} in
FreeBSD)
IS_GATEWAY="checkyesno ipv6_gateway_enable"
;;
NetBSD)
IS_GATEWAY="eval [ \"$ip6mode\" = \"router\" ]"
;;
esac
if ! ${IS_GATEWAY}; then
warn \
"${name} cannot be used on IPv6 host, only on an IPv6 router."
return 1
fi
# This should be enabled with a great care.
# You may want to fine-tune /etc/rtadvd.conf.
#
# And if you wish your rtadvd to receive and process
# router renumbering messages, specify your Router Renumbering
# security policy by -R option.
#
# See `man 3 ipsec_set_policy` for IPsec policy specification
# details.
# (CAUTION: This enables your routers prefix renumbering
# from another machine, so if you enable this, do it with
# enough care.)
#
case ${OSTYPE} in
FreeBSD)
# If specific interfaces haven't been specified,
# get a list of interfaces and enable it on them
#
case ${rtadvd_interfaces} in
'')
for i in `ifconfig -l` ; do
case $i in
lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*)
continue
;;
*)
rtadvd_interfaces="${rtadvd_interfaces} ${i}"
;;
esac
done
;;
esac
command_args="${rtadvd_interfaces}"
# Enable Router Renumbering, unicast case
# (use correct src/dst addr)
# rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
# Enable Router Renumbering, multicast case
# (use correct src addr)
# rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces}
;;
esac
return 0
}
load_rc_config $name
run_rc_command "$1"