def build_ip6(anm): """Builds IPv6 graph, using nodes and edges from IPv4 graph""" import autonetkit.plugins.ipv6 as ipv6 # uses the nodes and edges from ipv4 g_ipv6 = anm.add_overlay("ipv6") g_ipv4 = anm['ipv4'] g_ipv6.add_nodes_from( g_ipv4, retain="collision_domain") # retain if collision domain or not g_ipv6.add_edges_from(g_ipv4.edges()) ipv6.allocate_ips(g_ipv6)
def build_ipv6(anm): """Builds IPv6 graph, using nodes and edges from IPv4 graph""" import autonetkit.plugins.ipv6 as ipv6 # uses the nodes and edges from ipv4 g_ipv6 = anm.add_overlay("ipv6") g_ip = anm['ip'] g_ipv6.add_nodes_from( g_ip, retain="collision_domain") # retain if collision domain or not g_ipv6.add_edges_from(g_ip.edges()) ipv6.allocate_ips(g_ipv6) #TODO: replace this with direct allocation to interfaces in ip alloc plugin for node in g_ipv6.nodes("is_l3device"): node.loopback_zero.ip_address = node.loopback for interface in node: edges = list(interface.edges()) if len(edges): edge = edges[0] # first (only) edge interface.ip_address = edge.ip #TODO: make this consistent interface.subnet = edge.dst.subnet # from collision domain