Fake mininet, use for experiments and education.
make
to build the executable file../mn
to enter fake-mn's CLI.- Then you can use the supported commands to create your own fake network topology.
- Enter CLI directly (manual):
./mn
- Using script (mininet-like):
./mn -f <your script>
- API usage: run
make lib
first, and seeExample
part for other details.
You can see the example:
Scenario | Description | Command | Result |
---|---|---|---|
CLI: Network Flow | Generate the simple graph, and export it's dotfile. And using graphviz to generate png from this dotfile. | [1] | |
API: Example (build & demo) | Using make lib to generate library of fake-mininet - libfakemn.a , and use it within your program. |
[2] | api example code |
API: Path between 2 vertices | Using API (NetworkManager , Path ) to create network topology, and get the available paths between 2 selected vertices. |
[2] | find-path example code |
API: Find Max-Flow | Apply Ford-Fulkerson Labeling Algorithm on simplest graph, which present in the first demo. | [2] | max-flow example code |
API: Plot the Network Topology | Using Gplot class to generate dotfile from your current network topology. (Export a dotfile, will need graphviz dependency to generate figure from this file.) |
x | |
API: DFS | Apply depth-first search algorithm on the network present in the previous plotting example. ( Start point: "b" ) |
x | |
API: BFS | Apply breadth-first search algorithm on the network present in the previous plotting example. ( Start point: "b" ) |
x | |
API: Single Source Shortest Path | Apply single-source shortest path algorithm on the network topology: | x |
Command References:
[1]
$ make && ./mn < example/stdin/simple_graph.txt
$ dot -Tpng example/stdin/simple_graph.dot -o example/stdin/simple_graph.png
[2]
$ make lib && cp libfakemn.a example/api
$ cd example/api && make
- Output dot file for current topology.
- Add more information/operation on edge. (For graph theory)
- Create real virtual device that support real network functions.
Kevin Cyu, kevinbird61@gmail.com