lib/netdisco/method/cdp.rb in netdisco-0.0.7 vs lib/netdisco/method/cdp.rb in netdisco-0.0.8
- old
+ new
@@ -16,19 +16,19 @@
private
def make_peers
peers = []
@mib.by_oid(PEERS_BY).each do |_, vb|
- peer = Peer.new
- peer_id = vb.oid_id(PEERS_BY)
- peer.oid = get_oid_hash(peer_id)
- peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].as_ip
+ peer = Peer.new
+ peer_id = vb.oid_id(PEERS_BY)
+ peer.oid = get_oid_hash(peer_id)
+ peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].as_ip rescue peer.ip
peer.raw_name = @mib[OID[:cdpCacheDeviceId], peer_id].value
- peer.ip = get_ip(peer.raw_ip, peer.raw_name)
- peer.dst = @mib[OID[:cdpCacheDevicePort], peer_id].value
- peer.src = @mib[OID[:cdpInterfaceName], peer_id.first]
- peer.src = peer.src&.value if peer.src
- peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].value
+ # 修正设备命名
+ peer.ip = get_ip(peer.raw_ip, peer.raw_name)
+ peer.src = @mib[OID[:cdpInterfaceName], peer_id.first].value rescue nil
+ peer.dst = @mib[OID[:cdpCacheDevicePort], peer_id].value rescue nil
+ # peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].value
peers << peer
end
peers
end
end