diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index 001125d132..da418d5c0a 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -71,9 +71,12 @@ $config['snmp']['transports'] = array('udp', 'udp6', 'tcp', 'tcp6'); ### Autodiscovery Settings -$config['dp_autocreate'] = false; ## Autodiscover unknown hosts seen via discovery protocols -$config['snmp_autodiscovery'] = false; ## Autodiscover hosts on new subnets -$config['discover_services'] = false; ## Autodiscover services via SNMP on devices of type "server" +$config['autodiscovery']['xdp'] = true; ## Autodiscover hosts via discovery protocols +$config['autodiscovery']['ospf'] = true; ## Autodiscover hosts via OSPF +$config['autodiscovery']['bgp'] = true; ## Autodiscover hosts via BGP +$config['autodiscovery']['snmpscan'] = true; ## autodiscover hosts via SNMP scanning + +$config['discover_services'] = false; ## Autodiscover services via SNMP on devices of type "server" ### Alerting Settings diff --git a/includes/discovery.inc.php b/includes/discovery.inc.php index 49d2e4372a..1955232199 100755 --- a/includes/discovery.inc.php +++ b/includes/discovery.inc.php @@ -16,21 +16,18 @@ function discover_new_device($hostname) { global $config; - if ($config['dp_autocreate']) - { - if (isDomainResolves($hostname . "." . $config['mydomain'])) - { + if($config['autodiscovery']['xdp']) { + if ( isDomainResolves($hostname . "." . $config['mydomain']) ) { $dst_host = $hostname . "." . $config['mydomain']; } else { $dst_host = $hostname; } $ip = gethostbyname($dst_host); - if (match_network($config['nets'], $ip)) + if ( match_network($config['nets'], $ip) ) { $remote_device_id = addHost ($dst_host, NULL, "v2c"); - if($remote_device_id) - { + if($remote_device_id) { $remote_device = device_by_id_cache($remote_device_id, 1); echo("+[".$remote_device['hostname']."(".$remote_device['device_id'].")]"); discover_device($remote_device); @@ -38,6 +35,8 @@ function discover_new_device($hostname) return $remote_device_id; } } + } else { + return FALSE; } }