From b68cc515bbe2bb411083daed56fe5f8a00f8337b Mon Sep 17 00:00:00 2001 From: sthen <> Date: Fri, 11 Sep 2015 12:21:52 +0000 Subject: [PATCH] Set "inet6 autoconf" individually on interfaces that have rtsol set in hostname.if, previously netstart tried to configure them all at once ("ifconfig if0 if1 if2 inet6 autoconf"). From Delan Azabani, ok phessler@ --- src/etc/netstart | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/etc/netstart b/src/etc/netstart index 27999ba4..0ac789b2 100644 --- a/src/etc/netstart +++ b/src/etc/netstart @@ -1,6 +1,6 @@ #!/bin/sh - # -# $OpenBSD: netstart,v 1.153 2015/07/20 06:59:39 rpe Exp $ +# $OpenBSD: netstart,v 1.154 2015/09/11 12:21:52 sthen Exp $ # Turn off Strict Bourne shell mode. set +o sh @@ -151,6 +151,21 @@ ifmstart() { done } +# IPv6 autoconf the interfaces in the list at $rtsolif +# Usage: ifautoconf +ifautoconf() { + printf 'IPv6 autoconf:' + # $ip6kernel will not have been set if we were invoked with a + # list of interface names + if ifconfig lo0 inet6 >/dev/null 2>&1; then + for curif in $rtsolif; do + printf ' %s' $curif + ifconfig $curif inet6 autoconf + done + fi + echo +} + # Get network related vars from rc.conf using the parsing routine from rc.subr. FUNCS_ONLY=1 . /etc/rc.d/rc.subr _rc_parse_conf @@ -165,6 +180,7 @@ if [ $# -gt 0 ]; then ifstart $1 shift done + ifautoconf return fi @@ -246,10 +262,8 @@ ifmstart "" "trunk svlan vlan carp gif gre pfsync pppoe tun bridge pflow" # Configure all the carp interfaces which we know about before default route. ifmstart "trunk svlan vlan carp" -if [ "$ip6kernel" = "YES" -a "x$rtsolif" != "x" ]; then - echo "IPv6 autoconf:$rtsolif" - ifconfig $rtsolif inet6 autoconf -fi +# Now that $rtsolif has been populated, IPv6 autoconf those interfaces +ifautoconf # Look for default routes in /etc/mygate. [[ -z $dhcpif ]] && stripcom /etc/mygate | while read gw; do