This program simulates the distance vector routing algorithm among a series of virtual nodes connected via the GENI network infrastructure. If you have an account, log in and create a slice and use this script to deploy the code to your nodes (using the included dvsim shell script if you like).
To build the program, run make
in the root directory. You can build a debug
version by running make debug
, and can remove the generated binary and object
files by running make clean
.
To deploy to your specified nodes, you can do the following:
- Ensure your node IPs and ports are correct in dvsim
dvsim pull
: pulls the latest code (currently from this repo)dvsim build
: builds this project on all nodes- Write your config files specifying your network connection
dvsim copy
: copies all configs to the relevant nodesdvsim run
: starts the program on each node- Wait a few seconds...
dvsim kill
: kills the process (assuming convergence has been reached)dvsim logcat
: copies logs back to localhost
A file called "full_log.txt" will exist that aggregates the logs from each node with the appropriate node name at the top of each section.
As is visible in the log files, sometimes a node is temporarily not able to make a connection with one of its neighbors (which is shown in the log by the warning messages). This does not prohibit convergence of the algorithm.