. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace LibreNMS\Util; class Rewrite { public static function normalizeIfType($type) { $rewrite_iftype = [ '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', ]; if (isset($rewrite_iftype[$type])) { return $rewrite_iftype[$type]; } return $type; } public static function normalizeIfName($name) { $rewrite_ifname = [ 'ether' => 'Ether', 'gig' => 'Gig', 'fast' => 'Fast', 'ten' => 'Ten', '-802.1q vlan subif' => '', '-802.1q' => '', 'bvi' => 'BVI', 'vlan' => 'Vlan', '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', 'bundle-ether' => 'Bundle-Ether', ]; return str_ireplace(array_keys($rewrite_ifname), array_values($rewrite_ifname), $name); } public static function shortenIfName($name) { $rewrite_shortif = [ 'tengigabitethernet' => 'Te', 'ten-gigabitethernet' => 'Te', 'tengige' => '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', 'dwdm' => 'DWDM', 'bundle-ether' => 'BE', 'bridge-aggregation' => 'BA', ]; return str_ireplace(array_keys($rewrite_shortif), array_values($rewrite_shortif), $name); } }