Closed matttbe closed 6 hours ago
Related Issues
Related Code Changes
Related Documentation
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Change https://go.dev/cl/630715 mentions this issue: net: check for MPTCP in DialTCP and ListenTCP
Go version
go version devel go1.24-02df9bbdbd Thu Nov 21 15:52:29 2024 +0000 linux/amd64
Output of
go env
in your module/workspace:What did you do?
Having
GODEBUG=multipathtcp=1
being set when running Go apps usingListenTCP()
orDialTCP()
directly.Or checking if MPTCP is used on a system supporting it, with Go 1.24 and a Go app using
ListenTCP()
directly.What did you see happen?
MPTCP is unexpectedly not used when
GODEBUG=multipathtcp=1
is set for these apps.Same when using Go 1.24 with an app using
ListenTCP()
directly: MPTCP is unexpectedly not used.What did you expect to see?
Setting
GODEBUG=multipathtcp=
has no effects on apps usingListenTCP()
orDialTCP()
directly.According to the documentation, these functions are supposed to act like
Listen
andDial
respectively:So when reading this, I think we should expect
GODEBUG=multipathtcp=
to act on these functions as well.Also, since #69016, MPTCP is used by default (if supported) with TCP listeners. Similarly, when
ListenTCP()
is used directly, MPTCP is unexpectedly not used. It is strange to have a different behaviour.