-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
net: add func (*TCPConn) MultipathTCP() (bool, error) #59166
Comments
Change https://go.dev/cl/471140 mentions this issue: |
Change https://go.dev/cl/471139 mentions this issue: |
Given that the getter method on Listener and Dialer is just MultipathTCP, it seems like the TCPConn method should be that too (not Using...). Otherwise sounds good. |
This proposal has been added to the active column of the proposals project |
@rsc: Thank you for having looked! I'm fine with the shorter version ( @ianlancetaylor: you suggested adding this |
@matttbe |
Based on the discussion above, this proposal seems like a likely accept. |
No change in consensus, so accepted. 🎉 |
This new function wraps the getsockopt network call with an integer argument, similar to SetsockoptInt. This will be used in MPTCP in the following commit. This work has been co-developed by Gregory Detal <gregory.detal@tessares.net>. Updates #59166 Change-Id: I8f6aa00ea2535683d9bbf436993c23e9c6ca2af3 Reviewed-on: https://go-review.googlesource.com/c/go/+/471139 Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Change https://go.dev/cl/498601 mentions this issue: |
For #56539 For #59166 Change-Id: Ief392464916a1a74a8fcc6c3c7bdb213e8c6ef98 Reviewed-on: https://go-review.googlesource.com/c/go/+/498601 Run-TryBot: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Eli Bendersky <eliben@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Hello,
While working on #56539, I noticed I misunderstood the use of
MultipathTCP()
when it was discussed.Despite the fact Apple and others have been pushing to avoid that, it can happen some middleboxes explicitly or accidentally block MPTCP, e.g. transparent proxy, some firewalls blocking all TCP extensions, etc. When this happens, MPTCP connections will fallback to TCP and continue to work with only one path.
App developers explicitly requiring MPTCP might want to know if a fallback to TCP has been done. The idea would then be to add a method to check such a thing, e.g.
Similar to other
TCPConn
methods (KeepAlive, No Delay, Linger, etc.), an error can be emitted if the connection is not OK.The Linux kernel can tell us that: example.
A draft implementation has been shared on Gerrit.
The text was updated successfully, but these errors were encountered: