Exemplo n.º 1
0
                $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
Exemplo n.º 2
0
                $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