svn commit: r207225 - in head: etc/defaults etc/rc.d share/man/man5
Hajimu UMEMOTO
ume at FreeBSD.org
Mon Apr 26 15:31:59 UTC 2010
Author: ume
Date: Mon Apr 26 15:31:58 2010
New Revision: 207225
URL: http://svn.freebsd.org/changeset/base/207225
Log:
Better handling of ipv6_default_interface using
net.inet6.ip6.use_defaultzone=1. Now, it works IPv6 link-local
unicast addresses as well as IPv6 link-local multicast addresses.
MFC after: 1 week
Modified:
head/etc/defaults/rc.conf
head/etc/rc.d/routing
head/share/man/man5/rc.conf.5
Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf Mon Apr 26 15:01:14 2010 (r207224)
+++ head/etc/defaults/rc.conf Mon Apr 26 15:31:58 2010 (r207225)
@@ -470,8 +470,8 @@ route6d_flags="" # Flags to IPv6 routin
#ipv6_prefix_ed0="fec0:0000:0000:0001 fec0:0000:0000:0002" # Examples for rtr.
#ipv6_prefix_ep0="fec0:0000:0000:0003 fec0:0000:0000:0004" # Examples for rtr.
ipv6_default_interface="NO" # Default output interface for scoped addrs.
- # Now this works only for IPv6 link local
- # multicast addrs.
+ # This works only with
+ # ipv6_gateway_enable="NO".
rtsol_flags="" # Flags to IPv6 router solicitation.
rtsold_enable="NO" # Set to YES to enable an IPv6 router
# solicitation daemon.
Modified: head/etc/rc.d/routing
==============================================================================
--- head/etc/rc.d/routing Mon Apr 26 15:01:14 2010 (r207224)
+++ head/etc/rc.d/routing Mon Apr 26 15:31:58 2010 (r207225)
@@ -210,34 +210,24 @@ static_inet6()
;;
esac
- # Disallow unicast packets without outgoing scope identifiers,
- # or route such packets to a "default" interface, if it is specified.
+ # Disallow link-local unicast packets without outgoing scope
+ # identifiers. However, if you set "ipv6_default_interface",
+ # for the host case, you will allow to omit the identifiers.
+ # Under this configuration, the packets will go to the default
+ # interface.
route ${_action} -inet6 fe80:: -prefixlen 10 ::1 -reject
+ route ${_action} -inet6 ff02:: -prefixlen 16 ::1 -reject
case ${ipv6_default_interface} in
'')
- route ${_action} -inet6 ff02:: -prefixlen 16 ::1 -reject
;;
*)
- laddr=`network6_getladdr ${ipv6_default_interface}`
- route ${_action} -inet6 ff02:: ${laddr} -prefixlen 16 -interface
-
- # Disable installing the default interface with the
- # case net.inet6.ip6.forwarding=0 and
- # the interface with no ND6_IFF_ACCEPT_RTADV
- # to avoid conflict between the default router list and
- # the manual configured default route.
+ # Disable installing the default interface when we act
+ # as router to avoid conflict between the default
+ # router list and the manual configured default route.
if ! checkyesno ipv6_gateway_enable; then
- ifconfig ${ipv6_default_interface} nd6 | \
- while read proto options
- do
- case "${proto}:${options}" in
- nd6:*ACCEPT_RTADV*)
- ifconfig ${ipv6_default_interface} inet6 defaultif
- break
- ;;
- esac
- done
+ ifconfig ${ipv6_default_interface} inet6 defaultif
+ sysctl net.inet6.ip6.use_defaultzone=1
fi
;;
esac
Modified: head/share/man/man5/rc.conf.5
==============================================================================
--- head/share/man/man5/rc.conf.5 Mon Apr 26 15:01:14 2010 (r207224)
+++ head/share/man/man5/rc.conf.5 Mon Apr 26 15:31:58 2010 (r207225)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 14, 2010
+.Dd April 27, 2010
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -1370,7 +1370,7 @@ configured on that interface.
If not set to
.Dq Li NO ,
this is the default output interface for scoped addresses.
-Now this works only for IPv6 link local multicast addresses.
+This works only with ipv6_gateway_enable="NO".
.It Va ip6addrctl_enable
.Pq Vt bool
If set to
More information about the svn-src-all
mailing list