Index: etc/netstart =================================================================== RCS file: /cvs/src/etc/netstart,v retrieving revision 1.190 diff -u -p -r1.190 netstart --- etc/netstart 10 Feb 2018 08:46:10 -0000 1.190 +++ etc/netstart 14 Mar 2018 00:09:12 -0000 @@ -62,6 +62,9 @@ parse_hn_line() { _cmds[${#_cmds[*]}]="ifconfig $_if ${_c[@]} down;dhclient $_if" V4_DHCPCONF=true ;; + down) _c[0]= + _ifup=down + ;; '!'*) _cmd=$(print -- "${_c[@]}" | sed 's/\$if/'$_if'/g') _cmds[${#_cmds[*]}]="${_cmd#!}" ;; @@ -77,6 +80,7 @@ parse_hn_line() { ifstart() { local _if=$1 _hn=/etc/hostname.$1 _cmds _i=0 _line _stat set -A _cmds + _ifup=up # Interface names must be alphanumeric only. We check to avoid # configuring backup or temp files, and to catch the "*" case. @@ -107,6 +111,8 @@ ifstart() { while IFS= read -- _line; do parse_hn_line $_line done <$_hn + + _cmds[${#_cmds[*]}]="ifconfig $_if $_ifup" # Apply the interface configuration commands stored in _cmds array. while ((_i < ${#_cmds[*]})); do Index: share/man/man5/hostname.if.5 =================================================================== RCS file: /cvs/src/share/man/man5/hostname.if.5,v retrieving revision 1.65 diff -u -p -r1.65 hostname.if.5 --- share/man/man5/hostname.if.5 10 Mar 2017 18:28:11 -0000 1.65 +++ share/man/man5/hostname.if.5 14 Mar 2018 00:09:12 -0000 @@ -57,6 +57,9 @@ the administrator should not expect magi and the per-driver manual pages to see what arguments are permitted. .Pp +Interfaces are implicitly configured to be brought up and running. +This behaviour can be disabled by adding a line containing down to the file. +.Pp Arguments containing either whitespace or single quote characters must be double quoted. For example: