Another week, another MiniEdit drop.  One main thing is that you should be able to run this against MiniNet 2.0 now without modifying the code.  I’ve had some emails related to this.  The full feature list is below.

  • Supports running against MiniNet 2.0 systems.
  • Enable sFlow reporting.
  • Enable NetFlow reporting.
  • Bug fix in canvas scrollbar not increasing when dragging node off canvas

For sFlow and NetFlow reporting, you setup your profiles in the application preferences and then just enable sFlow and/or NetFlow on each individual switch that you want to use it for.

flow collector

If you want to try it out, I’ve been testing with these free/limited versions of collectors.

If there are an features you’d like to see, please leave some feedback.  In a way, I’m running out of ideas for good features.  I’m sure there are some out there.

Download MiniEdit here.

MiniNet host talking to Internet

I’ve seen the example that comes with MiniNet.  But I was wondering if there was another way to have a MiniNet host communicate with the internet.  Since I am running MiniNet inside a VirtualBox VM, I thought I would just connect one of the external interfaces on the VM to the OVS switch running in MiniNet.  I also didn’t want to configure static IP address on all the hosts, so I decided to use DHCP.  Now MiniNet hosts only support being created with static IP addresses, but there is a shortcut to have them do DHCP.  So the basic steps to get MiniNet hosts using DHCP to get an address and connect to the internet are as follows.

  • In the VirtualBox settings for your VM, add an additional interface to the VM and set it to NAT.
  • Start up your VM.   In my case, the new interface that was added was called eth2 in the VM.  Don’t do any special configuration in the VM for the interface, just leave it as is.
  • Create a simple one host one switch network and attach the VM interface (eth2 in my case) to the switch.
  • Start your MiniNet network.
  • Open an xterm to your MiniNet host and issue the following. Note, ny host is called ‘h1’.
    • ifconfig h1-eth0 inet
    • dhclient h1-eth0

After that is done, you should be able to communicate with the internet.  I tested it by pinging

Note that, instead of adding a new interface to your VirtualBox VM as NAT setting, you could have added it as ‘Bridge Adapter’ and then the host would be communicating on your LAN getting an IP address from your LAN’s DHCP server.  But in some cases, that is not desired scenerio.

So I made a small MiniNet script, see below, that automates the above steps and you can use as an example on how to add it to your scripts.


from import Mininet
from mininet.node import Controller
from mininet.cli import CLI
from import Intf
from mininet.log import setLogLevel, info

def myNetwork():

    net = Mininet( topo=None,

    info( '*** Adding controller\n' )

    info( '*** Add switches\n')
    s1 = net.addSwitch('s1')
    Intf( 'eth2', node=s1 )

    info( '*** Add hosts\n')
    h1 = net.addHost('h1', ip='')

    info( '*** Add links\n')
    net.addLink(h1, s1)

    info( '*** Starting network\n')
    h1.cmdPrint('dhclient '+h1.defaultIntf().name)

if __name__ == '__main__':
    setLogLevel( 'info' )

And then you can see it in action below.

mininet@mininet-vm:~$ sudo ./
*** Adding controller
*** Add switches
*** Add hosts
*** Add links
*** Starting network
*** Configuring hosts
*** Starting controller
*** Starting 1 switches
*** h1 : ('dhclient h1-eth0',)
*** Starting CLI:
mininet> h1 ping -c 1
PING ( 56(84) bytes of data.
64 bytes from ( icmp_req=1 ttl=55 time=11.6 ms

--- ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 11.692/11.692/11.692/0.000 ms

Hope you found this useful.

This post ‘MiniNet host talking to Internet’ first appeared on



Well, I finally got around to doing the one feature I have had on my list since I starting making updates to MiniEdit.  You now can have multiple controllers in MiniEdit.  Now you can do OpenFlow islands, with different islands controlled by different types of controllers or if you have the supported controller, have a redundant controller for a switch.


Now, this also means that how you handle controllers takes a little more work than before. You will have to remember now to make the link between the controller and the switch.  A switch that does not have a line to a controller will not be under control of any controller.

So features in this release.

  • Multiple controllers
  • You can now set the default route for a host
  • Many bug fixes

Download MiniEdit here.