def _make_new_mappings(self, mappings):
"""Convert a sequence of (ip, mac) tuples into a Arp shadow containers.
Arguments:
mappings -- An iterable containing tuples: (ip, mac)
"""
netbox = self.containers.factory(None, shadows.Netbox)
timestamp = datetime.now()
infinity = datetime.max
for (ip, mac) in mappings:
if not ip or not mac:
continue # Some devices seem to return empty results!
arp = self.containers.factory((ip, mac), shadows.Arp)
arp.netbox = netbox
arp.sysname = self.netbox.sysname
arp.ip = ip.strCompressed()
arp.mac = mac
arp.prefix_id = self._find_largest_matching_prefix(ip)
arp.start_time = timestamp
arp.end_time = infinity
评论列表
文章目录