Skip to content

A script to deploy containerized FRR based on draw.io topology

Notifications You must be signed in to change notification settings

asi-ubi/topology_builder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Topology builder

The script is proposed to deploy a network topology drawn in draw.io using containerized FRR as routers. The script uses Docker file creates docker-compose file and container configuration file (frr/docker-start).

Draw.io diagram defenitions

A mapping between draw.io and docker objects is depicted on the figure below: image You can use any shapes for router and broadcast networks. IPv4 subnets are supported right now only. You can use prefix length <= /29 since docker host uses one address from each subnet.

How to use

  1. Clone the repo
git clone https://github.com/alekshi/topology_builder.git
cd topology_builder/
  1. Draw a network diagram using draw.io and export to xml (without compressing)
  2. To use MPLS with Linux kernel, load additional modules:
   modprobe mpls_router
   modprobe mpls_gso
   modprobe mpls_iptunnel
  1. Lanuch topology_builder.py to create docker-compose file and frr/docker-start file
./topology_builder.py -f <XML topology file path>

Default settings include:

  • Ellipse as router
  • Rectangle as broadcast network
  • All FRR daemons are enable
  • MPLS is disable Use --help to see all options
  1. Launch docker-compose file to create topology
docker-compose up -d
  1. Check ports what are exposed for ssh connection using docker container ls By default 2000+ ports are used for ssh and root/root credentials.

About

A script to deploy containerized FRR based on draw.io topology

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.4%
  • Dockerfile 5.6%