]> Cypherpunks.ru repositories - gostls13.git/commit
net: mptcp: force using MPTCP with GODEBUG
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Fri, 30 Jun 2023 15:24:57 +0000 (17:24 +0200)
committerGopher Robot <gobot@golang.org>
Tue, 11 Jul 2023 00:36:57 +0000 (00:36 +0000)
commit6a063b01b0b0effa787c5aed90b585b409fe4688
tree0a4c41966024d194e48074c698cad2374ee4d646
parent07ede7a54379eef959cf29af5a87ea19c78a31fd
net: mptcp: force using MPTCP with GODEBUG

When adding MPTCP support to address the proposal #56539, I missed the
GODEBUG setting from Russ Cox's plan:

  I am inclined to say that we add MPTCP as an opt-in for a release or
  two, and then make it opt-out. There should be a GODEBUG setting (...)

See: https://github.com/golang/go/issues/56539#issuecomment-1309294637

Thanks to andrius4669 for having reported this issue to me.

It makes sense to have this GODEBUG setting not to have to modify
applications to use MPTCP (if available). It can then be useful to
estimate the impact in case we want to switch from opt-in to opt-out
later.

The MPTCP E2E test has been modified to make sure we can enable MPTCP
either via the source code like it was already the case before or with
this environment variable:

  GODEBUG=multipathtcp=1

The documentation has been adapted accordingly.

I don't know if it is too late for Go 1.21 but I had to put a version in
the documentation. The modification is small, the risk seems low and
this was supposed to be there from the beginning according to Russ Cox's
specifications. It can also be backported or only be present in the
future v1.22 if it is easier.

Note: I didn't re-open #56539 or open a new one. It is not clear to me
what I should do in this case.

Fixes #56539

Change-Id: I9201f4dc0b99e3643075a34c7032a95528c48fa0
Reviewed-on: https://go-review.googlesource.com/c/go/+/507375
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
doc/godebug.md
src/internal/godebugs/table.go
src/net/dial.go
src/net/mptcpsock_linux_test.go
src/runtime/metrics/doc.go