A network stack written in Go with the CSP style. GoNet was written for research purposes, and the accompanying paper is titled An Implementation and Analysis of a Kernel Network Stack in Go with the CSP Style.
Warning: GoNet was built for research purposes and is neither production-ready nor under active development. As an alternative, we would recommend looking into google/netstack.
Note: This project only works on linux machines (because of its dependency on the tap device).
To install GoNet
:
- Run
go get github.com/hsheth2/gonet
- In the directory, run
make
.
You can use its functionality by importing it in your own projects. See the GoDoc for documentation.
We also included a simple demo application: a basic HTTP server. Once you have run make
in the GoNet
source directory, there will be an executable called gohttp
in your Go bin. This executable will run the HTTP server, and will serve the files in whatever directory it is run in.
Because GoNet
runs on the tap interface, it will be accessible at 10.0.0.2
.
This project was created by Harshal Sheth and Aashish Welling.
GoNet is released under the MIT License.