New Configuration Features for an Existing Device

If you want to fix a configuration template for an existing device supported by netlab, find the relevant configuration template (initial configurations, configuration modules), fix it, test your changes, and submit a PR.

If you want to add support for a new configuration module (example: MPLS segment routing on Nexus OS):

  • Read the module documentation to understand the configurable parameters;

  • Using existing configuration templates as a rough guide create a new configuration template (naming convention);

  • Add new module under features parameter of device settings (see for example netsim/devices/frr.yml). If the device does not support any module-specific features (or if the module does not use features), set the value to True.

  • Find relevant test topologies in tests/topology/input or tests/integration or create your own test topologies. The test topologies should (A) test all configurable parameters and (B) test devious parameter combinations.

  • Create virtual labs using the selected test topologies and your device. The simplest way to achieve that is to set the device type with -d parameter of netlab up or netlab create command.

  • If possible, create virtual labs with mixed device types to verify interoperability of your configuration settings (example: running OSPF on unnumbered interfaces requires an extra configuration command on Arista EOS).

  • Update the supported platforms documentation and add caveats (if needed).

  • Submit a PR.