Skip to content

The repository provides software that creates configuration files for the BonnMotion, CORE, coreemu-lab and The ONE programmes from a single TOML file.

License

Notifications You must be signed in to change notification settings

stg-tud/bp2022_netlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

            _   _       _
 _ __   ___| |_| | __ _| |__
| '_ \ / _ \ __| |/ _' | '_ \
| | | |  __/ |_| | (_| | |_) |
|_| |_|\___|\__|_|\__,_|_.__/

bp2022_netlab

netlab helps you to quickly generate configuration files for network experiment softwares such as CORE, coreemu-lab and The ONE using a single TOML file. Its aim is to make your work easier, thus it handles annoying tasks such as generating IP addresses, movement patterns (using BonnMotion) and multiple parameterized runs.

netlab was developed by a group of five students for the Software Technology Group as part of a bachelor internship of the department of computer science at TU Darmstadt in winter term 2022/23.

Requirements

In order to generate movement patterns, BonnMotion version 3.0.1 or higher must be installed. It must either be available under the name "bm" (which is default) in your $PATH/%Path% or you must specify the path of the BonnMotion executable using the -b <path-to-bonnmotion> flag of netlab.

If you do not want to use our pre-built Releases you will also need go version 1.19 or higher installed.

Installation

To install netlab, you can either use the pre-built binaries provided here or build one yourself. To build from source, run these commands:

# HTTPS:
git clone https://github.com/stg-tud/bp2022_netlab.git netlab
# SSH:
git clone [email protected]:stg-tud/bp2022_netlab.git netlab

cd netlab

# Linux, macOS:
go build -o netlab main.go
# Windows:
go build -o netlab.exe main.go

Usage

netlab is a simple command line application. Thus you have to run it from a command line. Either install it to a path in $PATH (%Path% for Windows respectively) or run it inside the current folder, like so:

# installed in $PATH:
netlab

# in current folder:
./netlab

The usage itself should be pretty self-explainatory. You can always run netlab help or netlab help <command> for help on that.

Currently, these commands are supported:

  • netlab version: Shows the current version number of netlab.
  • netlab test [filename]: Tests the given TOML file for errors but does not generate any output files.
  • netlab generate [filename] (or netlab gen [filename] for short): Loads the given TOML file and generates output files for all targets.

There are also some flags which might interest you:

  • -h --help: shows help (same as netlab help)
  • -v --version: shows the version (same as netlab version)
  • -d --debug: enabled debug output/logging
  • -o --overwrite: overwrites existing files (generate only)
  • -f <name> --folder <name>: outputs to the specified folder name instead of the default output (generate only)
  • -t <target> --target <target>: outputs for the specified target format. If specified, the targets definition from the TOML file will be ignored. Can be specified multiple times for multiple targets. Possible values are for example core, coreemu-lab and the-one. (generate only)
  • -b <path-to-bonnmotion> --bonnmotion <path-to-bonnmotion>: path of the BonnMotion executable to run, if not installed as bm in $PATH/%Path%. (generate only)

Configuration files

netlab uses TOML files for experiment configurations. For more information on how to create those, have a look at the Wiki. You can also find a few example files in the examples folder.

About

The repository provides software that creates configuration files for the BonnMotion, CORE, coreemu-lab and The ONE programmes from a single TOML file.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •