Clone this repo:
  1. 38758f6 dhcp: govern client lifecycle with a context by David Crawshaw · 4 days ago master
  2. d8f91f6 Add helpers to check if an IP address is multicast. by Matt Perry · 5 days ago
  3. 0ba0926 dhcp: handle multiple DHCP servers by David Crawshaw · 3 weeks ago
  4. b0f2f25 Fix CNAME handling for DNS cache. by Matt Perry · 3 weeks ago
  5. ecc8993 dhcp: support multiple DNS server addresses by David Crawshaw · 5 weeks 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.