Clone this repo:
  1. d441dce Count TCP resets received. by Bert Muthalaly · 33 hours ago master
  2. 1ef6cb0 Fix build: forgot to qualify tcpip.TCPStats. by Bert Muthalaly · 2 days ago
  3. 3a836f6 Copy TCP stats out when stack.Stats() is invoked. by Bert Muthalaly · 2 days ago
  4. 896f323 Count resets and segments sent in sendTCP. by Bert Muthalaly · 8 days ago
  5. 80abeac Fix a bug with TTL values. by Matt Perry · 10 days ago


Netstack is a network stack written in Go.

Getting started

Try it out on Linux by installing the tun_tcp_echo demo:

go install

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>


We would love to accept contributions, but we have not yet worked out how to handle them. Please contact us before sending any pull requests.

Whatever we do decide on will require signing the Google Contributor License. Please see for more details.


This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.