1afce00360
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.
82 lines
1.8 KiB
Bash
Executable File
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"
|