mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
git-svn-id: http://www.observium.org/svn/observer/trunk@757 61d68cd4-352d-0410-923a-c4978735b2b8
281 lines
6.2 KiB
PHP
281 lines
6.2 KiB
PHP
<?php
|
|
|
|
function formatMac($mac) {
|
|
$mac = preg_replace("/(..)(..)(..)(..)(..)(..)/", "\\1:\\2:\\3:\\4:\\5:\\6", $mac);
|
|
return $mac;
|
|
}
|
|
|
|
|
|
function ifNameDescr($interface, $device = NULL) {
|
|
return ifLabel($interface, $device);
|
|
}
|
|
|
|
function ifLabel ($interface, $device = NULL) {
|
|
global $config;
|
|
if(!$device) { $device = device_array($interface['device_id']); }
|
|
$os = strtolower($device['os']);
|
|
|
|
if(isset($config['ifname'][$os])) {
|
|
$interface['label'] = $interface['ifName'];
|
|
} elseif(isset($config['ifAlias'][$os])) {
|
|
$interface['label'] = $interface['ifAlias'];
|
|
} else {
|
|
$interface['label'] = $interface['ifDescr'];
|
|
if(isset($config['appendifindex'][$os])) { $interface['label'] = $interface['label'] . " " . $interface['ifIndex']; }
|
|
}
|
|
return $interface;
|
|
|
|
}
|
|
|
|
$rewrite_entSensorType = array (
|
|
'celsius' => 'C',
|
|
'unknown' => '',
|
|
'specialEnum' => 'C',
|
|
'watts' => 'W',
|
|
'truthvalue' => '',
|
|
);
|
|
|
|
|
|
function entPhysical_scale($value, $scale) {
|
|
|
|
switch ($scale) {
|
|
case "nano":
|
|
$value = $value / 1000000000;
|
|
break;
|
|
case "micro":
|
|
$value = $value / 1000000;
|
|
break;
|
|
case "milli":
|
|
$value = $value / 1000;
|
|
break;
|
|
case "units":
|
|
break;
|
|
case "kilo":
|
|
$value = $value * 1000;
|
|
break;
|
|
case "mega":
|
|
$value = $value * 1000000;
|
|
break;
|
|
case "giga":
|
|
$value = $value * 1000000000;
|
|
break;
|
|
}
|
|
|
|
return $value;
|
|
|
|
}
|
|
|
|
$translate_ifOperStatus = array(
|
|
"1" => "up",
|
|
"2" => "down",
|
|
"3" => "testing",
|
|
"4" => "unknown",
|
|
"5" => "dormant",
|
|
"6" => "notPresent",
|
|
"7" => "lowerLayerDown",
|
|
);
|
|
|
|
function translate_ifOperStatus ($ifOperStatus) {
|
|
global $translate_ifOperStatus;
|
|
if($translate_ifOperStatus['$ifOperStatus']) {
|
|
$ifOperStatus = $translate_ifOperStatus['$ifOperStatus'];
|
|
}
|
|
return $ifOperStatus;
|
|
}
|
|
|
|
$translate_ifAdminStatus = array(
|
|
"1" => "up",
|
|
"2" => "down",
|
|
"3" => "testing",
|
|
);
|
|
|
|
function translate_ifAdminStatus ($ifAdminStatus) {
|
|
global $translate_ifAdminStatus;
|
|
if($translate_ifAdminStatus[$ifAdminStatus]) {
|
|
$ifAdminStatus = $translate_ifAdminStatus[$ifAdminStatus];
|
|
}
|
|
return $ifAdminStatus;
|
|
}
|
|
|
|
$rewrite_ios_features = array(
|
|
"PK9S" => "IP w/SSH LAN Only",
|
|
"LANBASEK9" => "Lan Base Crypto",
|
|
"LANBASE" => "Lan Base",
|
|
"ADVENTERPRISEK9_IVS" => "Advanced Enterprise Crypto Voice",
|
|
"ADVENTERPRISEK9" => "Advanced Enterprise Crypto",
|
|
"ADVSECURITYK9" => "Advanced Security Crypto",
|
|
"K91P" => "Provider Crypto",
|
|
"K4P" => "Provider Crypto",
|
|
"ADVIPSERVICESK9" => "Adv IP Services Crypto",
|
|
"ADVIPSERVICES" => "Adv IP Services",
|
|
"IK9P" => "IP Plus Crypto",
|
|
"K9O3SY7" => "IP ADSL FW IDS Plus IPSEC 3DES",
|
|
"SPSERVICESK9" => "SP Services Crypto",
|
|
"PK9SV" => "IP MPLS/IPV6 W/SSH + BGP",
|
|
"IS" => "IP Plus",
|
|
"IPSERVICESK9" => "IP Services Crypto",
|
|
"BROADBAND" => "Broadband",
|
|
"IPBASE" => "IP Base",
|
|
"IPSERVICE" => "IP Services",
|
|
"P" => "Service Provider",
|
|
"P11" => "Broadband Router",
|
|
"G4P5" => "NRP",
|
|
"JK9S" => "Enterprise Plus Crypto",
|
|
"IK9S" => "IP Plus Crypto",
|
|
"JK" => "Enterprise Plus",
|
|
"I6Q4L2" => "Layer 2",
|
|
"I6K2L2Q4" => "Layer 2 Crypto",
|
|
"C3H2S" => "Layer 2 SI/EI",
|
|
"_WAN" => " + WAN",
|
|
);
|
|
|
|
|
|
|
|
$rewrite_shortif = array (
|
|
'tengigabitethernet' => 'Te',
|
|
'gigabitethernet' => 'Gi',
|
|
'fastethernet' => 'Fa',
|
|
'ethernet' => 'Et',
|
|
'serial' => 'Se',
|
|
'pos' => 'Pos',
|
|
'port-channel' => 'Po',
|
|
'atm' => 'Atm',
|
|
'null' => 'Null',
|
|
'loopback' => 'Lo',
|
|
'dialer' => 'Di',
|
|
'vlan' => 'Vlan',
|
|
'tunnel' => 'Tunnel',
|
|
'serviceinstance' => 'SI',
|
|
);
|
|
|
|
$rewrite_iftype = array (
|
|
'/^frameRelay$/' => 'Frame Relay',
|
|
'/^ethernetCsmacd$/' => 'Ethernet',
|
|
'/^softwareLoopback$/' => 'Loopback',
|
|
'/^tunnel$/' => 'Tunnel',
|
|
'/^propVirtual$/' => 'Virtual Int',
|
|
'/^ppp$/' => 'PPP',
|
|
'/^ds1$/' => 'DS1',
|
|
'/^pos$/' => 'POS',
|
|
'/^sonet$/' => 'SONET',
|
|
'/^slip$/' => 'SLIP',
|
|
'/^mpls$/' => 'MPLS Layer',
|
|
'/^l2vlan$/' => 'VLAN Subif',
|
|
'/^atm$/' => 'ATM',
|
|
'/^aal5$/' => 'ATM AAL5',
|
|
'/^atmSubInterface$/' => 'ATM Subif',
|
|
'/^propPointToPointSerial$/' => 'PtP Serial',
|
|
);
|
|
|
|
$rewrite_ifname = array (
|
|
'ether' => 'Ether',
|
|
'gig' => 'Gig',
|
|
'fast' => 'Fast',
|
|
'ten' => 'Ten',
|
|
'-802.1q vlan subif' => '',
|
|
'-802.1q' => '',
|
|
'bvi' => 'BVI',
|
|
'vlan' => 'Vlan',
|
|
'ether' => 'Ether',
|
|
'tunnel' => 'Tunnel',
|
|
'serial' => 'Serial',
|
|
'-aal5 layer' => ' aal5',
|
|
'null' => 'Null',
|
|
'atm' => 'ATM',
|
|
'port-channel' => 'Port-Channel',
|
|
'dial' => 'Dial',
|
|
'hp procurve switch software loopback interface' => 'Loopback Interface',
|
|
'control plane interface' => 'Control Plane',
|
|
'loop' => 'Loop',
|
|
);
|
|
|
|
$rewrite_hrDevice = array (
|
|
'GenuineIntel:' => '',
|
|
'AuthenticAMD:' => '',
|
|
'Intel(R)' => '',
|
|
'CPU' => '',
|
|
'(R)' => '',
|
|
' ' => ' ',
|
|
);
|
|
|
|
|
|
// Specific rewrite functions
|
|
|
|
function makeshortif($if)
|
|
{
|
|
global $rewrite_shortif;
|
|
$if = fixifName ($if);
|
|
$if = strtolower($if);
|
|
$if = array_str_replace($rewrite_shortif, $if);
|
|
return $if;
|
|
}
|
|
|
|
function rewrite_ios_features ($features)
|
|
{
|
|
global $rewrite_ios_features;
|
|
$type = array_preg_replace($rewrite_ios_features, $features);
|
|
return ($features);
|
|
}
|
|
|
|
|
|
function fixiftype ($type)
|
|
{
|
|
global $rewrite_iftype;
|
|
$type = array_preg_replace($rewrite_iftype, $type);
|
|
return ($type);
|
|
}
|
|
|
|
function fixifName ($inf)
|
|
{
|
|
global $rewrite_ifname;
|
|
$inf = strtolower($inf);
|
|
$inf = array_str_replace($rewrite_ifname, $inf);
|
|
return $inf;
|
|
}
|
|
|
|
function short_hrDeviceDescr($dev)
|
|
{
|
|
global $rewrite_hrDevice;
|
|
$dev = array_str_replace($rewrite_hrDevice, $dev);
|
|
$dev = preg_replace("/\ +/"," ", $dev);
|
|
$dev = trim($dev);
|
|
return $dev;
|
|
}
|
|
|
|
function short_port_descr ($desc) {
|
|
|
|
list($desc) = explode("(", $desc);
|
|
list($desc) = explode("[", $desc);
|
|
list($desc) = explode("{", $desc);
|
|
list($desc) = explode("|", $desc);
|
|
list($desc) = explode("<", $desc);
|
|
$desc = trim($desc);
|
|
|
|
return $desc;
|
|
|
|
}
|
|
|
|
|
|
// Underlying rewrite functions
|
|
|
|
|
|
function array_str_replace($array, $string)
|
|
{
|
|
foreach ($array as $search => $replace) {
|
|
$string = str_replace($search, $replace, $string);
|
|
}
|
|
return $string;
|
|
}
|
|
|
|
function array_preg_replace($array, $string)
|
|
{
|
|
foreach ($array as $search => $replace) {
|
|
$string = preg_replace($search, $replace, $string);
|
|
}
|
|
return $string;
|
|
}
|
|
|
|
|
|
|
|
?>
|