I’ve been playing around with various aspects of SDN (Software Defined Networking) lately.  One of the best tools to help you try out SDN is called Mininet.  One of the parts of playing with SDN, is that you need a network to try it on.  In my case, I wanted to look at Openflow and how controllers make network switches do things.  But buying an Ethernet switch that is Openflow capable is just not feasible for cost reasons since this is a personal learning exercise.  One option would have been to use Open vSwitch running in a VM.  But having a full VM running for each instance of a switch is resource intensive.  So to do anything of scale, a great tool called Mininet was created.  You can create an entire virtual network, including hosts attached to the network all in a single VM that uses much less resources.

But currently, Mininet is a CLI based tool where you either specify the hosts as a command line parameter, or create a Python script with a custom topology.  This is really good if you want full control of what connects to what and all the tweaks you can make to host and link parameters.  But what if you just want to make up a quick test network of a specific topology.  Fortunately in the mininet/examples directory, there is a sample program called  It’s a nice little UI that you can drag and drop switches, hosts and links onto the canvas.  But it is a pretty basic sample and you can’t save the topology you created.

So I decided that I’d like to contribute back to the community with some enhancements. I have taken the example file and added some frequently requested features.

  1. Save and Load Topology:  Now you can save the topology you created to a file and load it back in later.
  2. Controller selection: Choose between using the Reference Controller or pointing to a Remote Controller.

It’s just the beginning.  My Python is a bit rusty, but it seems to work.  Hopefully I can figure out how to contribute my enhancements back into the Mininet project.

Download Miniedit here.



2 Responses to Miniedit

  1. vishal says:

    how to open this downloaded file in mininet CLI?(step by step)

    • gregorygee says:

      You do not run it inside mininet. It is its own Python application that invokes mininet APIs to do the same thing. Just download it, set the file permission to executable and run it ‘sudo ./miniedit’. Also depending on what version of mininet you are using, you may want to get a newer version of miniedit in newer posts. The link below will show you all the miniedit posts.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: