Mininet
Emulator for rapid prototyping of Software Defined Networks
...We encourage you to contribute code, bug reports/fixes, documentation, and anything else that can improve the system! Links are virtual ethernet pairs, which live in the Linux kernel and connect our emulated switches to emulated hosts (processes).