diff --git a/etc/network.subr b/etc/network.subr index 5e68a3d502a8..fba88d1070cb 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -146,7 +146,8 @@ network_start() dhcp_interfaces="" for ifn in ${network_interfaces}; do - if ifconfig ${ifn} | grep -s UP, > /dev/null 2>&1; then + _up=`ifconfig ${ifn} | head -1 | grep -v LOOPBACK | grep UP,` + if [ "$_up" != "" ]; then # Interface is already up, so ignore it. continue; fi diff --git a/etc/rc.d/network1 b/etc/rc.d/network1 index 5e68a3d502a8..fba88d1070cb 100644 --- a/etc/rc.d/network1 +++ b/etc/rc.d/network1 @@ -146,7 +146,8 @@ network_start() dhcp_interfaces="" for ifn in ${network_interfaces}; do - if ifconfig ${ifn} | grep -s UP, > /dev/null 2>&1; then + _up=`ifconfig ${ifn} | head -1 | grep -v LOOPBACK | grep UP,` + if [ "$_up" != "" ]; then # Interface is already up, so ignore it. continue; fi diff --git a/etc/rc.network b/etc/rc.network index 845dff4510ac..d3d75d60526b 100644 --- a/etc/rc.network +++ b/etc/rc.network @@ -209,7 +209,8 @@ network_pass1() { dhcp_interfaces="" for ifn in ${network_interfaces}; do - if ifconfig ${ifn} | grep -s UP, > /dev/null 2>&1; then + _up=`ifconfig ${ifn} | head -1 | grep -v LOOPBACK | grep UP,` + if [ "$_up" != "" ]; then # Interface is already up, so ignore it. continue; fi