383a4e7886
This adds a simple test validating MPTCP Sock for Linux implementation: - A Listener is created with MPTCP support, accepting new connections in a new thread. - A Dialer with MPTCP support connects to this new Listener - On both sides, MPTCP should be used. Note that at this point, we cannot check if a fallback to TCP has been done nor if the correct protocol is being used. Technically, a localServer from mockserver_test.go is used, similar to TestIPv6LinkLocalUnicastTCP from tcpsock_test.go. Here with MPTCP, the Listen step is done manually to force using MPTCP and a post step is done to verify extra status after the Accept. More checks are going to be done in the future. Please note that the test is skipped if the kernel doesn't allow the creation of an MPTCP socket at all when starting the test. The test can be executed with this command: $ ../bin/go test -v net -run "^TestMultiPathTCP$" The "-race" option has also been checked. This work has been co-developped by Benjamin Hesmans <benjamin.hesmans@tessares.net> and Gregory Detal <gregory.detal@tessares.net>. Fixes #56539 Change-Id: I4b6b39e9175a20f98497b5ea56934e242da06194 Reviewed-on: https://go-review.googlesource.com/c/go/+/471141 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Auto-Submit: Emmanuel Odeke <emmanuel@orijtech.com> |
||
---|---|---|
.github | ||
api | ||
doc | ||
lib/time | ||
misc | ||
src | ||
test | ||
.gitattributes | ||
.gitignore | ||
codereview.cfg | ||
CONTRIBUTING.md | ||
go.env | ||
LICENSE | ||
PATENTS | ||
README.md | ||
SECURITY.md |
The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 4.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Download and Install
Binary Distributions
Official binary distributions are available at https://go.dev/dl/.
After downloading a binary release, visit https://go.dev/doc/install for installation instructions.
Install From Source
If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.
Contributing
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.