install address selection policy into kernel when there is

/etc/ip6addrctl.conf.
following sample of ip6addrctl.conf is a good default:

#Prefix       Precedence Label
::1/128               50     0
::/0                  40     1
2002::/16             30     2
::/96                 20     3
::ffff:0:0/96         10     4
This commit is contained in:
Hajimu UMEMOTO 2003-10-30 17:55:52 +00:00
parent f71d0e1192
commit 2fa02b748e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=121749
2 changed files with 34 additions and 1 deletions

View File

@ -15,7 +15,7 @@ FILES= DAEMON LOGIN NETWORKING SERVERS \
gbde \
hostname \
inetd initdiskless initrandom \
ip6fw ipfilter ipfs ipfw ipmon \
ip6addrctl ip6fw ipfilter ipfs ipfw ipmon \
ipnat ipsec ipxrouted isdnd \
jail \
kadmind kerberos keyserv kldxref kpasswdd \

33
etc/rc.d/ip6addrctl Normal file
View File

@ -0,0 +1,33 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: ip6addrctl
# REQUIRE: mountcritlocal netif
# BEFORE: network_ipv6
# KEYWORD: FreeBSD
. /etc/rc.subr
. /etc/network.subr
name="ip6addrctl"
start_cmd="ip6addrctl_start"
stop_cmd=':'
ip6addrctl_start()
{
if ifconfig lo0 inet6 >/dev/null 2>&1; then
# We have IPv6 support in kernel.
# install the policy of the address selection algorithm.
if [ -f /etc/ip6addrctl.conf ]; then
ip6addrctl flush >/dev/null 2>&1
ip6addrctl install /etc/ip6addrctl.conf
ip6addrctl
fi
fi
}
load_rc_config $name
run_rc_command "$1"