diff options
author | Seth Mos <seth.mos@xs4all.nl> | 2007-03-17 13:28:23 +0000 |
---|---|---|
committer | Seth Mos <seth.mos@xs4all.nl> | 2007-03-17 13:28:23 +0000 |
commit | eea3401539d64edfcae6f954742162b13df2aaba (patch) | |
tree | a07c59a5920b8c32506932518d3b4ca12da39928 /etc | |
parent | 1ce46a29373a87257c0391062509c87dbdb10445 (diff) | |
download | pfsense-eea3401539d64edfcae6f954742162b13df2aaba.zip pfsense-eea3401539d64edfcae6f954742162b13df2aaba.tar.gz |
Fix get_interface_mac
Fix rrd stats for interfaces without a mac
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/pfsense-utils.inc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index 5fd3414..a19d3d4 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -142,7 +142,11 @@ function log_error($error) { ******/ function get_interface_mac_address($interface) { $mac = exec("ifconfig {$interface} | awk '/ether/ {print $2}'"); - return trim($mac); + if(is_macaddr($mac)) { + return trim($mac); + } else { + return ""; + } } /****f* pfsense-utils/return_dir_as_array @@ -2173,8 +2177,11 @@ function enable_rrd_graphing() { $rrdupdatesh .= "\n"; $rrdupdatesh .= "# polling traffic for interface $ifname $realif \n"; $rrdupdatesh .= "$rrdtool update $rrddbpath$ifname$traffic N:\\\n"; - $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$7}'`:\\\n"; - $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$10}'`\n\n"; + if(! is_macaddr(get_interface_mac($realif))) { + $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$6 \":\" \$9}'`\n"; + } else { + $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$7 \":\" \$10}'`\n"; + } /* PACKETS, set up the rrd file */ if (!file_exists("$rrddbpath$ifname$packets")) { @@ -2207,9 +2214,11 @@ function enable_rrd_graphing() { $rrdupdatesh .= "\n"; $rrdupdatesh .= "# polling packets for interface $ifname $realif \n"; $rrdupdatesh .= "$rrdtool update $rrddbpath$ifname$packets N:\\\n"; - $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$5}'`:\\\n"; - $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$8}'`\n\n"; - + if(! is_macaddr(get_interface_mac($realif))) { + $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$4 \":\" \$7}'`\n"; + } else { + $rrdupdatesh .= "`$netstat -nbf link -I {$realif} | $awk '{getline 2;print \$5 \":\" \$8}'`\n"; + } /* if an alternative gateway is defined, use it */ if ($config['system']['interfaces'][$ifname]['use_rrd_gateway'] <> "") { $gatewayip = get_interface_gateway($ifname); |