diff --git a/Netdisco/Changes b/Netdisco/Changes index 4ff7e67f..746506bb 100644 --- a/Netdisco/Changes +++ b/Netdisco/Changes @@ -9,6 +9,7 @@ * [#255] undefined host error in netdisco-do psql * [#250] Linux SSHColletor cannot handle uppercase MACs * Return from device discover if device is unknown + * Safely continue macsuck if neighbor cannot be resolved 2.033004 - 2015-11-16 diff --git a/Netdisco/lib/App/Netdisco/Core/Macsuck.pm b/Netdisco/lib/App/Netdisco/Core/Macsuck.pm index 9a1fae3e..12f058dd 100644 --- a/Netdisco/lib/App/Netdisco/Core/Macsuck.pm +++ b/Netdisco/lib/App/Netdisco/Core/Macsuck.pm @@ -374,7 +374,10 @@ sub _walk_fwtable { if ($neigh_cannot_macsuck) { debug sprintf ' [%s] macsuck %s - port %s neighbor %s without macsuck support', - $device->ip, $mac, $port, $device_port->neighbor->ip; + $device->ip, $mac, $port, + (eval { $device_port->neighbor->ip } + || ($device_port->remote_ip + || $device_port->remote_id || '?')); # continue!! } elsif (my $neighbor = $device_port->neighbor) {