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
pgpS4NlsKU7Xl.pgp
Description: PGP signature