AutoNetkit is a configuration engine to quickly and easily build large-scale network configurations.
g_ospf = anm.add_overlay("ospf")
g_ospf.add_nodes_from(g_in.routers())
g_ospf.add_edges_from(e for e in g_in.edges() if e.src.asn == e.dst.asn)
AutoNetkit provides real-time feedback on network designs using a d3.js network rendering engine.
$ pip install autonetkit
For the visualization:
$ pip install autonetkit_vis
Draw a graph in an editor such as yEd, and save in the graphml format.
Examples of topology files can be found in the example directory.
$ autonetkit -f topology.graphml
INFO AutoNetkit 0.8.2
INFO Automatically assigning input interfaces
INFO Allocating v4 Infrastructure IPs
INFO Allocating v4 Primary Host loopback IPs
INFO All IPv4 tests passed.
INFO All validation tests passed.
INFO Compile for netkit on localhost
INFO Compiling Netkit for localhost
INFO Rendering Network
INFO Finished
This will generate Quagga configurations and Netkit topology files.:
$ tree rendered/localhost/netkit/
rendered/localhost/netkit/
├── lab.conf
├── r1_1
│ ├── etc
│ │ ├── hostname
│ │ ├── shadow
│ │ ├── ssh
│ │ │ └── sshd_config
│ │ └── zebra
│ │ ├── bgpd.conf
│ │ ├── daemons
│ │ ├── isisd.conf
│ │ ├── motd.txt
│ │ ├── ospfd.conf
│ │ └── zebra.conf
│ └── root
├── r1_1.startup
...
You can start the visualization webserver, and topologies will automatically be sent:
$ ank_webserver --ank_vis
A tutorial on extending using the API can be found here or as an iPython Notebook here.
Users from industry, academia, and university teaching.
More information on AutoNetkit:
-
CoNEXT 2013 Slides (Dec 13)
-
PyCon Australia 2013 Presentation on Autonetkit (Slides) (July 13)