$cbgp_id = $entry['cbgp_id']; if (!isset($af_list[$peer_ip][$afi][$safi])) { dbDelete('bgpPeers_cbgp', '`cbgp_id` = ?', array($cbgp_id)); dbDelete('bgpPeers_cbgp-state', '`cbgp_id` = ?', array($cbgp_id)); } } # AF list } # os=cisco|some vendors } # isset // Delete removed peers unset($peer_ip, $peer_as); $query = 'SELECT * FROM `bgpPeers` WHERE `device_id` = ?'; foreach (dbFetchRows($query, array($device['device_id'])) as $entry) { $peer_ip = $entry['bgpPeerRemoteAddr']; $peer_as = $entry['bgpPeerRemoteAs']; if (!isset($p_list[$peer_ip][$peer_as])) { dbDelete('bgpPeers', '`bgpPeer_id` = ?', array($entry['bgpPeer_id'])); dbDelete('bgpPeers-state', '`bgpPeer_id` = ?', array($entry['bgpPeer_id'])); $GLOBALS['module_stats'][$module]['deleted']++; } else { // Unset, for exclude duplicate entries in DB unset($p_list[$peer_ip][$peer_as]); } } $table_headers = array('%WLocal IP%n', '%WPeer: AS%n', '%WIP%n', '%WFamily%n', '%WrDNS%n', '%WRemote Device%n'); print_cli_table($table_rows, $table_headers); unset($p_list, $peerlist, $vendor_mib, $cisco_version, $cisco_peers, $table_rows, $table_headers); } // EOF
$c_table_row[] = $cbgpPeerDeniedPrefixes; $c_table_row[] = $cbgpPeerAdvertisedPrefixes; $c_table_rows[] = $c_table_row; unset($c_table_row); } # while } # os_group=cisco | vendors } // End While loop on peers if (count($table_rows)) { echo PHP_EOL; $headers = array('%WPeer IP%n', '%WASN%n', '%WAS%n', '%WAdmin%n', '%WState%n', '%WLocal IP%n', '%WEstablished Time%n', '%WLast Update%n'); print_cli_table($table_rows, $headers, "Sessions"); $headers = array('%WPeer IP%n', '%WASN%n', '%WAFI/SAFI%n', '%WAccepted Pfx%n', '%WDenied Pfx%n', '%WAdvertised Pfx%n'); print_cli_table($c_table_rows, $headers, "Address Families"); } foreach ($p_list as $peer_ip => $entry) { // Check if new peers found $force_discovery = $force_discovery || !empty($entry); } if ($force_discovery) { // Force rediscover bgp peers print_debug("BGP peers list for this device changed, force rediscover BGP."); force_discovery($device, 'bgp-peers'); } } // End check for BGP support // Clean unset($bgp_peers, $vendor_peers, $vendor_mib, $cisco_version, $cisco_peers, $c_prefixes); // EOF