module
0.0.0-20180524224622-583358ac5197
Repository: https://github.com/costinm/netstack.git
Documentation: pkg.go.dev
# README
Netstack
Netstack is a network stack written in Go.
Getting started
Try it out on Linux by installing the tun_tcp_echo demo:
go install github.com/google/netstack/tcpip/sample/tun_tcp_echo
Create a TUN device with:
[sudo] ip tuntap add user <username> mode tun <device-name>
[sudo] ip link set <device-name> up
[sudo] ip addr add <ipv4-address>/<mask-length> dev <device-name>
Then run with:
tun_tcp_echo <device-name> <ipv4-address> <port>
Contributions
Please see CONTRIBUTING.md for more details.
Disclaimer
This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.
# Packages
Package dhcp implements a DHCP client and server as described in RFC 2131.
Package gate provides a usage Gate synchronization primitive.
Package ilist provides the implementation of intrusive linked lists.
Package sleep allows goroutines to efficiently sleep on multiple sources of notifications (wakers).
Package tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
Package tmutex provides the implementation of a mutex that implements an efficient TryLock function in addition to Lock and Unlock.
Package waiter provides the implementation of a wait queue, where waiters can be enqueued to be notified when an event of interest happens.