Skip to content

dinesharanathunga/autonetkit

 
 

Repository files navigation

AutoNetkit

AutoNetkit is a configuration engine to quickly and easily build large-scale network configurations.

Flowchart

PyPi version

Features

High-level syntax

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)

Visualization

AutoNetkit provides real-time feedback on network designs using a d3.js network rendering engine. d3.js based visualization

Installing

$ pip install autonetkit

For the visualization:

$ pip install autonetkit_vis

Using

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
...

Visualization

You can start the visualization webserver, and topologies will automatically be sent:

$ ank_webserver --ank_vis

Extending

A tutorial on extending using the API can be found here or as an iPython Notebook here.

Users

Users from industry, academia, and university teaching.

Further information

More information on AutoNetkit:

Contact

About

AutoNetkit: a system to automate emulated network configuration

Resources

License

Stars

Watchers

Forks

Packages

No packages published