John Hay <j...@meraka.org.za> wrote
  in <20140829101707.ga83...@zibbi.meraka.csir.co.za>:

jh> On Wed, Aug 27, 2014 at 11:59:25AM +0000, Bjoern A. Zeeb wrote:
jh> >
jh> > On 27 Aug 2014, at 06:31 , Jonathan Price <free...@jonathanprice.org>
jh> > wrote:
jh> >
jh> > > On 2014-08-27 01:40, Peter Wemm wrote:
jh> > >> On Tuesday 26 August 2014 10:40:27 free...@jonathanprice.org wrote:
jh> > >>> Hello,
jh> > >>>
jh> > >>> I am configuring a server with IPv4 and IPv6 addresses and have
jh> > >>> noticed that
jh> > >>> FreeBSD seems to be preferring IPv4, such as when establishing SSH
jh> > >>> connections.
jh> > >>>
jh> > >>> After reading through /etc/defaults/rc.conf, and later
jh> > >>> /etc/rc.d/ip6addrctl
jh> > >>> I have come to the conclusion that I have two ways to tell FreeBSD to
jh> > >>> prefer IPv6:
jh> > >>>
jh> > >>> 1) Add ipv6_activate_all_interfaces to /etc/rc.conf
jh> > >>> 2) Add ip6addrctl_policy="ipv6_prefer" to /etc/rc.conf
jh> > >>>
jh> ...
jh> > > However, it does sound like for my purposes it would make more sense
jh> > > to use ip6addrctl_policy=?ipv6_prefer" as that is more explicitly the
jh> > > feature I want, rather than getting it inadvertently through the other
jh> > > knob.
jh> >
jh> > Yes. Definitively.  I am not sure if it has happened but if IPv6
jh> > config is configured through rc.conf that setting should be(come)
jh> > default.
jh> >
jh>
jh> It does not seem so yet (anymore, it was like that many moons ago). A
jh> new

...

jh> I think if an IPv6 address is configured on a machine, it should
jh> prefer ipv6
jh> addresses. That would match what the rest are doing.

 True at this moment.  I have a patch to make it set ipv6_prefer when
 at least one ifconfig_IF_ipv6 is configured.

 Is there any objection to commit this?  I had hesitated to add this
 for a technical reason which was eliminated by adding list_vars().

-- Hiroki
Index: rc.d/ip6addrctl
===================================================================
--- rc.d/ip6addrctl	(revision 270577)
+++ rc.d/ip6addrctl	(working copy)
@@ -75,6 +75,8 @@
 		else
 			if checkyesno ipv6_activate_all_interfaces; then
 				ip6addrctl_prefer_ipv6
+			elif [ -n "$(list_vars ifconfig_\*_ipv6)" ]; then
+				ip6addrctl_prefer_ipv6
 			else
 				ip6addrctl_prefer_ipv4
 			fi

Attachment: pgpS4NlsKU7Xl.pgp
Description: PGP signature

Reply via email to