Mininet
Emulator for rapid prototyping of Software Defined Networks
...Mininet is also a great way to develop, share, and experiment with Software-Defined Networking (SDN) systems using OpenFlow and P4. Mininet is actively developed and supported, and is released under a permissive BSD Open Source license. 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).