$port) { $ifIndex = $port_oid_suffix; $entry = isset($entries[$ifIndex]) ? $entries[$ifIndex] : []; // FIXME. WTF? // basics $port_stats[$ifIndex]['ifDescr'] = $entry['eth100gAliasName']; $port_stats[$ifIndex]['ifName'] = $entry['eth100gAliasName']; $port_stats[$ifIndex]['ifSpeed'] = '100000000000'; $port_stats[$ifIndex]['ifAlias'] = $entry['eth100gServiceLabel']; $port_stats[$ifIndex]['ifOperStatus'] = $entry['eth100gOperStatus']; $port_stats[$ifIndex]['ifAdminStatus'] = $entry['eth100gAdminStatus']; $port_stats[$ifIndex]['ifType'] = 'ethernetCsmacd'; // can we do better than hard coding? // stats $port_stats[$ifIndex]['ifInOctets'] = $entry['eth100gStatisticsEntryInOctets']; $port_stats[$ifIndex]['ifOutOctets'] = $entry['eth100gStatisticsEntryOutOctets']; $port_stats[$ifIndex]['ifInUcastPkts'] = $entry['eth100gStatisticsEntryInPackets']; $port_stats[$ifIndex]['ifOutUcastPkts'] = $entry['eth100gStatisticsEntryOutPackets']; $port_stats[$ifIndex]['ifInBroadcastPkts'] = $entry['eth100gStatisticsEntryInBroadcastPackets']; $port_stats[$ifIndex]['ifOutBroadcastPkts'] = $entry['eth100gStatisticsEntryOutBroadcastPackets']; $port_stats[$ifIndex]['ifInMulticastPkts'] = $entry['eth100gStatisticsEntryInMulticastPackets']; $port_stats[$ifIndex]['ifOutMulticastPkts'] = $entry['eth100gStatisticsEntryOutMulticastPackets']; $port_stats[$ifIndex]['ifInDiscards'] = $entry['eth100gStatisticsEntryInDropEvents']; $port_stats[$ifIndex]['ifOutDiscards'] = $entry['eth100gStatisticsEntryOutDropEvents']; $port_stats[$ifIndex]['ifInErrors'] = $entry['eth100gStatisticsEntryInCrcAlignErrors']; $port_stats[$ifIndex]['ifOutErrors'] = $entry['eth100gStatisticsEntryOutCrcAlignErrors']; } // eth400gTable $entries = []; $entries = snmpwalk_cache_oid($device, 'eth400gTable', $entries, $mib); $entries = snmpwalk_cache_oid($device, 'eth400gStatisticsTable', $entries, $mib); print_debug_vars($entries); foreach ($entries as $port_oid_suffix => $port) { $ifIndex = $port_oid_suffix; $entry = isset($entries[$ifIndex]) ? $entries[$ifIndex] : []; // FIXME. WTF? // basics $port_stats[$ifIndex]['ifDescr'] = $entry['eth400gAliasName']; $port_stats[$ifIndex]['ifName'] = $entry['eth400gAliasName']; $port_stats[$ifIndex]['ifSpeed'] = '400000000000'; $port_stats[$ifIndex]['ifAlias'] = $entry['eth400gServiceLabel']; $port_stats[$ifIndex]['ifOperStatus'] = $entry['eth400gOperStatus']; $port_stats[$ifIndex]['ifAdminStatus'] = $entry['eth400gAdminStatus']; $port_stats[$ifIndex]['ifType'] = 'ethernetCsmacd'; // can we do better than hard coding? // stats $port_stats[$ifIndex]['ifInOctets'] = $entry['eth400gStatisticsEntryInOctets']; $port_stats[$ifIndex]['ifOutOctets'] = $entry['eth400gStatisticsEntryOutOctets']; $port_stats[$ifIndex]['ifInUcastPkts'] = $entry['eth400gStatisticsEntryInPackets']; $port_stats[$ifIndex]['ifOutUcastPkts'] = $entry['eth400gStatisticsEntryOutPackets']; $port_stats[$ifIndex]['ifInBroadcastPkts'] = $entry['eth400gStatisticsEntryInBroadcastPackets']; $port_stats[$ifIndex]['ifOutBroadcastPkts'] = $entry['eth400gStatisticsEntryOutBroadcastPackets']; $port_stats[$ifIndex]['ifInMulticastPkts'] = $entry['eth400gStatisticsEntryInMulticastPackets']; $port_stats[$ifIndex]['ifOutMulticastPkts'] = $entry['eth400gStatisticsEntryOutMulticastPackets']; $port_stats[$ifIndex]['ifInDiscards'] = $entry['eth400gStatisticsEntryInDropEvents']; $port_stats[$ifIndex]['ifOutDiscards'] = $entry['eth400gStatisticsEntryOutDropEvents']; $port_stats[$ifIndex]['ifInErrors'] = $entry['eth400gStatisticsEntryInCrcAlignErrors']; $port_stats[$ifIndex]['ifOutErrors'] = $entry['eth400gStatisticsEntryOutCrcAlignErrors']; } // EOF