Introduction to Developer docs

Developer docs is primarily for developers interested in contributing to NeST. It gives a peak into the internal structure of NeST that can be useful for new contributors.

Before we proceed, let’s clear one thing. NeST is a wrapper around linux network namespaces and various other networking utilities.

For network namespaces, it provides APIs to:

  1. Create network namespaces

  2. Add network interfaces to namespaces

  3. Assign addresses to interfaces

  4. Add routes in interfaces, etc

In NeST, we abstract upon network namespaces and instead call them Node. This is done so that users don’t need to know about network namespaces to use NeST.

Using the above APIs, users can build complex network topologies. NeST provides APIs over various network utilities like netperf, iperf3, ping, etc so that users can run network traffic on their built topologies. These APIs allow users to run network experiments on their built topologies. And, NeST uses iproute2 tools like ss (socket stats), tc (traffic control) so that users can obtain stats and plots from the network experiment they run.