Clone this repo:
  1. d43b94c Merge remote-tracking branch 'upstream/master' into HEAD by Tamir Duberstein · 4 days ago master
  2. 5becf1e Add layer 2 stats (tx, rx) X (packets, bytes) to netstack by Bert Muthalaly · 4 days ago
  3. ded3d73 Remove duplicate TCP flag definitions by Tamir Duberstein · 9 days ago
  4. 47b17c7 Remove unused function. by Kevin Krakauer · 10 days ago
  5. 6a42c81 Reduce PACKET_RX_RING memory usage by Fabricio Voznika · 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>


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.