Skip to content
Caio edited this page Jun 7, 2015 · 17 revisions

Home | Installing | Tutorial | GUI | Node Classes | Topology Generators |Routing | Publications | Related Projects


Based on miniedit.py, by Bob Lantz, miniccnxedit is a GUI used to visually generate Mini-CCNx template files.

[UPDATE] The latest versions of the code also allow the user to run their topologies right out from the GUI, making it easier to conduct several experiments!

What is it?

Written in Python, miniccxedit uses the TkInter framework. It is very useful for building small to medium content-oriented topologies, when one needs to have a visual idea of the scenario.

How to use it

After properly installing Mini-CCNx (see Installing), simply invoke it with

miniccnxedit

More details:

Usage: miniccnx [template_file]
If no template_file is given, will try to load template
from file miniccnx.conf in the current directory.

Options:
-h, --help show this help message and exit

Please note you don't need to be root to generate the template. A window like the one below will open.

miniccnxedit

In the left menu, we have, in order:

  • arrow: use it to move nodes around. Doesn't affect the generated template file.
  • host: represents a CCN host that will run a CCN app.
  • router: represents a CCN router.
  • link: blue lines that represents the links between CCN nodes.
  • generate button: when you are done building your topology, click in "Generate". If no specific template file name was given, this will generate a file, in the current directory, with the name miniccnx.conf.

For the example in the picture above, the generated template will be:

[hosts]
h1:
h2:
h3:
[routers]
s4:
s5:
[links]
s4:s5
h3:s5
h3:s4
h1:s4
s4:h2

Now, if desired, you can add FIB entries, apps, CPU limitation, link parameters, etc.

When not to use it

It's not recommended to use miniccnxedit if you have a huge scenario, like one with 100 nodes, for example. In this case, it will be faster to use scripting for generating the template file (remember, it's a simple text file), like BASH ou Python.

Clone this wiki locally