Tool for virtual networks

Casey Deccio casey at deccio.net
Thu Jul 14 22:01:39 UTC 2022


Dear colleagues,

I've been developing a tool for building and experimenting with virtual networks, primarily for use with teaching network protocols.  It's an active work-in-progress, but I thought it might be time to reach out to NANOG in case anyone else might find it useful and/or might have feedback to offer.  Here is the code:

https://github.com/cdeccio/cougarnet

It includes layer-2 switches, VLANs and trunking, and routers, all using Linux processes in their own namespaces as network "nodes".  It was inspired by mininet (https://mininet.org) but it was developed from scratch to meet different needs.

The README has additional information.  If you install and run the code, *please* do it in a *virtual machine*.  At this point, it requires superuser capabilities to run things like "ip link", "ip addr", and "sysctl", among other things, using sudo.  Much on the to-do list, but it meets my immediate needs.  Just wanted to share in the mean time.

Cheers,
Casey


More information about the NANOG mailing list