$bgp4_entry) { $peer_ip = $index; $peer_as = snmp_dewrap32bit($bgp4_entry['bgpPeerRemoteAs']); // Dewrap for 32bit ASN if ($peer_as > $bgp4_entry['bgpPeerRemoteAs']) { $peers_data[$index]['bgpPeerRemoteAs'] = $peer_as; } $local_ip = $bgp4_entry['bgpPeerLocalAddr']; // Add bgpPeerIdentifier //$bgp4_entry['bgpPeerIdentifier'] = get_ip_version($bgp4_entry['bgpPeerIface']) ? $bgp4_entry['bgpPeerIface'] : $index; $bgp4_entry['bgpPeerIdentifier'] = $index; $peers_data[$index]['bgpPeerIdentifier'] = $bgp4_entry['bgpPeerIdentifier']; $peer = [ 'mib' => $mib, 'index' => $index, 'identifier' => $bgp4_entry['bgpPeerIdentifier'], 'local_ip' => $local_ip, 'ip' => $peer_ip === '0.0.0.0' ? '' : $peer_ip, 'local_as' => $bgpLocalAs, 'as' => $peer_as, 'admin_status' => $bgp4_entry['bgpPeerAdminStatus'] ]; if ($check_vrfs) { $peer['virtual_name'] = $vrf_name; } if (!isset($p_list[$peer_ip][$peer_as]) && is_bgp_peer_valid($peer, $device)) { print_debug("Found peer IP: $peer_ip (AS$peer_as, LocalIP: $local_ip)"); $peerlist[] = $peer; $p_list[$peer_ip][$peer_as] = 1; } } // EOF