Pass local link address to DeliverNetworkPacket

This allows a NetworkDispatcher to implement transparent bridging,
assuming all implementations of LinkEndpoint.WritePacket call eth.Encode
with header.EthernetFields.SrcAddr set to the passed
Route.LocalLinkAddress, if it is provided.

PiperOrigin-RevId: 213686651
11 files changed
tree: 06a0798b35b0d3b5e754e68b55ad79208189a3ff
  1. dhcp/
  2. gate/
  3. ilist/
  4. rand/
  5. sleep/
  6. tcpip/
  7. tmutex/
  8. waiter/
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. LICENSE
  13. README.md
README.md

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.