8e5b17cf13
Signed-off-by: Mrunal Patel <mrunalp@gmail.com> |
||
---|---|---|
.. | ||
common | ||
nat | ||
.gitignore | ||
BUILD | ||
Dockerfile | ||
main.go | ||
Makefile | ||
README.md |
Overview
The goal of this Go project is to consolidate all low-level network testing "daemons" into one place. In network testing we frequently have need of simple daemons (common/Runner) that perform some "trivial" set of actions on a socket.
Usage
- A package for each general area that is being tested, for example
nat/
will contain Runners that test various NAT features. - Every runner should be registered via
main.go:makeRunnerMap()
. - Runners receive a JSON options structure as to their configuration.
Run()
should return the disposition of the test.
Runners can be executed into two different ways, either through the the command-line or via an HTTP request:
Command-line
$ ./net -runner <runner> -options <json>
./net \
-runner nat-closewait-client \
-options '{"RemoteAddr":"127.0.0.1:9999"}'
HTTP server
$ ./net --serve :8889
$ curl -v -X POST localhost:8889/run/nat-closewait-server \
-d '{"LocalAddr":"127.0.0.1:9999"}'