There are (at least) two steps to get new functionality (like VLANs) implemented in netsim-tools:
- We have to develop a data transformation module that takes high-level lab-, node-, link- or interface attributes and transforms them into device data.
- Someone has to create Jinja2 templates for each supported device that transform per-device netsim-tools data into device configurations.
I usually implement new features on Cisco IOSv and Arista EOS1, Stefano Sasso adds support for VyOS, Dell OS10, and Mikrotik RouterOS, and Jeroen van Bemmel adds Nokia SR Linux and/or SR OS support. That’s less than half of the platforms supported by netsim-tools, and anything you could do to help us increase the coverage would be highly appreciated.
GitHub Issues always contain the up-to-date list of missing devices, at this moment we’d appreciate:
- VLAN support for CSR 1000v, Nexus OS, Junos, and Cumulus Linux (old-style config and NVUE)
- MPLS LDP support for most platforms, including Nexus OS and Junos
- BGP-LU support for the same set of platforms
- VRF support for old-style Cumulus Linux and Junos (someone is already working on Cisco Nexus OS implementation).
- OSPFv3 support on Nexus OS and Cumulus Linux
Willing to help? Contributor Guidelines will give you more information (in particular New Configuration Features for an Existing Device); once you’re ready to get started open a GitHub issue saying “I’m working on this bit”, and submit a pull request when you’re done. Thanks a million!
Being an old-timer, I still believe in the ancient “have two independent interoperable implementations” IETF mantra. ↩︎