diff --git a/usr/libexec/netconsole b/usr/libexec/netconsole index 3f2872dd..103a3852 100755 --- a/usr/libexec/netconsole +++ b/usr/libexec/netconsole @@ -1,5 +1,5 @@ #!/bin/bash -# +# # netconsole This loads the netconsole module with the configured parameters. # # chkconfig: - 50 50 @@ -22,8 +22,7 @@ PATH=/sbin:/usr/sbin:$PATH RETVAL=0 SERVER_ADDRESS_RESOLUTION= -# Check that networking is up. -. /etc/sysconfig/network +[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network # Source function library. . /etc/rc.d/init.d/functions @@ -50,7 +49,7 @@ print_address_info () local route via target route=$(LANG=C ip -o route get to $host/32) - + [ -z "$DEV" ] && DEV=$(echo $route | sed "s|.* dev \([^ ]*\).*|\1|") echo "DEV=$DEV" echo "LOCALADDR=$(echo $route | sed "s|.* src \([^ ]*\).*|\1|")" @@ -63,9 +62,9 @@ print_address_info () if [ -z "$SYSLOGMACADDR" ]; then arp=$(LANG=C /sbin/arping -f -c 1 -I $DEV $target 2>/dev/null | awk '/ reply from .*[.*]/ { print gensub(".* reply from .* \\[(.*)\\].*","\\1","G"); exit }') [ -n "$arp" ] && echo "SYSLOGMACADDR=$arp" - fi -} - + fi +} + start () { [ -f /etc/sysconfig/netconsole ] || exit 6 @@ -101,7 +100,7 @@ start () exit 6 fi eval $(print_address_info $SYSLOGADDR) - + if [ -z "$SYSLOGMACADDR" ]; then echo $"netconsole: can't resolve MAC address of $SYSLOGADDR" 1>&2 exit 1