Clone this repo:
  1. b6b6514 Merge remote-tracking branch 'upstream/master' into merge by Tamir Duberstein · 3 weeks ago master
  2. 284c9ce Fix transport/raw copybara export by Tamir Duberstein · 3 weeks ago
  3. 754c525 Implement support for SACK based recovery(RFC 6675). by Bhasker Hariharan · 3 weeks ago
  4. 45b3449 Merge remote-tracking branch 'upstream/master' into merge by Tamir Duberstein · 3 weeks ago
  5. 6d6e00e Proper cleanup of sockets that used REUSEPORT by Chris Kuiper · 3 weeks ago

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.