Ticket #12900: munin-node_fix_unused_interface.diff

File munin-node_fix_unused_interface.diff, 2.3 KB (added by waja@…, 5 years ago)
  • /opt/sbin/munin-node

    old new  
    133133  if [ -n "$(which ethtool)" ]; then 
    134134        if [ -x "$(which ethtool)" ]; then 
    135135                if ethtool $1 | grep -q Speed; then 
    136                         MAX=$(($(ethtool $1 | grep Speed | sed -e 's/[[:space:]]\{1,\}/ /g' -e 's/^ //' -e 's/M.*//' | cut -d\  -f2) * 1000000)) 
     136                        MAX=$(($(ethtool $1 | grep Speed | sed -e 's/[[:space:]]\{1,\}/ /g' -e 's/^ //' -e 's/M.*//' | sed -e 's/Unknown\!/0/' | cut -d\  -f2) * 1000000)) 
    137137                        echo "up.max $MAX" 
    138138                        echo "down.max $MAX" 
    139139                fi 
     
    535535    for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\|br-\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g 
    536536s/\-/_/g'); 
    537537    do 
    538       INTERRES=$(echo $INTER | sed 's/\./VLAN/') 
    539       RES="$RES if_$INTERRES" 
    540       eval "fetch_if_${INTERRES}() { fetch_if $INTER $@; };" 
    541       eval "config_if_${INTERRES}() { config_if $INTER $@; };" 
     538      if [ -n "$(which ethtool)" ]; then 
     539        if [ -x "$(which ethtool)" ]; then 
     540          if [ -n "$(ethtool $INTER | grep 'Link detected: yes')" ]; then 
     541            INTERRES=$(echo $INTER | sed 's/\./VLAN/') 
     542            RES="$RES if_$INTERRES" 
     543            eval "fetch_if_${INTERRES}() { fetch_if $INTER $@; };" 
     544            eval "config_if_${INTERRES}() { config_if $INTER $@; };" 
     545          fi 
     546        fi 
     547      fi 
    542548    done 
    543549  elif [ "$PLUG" = "if_err_" ]; then 
    544550    for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\|br-\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g 
    545551s/\-/_/g'); 
    546552    do 
    547       INTERRES=$(echo $INTER | sed 's/\./VLAN/') 
    548       RES="$RES if_err_$INTERRES" 
    549       eval "fetch_if_err_${INTERRES}() { fetch_if_err $INTER $@; };" 
    550       eval "config_if_err_${INTERRES}() { config_if_err $INTER $@; };" 
     553      if [ -n "$(which ethtool)" ]; then 
     554        if [ -x "$(which ethtool)" ]; then 
     555          if [ -n "$(ethtool $INTER | grep 'Link detected: yes')" ]; then 
     556            INTERRES=$(echo $INTER | sed 's/\./VLAN/') 
     557            RES="$RES if_err_$INTERRES" 
     558            eval "fetch_if_err_${INTERRES}() { fetch_if_err $INTER $@; };" 
     559            eval "config_if_err_${INTERRES}() { config_if_err $INTER $@; };" 
     560          fi 
     561        fi 
     562      fi 
    551563    done 
    552564  elif [ "$PLUG" = "netstat" ]; then 
    553565    if netstat -s >/dev/null 2>&1; then