commit | c92ce574cd89680a521ce6296b8f793ebf281d2f | [log] [tgz] |
---|---|---|
author | Amanda Tait <atait@google.com> | Wed Apr 18 14:12:41 2018 -0400 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Wed Apr 18 18:58:51 2018 +0000 |
tree | 5270c1b56843fa238537bcbf20d95eb82158ea5e | |
parent | fa43101cd670ce3a9770d24385059e05f389e22c [diff] |
[netstack] Fix failing UDP tests Test UDP writes to an IPv6 network layer were leading to the incorrect destination network address to be written to the link layer. This behavior did not manifest in IPv4 write. Since IPv6 does not need ARP to resolve link addresses, but IPv4 does, the IPv6 writes were causing a Solicit-Node packet, with a Solicit-Node destination network address, to be written before the data packet, leading to failing tests. This change fixes this problem by adding test link address mappings to the LinkResolverCache, obviating the need for IPv6 to attempt a link address resolution. test: go test passes NET-555 Change-Id: Ic81f7aa4d691fbfe5d4eb66ae7513092bb1d226a
Netstack is a network stack written in Go.
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>
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 CONTRIBUTING.md for more details.
This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.