#471 OSPF Neighbor Discovery by router ID
This commit is contained in:
@@ -16,17 +16,18 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
my $ospf_peers = $snmp->ospf_peers || {};
|
my $ospf_peers = $snmp->ospf_peers || {};
|
||||||
my $bgp_peers = $snmp->bgp_peer_addr || {};
|
my $ospf_routers = $snmp->ospf_peer_id || {};
|
||||||
my $eigrp_peers = $snmp->eigrp_peers || {};
|
my $bgp_peers = $snmp->bgp_peer_addr || {};
|
||||||
|
my $eigrp_peers = $snmp->eigrp_peers || {};
|
||||||
|
|
||||||
return Status->info(" [$device] neigh - no BGP, OSPF, or EIGRP peers")
|
return Status->info(" [$device] neigh - no BGP, OSPF, or EIGRP peers")
|
||||||
unless ((scalar values %$ospf_peers) or (scalar values %$bgp_peers)
|
unless ((scalar values %$ospf_peers) or (scalar values %$bgp_peers)
|
||||||
or (scalar values %$eigrp_peers));
|
or (scalar values %$eigrp_peers));
|
||||||
|
|
||||||
my $count = 0;
|
my $count = 0;
|
||||||
foreach my $ip ((values %$ospf_peers), (values %$bgp_peers),
|
foreach my $ip ((values %$ospf_peers), (values %$ospf_routers),
|
||||||
(values %$eigrp_peers)) {
|
(values %$bgp_peers), (values %$eigrp_peers)) {
|
||||||
my $peer = get_device($ip);
|
my $peer = get_device($ip);
|
||||||
next if $peer->in_storage or not is_discoverable($peer);
|
next if $peer->in_storage or not is_discoverable($peer);
|
||||||
next if vars->{'queued'}->{$ip};
|
next if vars->{'queued'}->{$ip};
|
||||||
|
|||||||
Reference in New Issue
Block a user