class NetCrawl::CDP

Constants

MIB
OID
PEERS_BY

Private Instance Methods

make_peers() click to toggle source
# File lib/netcrawl/method/cdp.rb, line 15
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.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
    peers << peer
  end
  peers
end