--- /dev/null
+--- a/plugins/if_
++++ b/plugins/if_
+@@ -15,10 +15,14 @@ config_if() {
+ echo "up.min 0"
+ echo "up.negative down"
+ echo "up.cdef up,8,*"
+- if ethtool $1 | grep -q Speed; then
+- MAX=$(($(ethtool $1 | grep Speed | sed -e 's/[[:space:]]\{1,\}/ /g' -e 's/^ //' -e 's/M.*//' | cut -d\ -f2) * 1000000))
+- echo "up.max $MAX"
+- echo "down.max $MAX"
++ if [ -n "$(which ethtool)" ]; then
++ if [ -x "$(which ethtool)" ]; then
++ if ethtool $1 | grep -q Speed; then
++ MAX=$(($(ethtool $1 | grep Speed | sed -e 's/[[:space:]]\{1,\}/ /g' -e 's/^ //' -e 's/M.*//' | cut -d\ -f2) * 1000000))
++ echo "up.max $MAX"
++ echo "down.max $MAX"
++ fi
++ fi
+ fi
+ }
+ fetch_if() {
--- /dev/null
+--- a/munin-node.in
++++ b/munin-node.in
+@@ -72,7 +72,7 @@ RES=""
+ for PLUG in $PLUGINS
+ do
+ if [ "$PLUG" = "if_" ]; then
+- for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
++ for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
+ do
+ INTERRES=$(echo $INTER | sed 's/\./VLAN/')
+ RES="$RES if_$INTERRES"
+@@ -80,7 +80,7 @@ do
+ eval "config_if_${INTERRES}() { config_if $INTER $@; };"
+ done
+ elif [ "$PLUG" = "if_err_" ]; then
+- for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
++ for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
+ do
+ INTERRES=$(echo $INTER | sed 's/\./VLAN/')
+ RES="$RES if_err_$INTERRES"
--- /dev/null
+--- a/munin-node.in
++++ b/munin-node.in
+@@ -72,7 +72,8 @@ RES=""
+ for PLUG in $PLUGINS
+ do
+ if [ "$PLUG" = "if_" ]; then
+- for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
++ for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\|br-\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g
+++s/\-/_/g');
+ do
+ INTERRES=$(echo $INTER | sed 's/\./VLAN/')
+ RES="$RES if_$INTERRES"
+@@ -80,7 +81,8 @@ do
+ eval "config_if_${INTERRES}() { config_if $INTER $@; };"
+ done
+ elif [ "$PLUG" = "if_err_" ]; then
+- for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g');
++ for INTER in $(grep '^ *\(ppp\|eth\|wlan\|ath\|ra\|ipsec\|tap\|br-\)\([^:]\)\{1,\}:' /proc/net/dev | cut -f1 -d: | sed 's/ //g
+++s/\-/_/g');
+ do
+ INTERRES=$(echo $INTER | sed 's/\./VLAN/')
+ RES="$RES if_err_$INTERRES"