From owner-freebsd-bugs@FreeBSD.ORG Wed Mar 19 11:10:02 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F95D106566B for ; Wed, 19 Mar 2008 11:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 5A8808FC1D for ; Wed, 19 Mar 2008 11:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m2JBA2kj091528 for ; Wed, 19 Mar 2008 11:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m2JBA2Jt091527; Wed, 19 Mar 2008 11:10:02 GMT (envelope-from gnats) Date: Wed, 19 Mar 2008 11:10:02 GMT Message-Id: <200803191110.m2JBA2Jt091527@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Robert Schulze Cc: Subject: Re: kern/121566: [nfs] [request] ethernet iface should be brought up when booting from a mfs_root over nfs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Robert Schulze List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Mar 2008 11:10:02 -0000 The following reply was made to PR kern/121566; it has been noted by GNATS. From: Robert Schulze To: bug-followup@FreeBSD.org, rs@bytecamp.net Cc: Subject: Re: kern/121566: [nfs] [request] ethernet iface should be brought up when booting from a mfs_root over nfs Date: Wed, 19 Mar 2008 11:30:39 +0100 This is a multi-part message in MIME format. --------------080908080007060209020005 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hi, I found a workaround to simulate the behaviour of /sys/nfsclient/nfs_vfsops.c in rc.initdiskless. The patch in "diff -Naur" format is attached. with kind regards, Robert Schulze --------------080908080007060209020005 Content-Type: text/x-patch; name="rc.initdiskless.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rc.initdiskless.patch" --- rc.initdiskless.dflt Thu Mar 13 10:08:51 2008 +++ rc.initdiskless Wed Mar 19 11:21:32 2008 @@ -163,6 +163,30 @@ fi } +# Fire up an interface to do nfs-mounts if this machine +# was booted from a md_root +# Use kenv to get the configuration vom dhcp like +# /sys/nfsclient/nfs_vfsops.c does + +ifconfig_kenv() +{ +echo "trying to up an interface with options from kenv..." + +IF=`kenv | grep 'boot.netif.name' | awk 'BEGIN {FS="="} {print $2}' | sed 's/"//g'` +GW=`kenv | grep 'boot.netif.gateway' | awk 'BEGIN {FS="="} {print $2}' | sed 's/"//g'` +IP=`kenv | grep 'boot.netif.ip' | awk 'BEGIN {FS="="} {print $2}' | sed 's/"//g'` +NM=`kenv | grep 'boot.netif.netmask' | awk 'BEGIN {FS="="} {print $2}' | sed 's/"//g'` + +if [ ! "$1" = "$IF" ]; then + return 0 +fi + +echo "kenv: IF=$IF GW=$GW IP=$IP MASK=$NM" +ifconfig $IF $IP netmask $NM up +route add default $GW + +} + # DEBUGGING # # set -v @@ -176,6 +200,12 @@ if [ ${dlv:=0} -ne 0 ] ; then iflist=`ifconfig -l` for i in ${iflist} ; do + + ifconfig ${i} | grep -q inet + if [ $? -ne "0" ] ; then + ifconfig_kenv ${i} + fi + set -- `ifconfig ${i}` while [ $# -ge 1 ] ; do if [ "${bootp_ifc}" = "" -a "$1" = "inet" ] ; then --------------080908080007060209020005--