$entry) { if ($entry['mplsVpnVrfConfRowStatus'] !== 'active') { continue; } // Skip inactive $discovery_vrf[$vrf_name] = [ 'vrf_mib' => $mib, 'vrf_name' => $vrf_name, 'vrf_descr' => $entry['mplsVpnVrfDescription'], 'vrf_rd' => str_replace('L', '', $entry['mplsVpnVrfRouteDistinguisher']), //'vrf_admin_status' => 'up', 'vrf_oper_status' => $entry['mplsVpnVrfOperStatus'], 'vrf_active_ports' => $entry['mplsVpnVrfActiveInterfaces'], 'vrf_total_ports' => $entry['mplsVpnVrfAssociatedInterfaces'], 'vrf_added_routes' => $entry['mplsVpnVrfPerfRoutesAdded'], 'vrf_deleted_routes' => $entry['mplsVpnVrfPerfRoutesDeleted'], 'vrf_total_routes' => $entry['mplsVpnVrfPerfCurrNumRoutes'], // device starttime + time 'vrf_added' => $device['last_rebooted'] + timeticks_to_sec($entry['mplsVpnVrfCreationTime']), 'vrf_last_change' => $device['last_rebooted'] + timeticks_to_sec($entry['mplsVpnVrfConfLastChanged']), ]; } // MPLS-VPN-MIB::mplsVpnInterfaceConfRowStatus."hostcomm-private".143 = INTEGER: active(1) // MPLS-VPN-MIB::mplsVpnInterfaceConfRowStatus."hostcomm-private".145 = INTEGER: active(1) //$mpls_vpn_if = snmpwalk_cache_twopart_oid($device, 'mplsVpnInterfaceConfEntry', [], 'MPLS-VPN-MIB'); $mpls_vpn_if = snmpwalk_cache_twopart_oid($device, 'mplsVpnInterfaceConfRowStatus', [], 'MPLS-VPN-MIB'); print_debug_vars($mpls_vpn_if); foreach ($mpls_vpn_if as $vrf_name => $entry) { if (!isset($discovery_vrf[$vrf_name])) { print_debug("Unknown VRF name '$vrf_name'."); continue; } foreach ($entry as $vrf_ifIndex => $entry2) { if ($entry2['mplsVpnInterfaceConfRowStatus'] !== 'active') { continue; } // Skip inactive interfaces $discovery_vrf[$vrf_name]['ifIndex'][] = $vrf_ifIndex; } } // EOF