# rc - runlevel compatibility # # This task guesses what the "default runlevel" should be and starts the # appropriate script. start on stopped maccfg stop on stopping mountfs console logged pre-start script WAITTIME=7 for IF in `ls -d /sys/class/net/*[^lo]`; do DEVNAME=`basename $IF` if [ -d /sys/class/net/$DEVNAME/wireless ]; then /sbin/wlan_setup $DEVNAME #give wlan a chance go create link sleep 1 fi if [ -f /usr/sbin/ethtool ]; then ifconfig $DEVNAME up ZAHLER=0 if ! ethtool $DEVNAME|grep -q "No data available"; then while [ ${ZAHLER} -le ${WAITTIME} ]; do if [ `ethtool $DEVNAME|grep Link|awk '{print $3}'` == "yes" ]; then (( ZAHLER++ )) else break fi sleep 1 done fi fi ifconfig $DEVNAME up ZAHLER=0 while [ ${ZAHLER} -le ${WAITTIME} ]; do if [ "`cat /sys/class/net/$DEVNAME/carrier`" == "0" ]; then (( ZAHLER++ )) else break fi sleep 1 done end script script for IF in `ld -d /sys/class/net/*[^lo]`; do DEVNAME=`basename $IF` if [ -f /usr/sbin/ethtool ]; then DEVSTATUS=`ethtool $DEVNAME|grep Link|awk '{print $3}'` fi if [ "$DEVSTATUS" == "yes" ] || [ `cat /sys/class/net/$DEVNAME/carrier` == "1" ]; then /sbin/if_up $DEVNAME touch /var/run/net_up fi done end script post-start script if [ ! -f /var/run/net_up ] && [ -f /etc/nsswitch.default ]; then cp /etc/nsswitch.files /etc/nsswitch.conf touch /var/state/ldap_disable else if [ ! -f /var/run/nsswitch_done ] && [ -f /etc/nsswitch.default ]; then cp /etc/nsswitch.default /etc/nsswitch.conf touch /var/state/ldap_disable fi if [ -f /var/run/net_up ]; then rm /var/run/net_up fi if [ -f /var/run/nsswitch.done ]; then rm /var/run/nsswitch.done fi fi end script post-stop script for IF in `ls -d /sys/class/net/*[^lo]`; do DEVNAME=`basename $IF` /sbin/if_down $DEVNAME done end script