From 818cbcc7315598f2a1a49e06b7b75b49c997a981 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 11 Apr 2015 15:01:14 +0100 Subject: [PATCH 1/2] Added ospf discovery --- .../discovery/discovery-protocols.inc.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/includes/discovery/discovery-protocols.inc.php b/includes/discovery/discovery-protocols.inc.php index 028731a5a..dcca72b37 100755 --- a/includes/discovery/discovery-protocols.inc.php +++ b/includes/discovery/discovery-protocols.inc.php @@ -144,6 +144,33 @@ if ($lldp_array) } } +echo("OSPF Discovery: "); + +if ($config['autodiscovery']['ospf'] === TRUE) { + echo "enabled\n"; + foreach (dbFetchRow("SELECT DISTINCT(`ospfNbrIpAddr`),`device_id` FROM `ospf_nbrs`") as $nbr) { + $ip = $nbr['ospfNbrIpAddr']; + $device_id = $nbr['device_id']; + if (match_network($config['autodiscovery']['nets-exclude'], $ip)) { + echo("x"); + continue; + } + if (!match_network($config['nets'], $ip)) { + echo("i"); + continue; + } + $name = gethostbyaddr($ip); + $remote_device_id = discover_new_device($name); + if (isset($remote_device_id) && $remote_device_id > 0) { + log_event("Device $name ($ip) autodiscovered through OSPF", $remote_device_id, 'system'); + } else { + log_event("OSPF discovery of $name ($ip) failed - check ping and SNMP access", $device_id, 'system'); + } + } +} else { + echo "disabled\n"; +} + if ($debug) { print_r($link_exists); } $sql = "SELECT * FROM `links` AS L, `ports` AS I WHERE L.local_port_id = I.port_id AND I.device_id = '".$device['device_id']."'"; From c8a5a903643631d1c9b921ecd214c20ccf42f854 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 11 Apr 2015 15:45:17 +0100 Subject: [PATCH 2/2] Updated dbFetchRows --- includes/discovery/discovery-protocols.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/discovery-protocols.inc.php b/includes/discovery/discovery-protocols.inc.php index dcca72b37..b7723a01e 100755 --- a/includes/discovery/discovery-protocols.inc.php +++ b/includes/discovery/discovery-protocols.inc.php @@ -148,7 +148,7 @@ echo("OSPF Discovery: "); if ($config['autodiscovery']['ospf'] === TRUE) { echo "enabled\n"; - foreach (dbFetchRow("SELECT DISTINCT(`ospfNbrIpAddr`),`device_id` FROM `ospf_nbrs`") as $nbr) { + foreach (dbFetchRows("SELECT DISTINCT(`ospfNbrIpAddr`),`device_id` FROM `ospf_nbrs`") as $nbr) { $ip = $nbr['ospfNbrIpAddr']; $device_id = $nbr['device_id']; if (match_network($config['autodiscovery']['nets-exclude'], $ip)) {