autonetkit.design package

Submodules

autonetkit.design.bgp module

autonetkit.design.bgp.build_bgp(anm)

Build iBGP end eBGP overlays

autonetkit.design.bgp.build_ebgp(anm)
autonetkit.design.bgp.build_ebgp_v4(anm)
autonetkit.design.bgp.build_ebgp_v6(anm)
autonetkit.design.bgp.build_ibgp(anm)
autonetkit.design.bgp.build_ibgp_v4(anm)
autonetkit.design.bgp.build_ibgp_v6(anm)

autonetkit.design.igp module

autonetkit.design.igp.build_eigrp(anm)

Build eigrp overlay

autonetkit.design.igp.build_igp(anm)
autonetkit.design.igp.build_isis(anm)

Build isis overlay

autonetkit.design.igp.build_network_entity_title(anm)
autonetkit.design.igp.build_ospf(anm)

Build OSPF graph.

Allowable area combinations: 0 -> 0 0 -> x (x!= 0) x -> 0 (x!= 0) x -> x (x != 0)

Not-allowed: x -> x (x != y != 0)

autonetkit.design.igp.build_rip(anm)

Build rip overlay

autonetkit.design.igp.ip_to_net_ent_title_ios(ip_addr)

Converts an IP address into an OSI Network Entity Title suitable for use in IS-IS on IOS.

>>> from netaddr import IPAddress
>>> ip_to_net_ent_title_ios(IPAddress("192.168.19.1"))
'49.1921.6801.9001.00'

autonetkit.design.ip module

autonetkit.design.ip.build_ip(anm)
autonetkit.design.ip.build_ipv4(anm, infrastructure=True)
autonetkit.design.ip.build_ipv6(anm)

autonetkit.design.mpls module

autonetkit.design.mpls.add_vrf_loopbacks(g_vrf)

Adds loopbacks for VRFs, and stores VRFs connected to PE router

autonetkit.design.mpls.allocate_vrf_roles(g_vrf)

Allocate VRF roles

autonetkit.design.mpls.build_ibgp_vpn_v4(anm)

Based on the ibgp_v4 hierarchy rules. Exceptions: 1. Remove links to (PE, RRC) nodes

CE nodes are excluded from RR hierarchy ibgp creation through pre-process step

autonetkit.design.mpls.build_mpls_ldp(anm)

Builds MPLS LDP

autonetkit.design.mpls.build_vrf(anm)

Build VRF Overlay

autonetkit.design.mpls.mark_ebgp_vrf(anm)
autonetkit.design.mpls.mpls_oam(anm)
autonetkit.design.mpls.mpls_te(anm)
autonetkit.design.mpls.vrf_pre_process(anm)

Marks nodes in g_in as appropriate based on vrf roles. CE nodes -> ibgp_role = Disabled, so not in iBGP (this is allocated later)

autonetkit.design.osi_layers module

autonetkit.design.osi_layers.build_layer1(anm)
autonetkit.design.osi_layers.build_layer2(anm)
autonetkit.design.osi_layers.build_layer3(anm)

l3_connectivity graph: switch nodes aggregated and exploded

Module contents