From d20b9871b0f5c4de15eea701e0f225bf6d3daefa Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Mon, 22 May 2023 12:43:29 +0200 Subject: [PATCH 1/2] Revert "wgengine/netstack: switch to cubic congestion control (#24)" This reverts commit f4cdcfb4826ef7a27f651d26c73eb208bda27eb3. --- wgengine/netstack/netstack.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go index ec6a4a1c6e4ca..6161fa422bcf7 100644 --- a/wgengine/netstack/netstack.go +++ b/wgengine/netstack/netstack.go @@ -179,11 +179,6 @@ func Create(logf logger.Logf, tundev *tstun.Wrapper, e wgengine.Engine, mc *magi if tcpipErr != nil { return nil, fmt.Errorf("could not enable TCP SACK: %v", tcpipErr) } - congestionOpt := tcpip.CongestionControlOption("cubic") // Reno is used by default - tcpipErr = ipstack.SetTransportProtocolOption(tcp.ProtocolNumber, &congestionOpt) - if tcpipErr != nil { - return nil, fmt.Errorf("could not set TCP congestion control: %v", tcpipErr) - } linkEP := &protectedLinkEndpoint{Endpoint: channel.New(512, tstun.DefaultMTU(), "")} if tcpipProblem := ipstack.CreateNIC(nicID, linkEP); tcpipProblem != nil { return nil, fmt.Errorf("could not create netstack NIC: %v", tcpipProblem) From 373fb42571bd5c9cfdd8320c92a3ad1e898c3f92 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Mon, 22 May 2023 12:48:26 +0200 Subject: [PATCH 2/2] wgengine/netstack: disable TCP SACK --- wgengine/netstack/netstack.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go index 6161fa422bcf7..17c4ce4be1367 100644 --- a/wgengine/netstack/netstack.go +++ b/wgengine/netstack/netstack.go @@ -174,11 +174,13 @@ func Create(logf logger.Logf, tundev *tstun.Wrapper, e wgengine.Engine, mc *magi NetworkProtocols: []stack.NetworkProtocolFactory{ipv4.NewProtocol, ipv6.NewProtocol}, TransportProtocols: []stack.TransportProtocolFactory{tcp.NewProtocol, udp.NewProtocol, icmp.NewProtocol4, icmp.NewProtocol6}, }) - sackEnabledOpt := tcpip.TCPSACKEnabled(true) // TCP SACK is disabled by default + // Issue: https://github.com/coder/coder/issues/7388 + // + /*sackEnabledOpt := tcpip.TCPSACKEnabled(true) // TCP SACK is disabled by default tcpipErr := ipstack.SetTransportProtocolOption(tcp.ProtocolNumber, &sackEnabledOpt) if tcpipErr != nil { return nil, fmt.Errorf("could not enable TCP SACK: %v", tcpipErr) - } + }*/ linkEP := &protectedLinkEndpoint{Endpoint: channel.New(512, tstun.DefaultMTU(), "")} if tcpipProblem := ipstack.CreateNIC(nicID, linkEP); tcpipProblem != nil { return nil, fmt.Errorf("could not create netstack NIC: %v", tcpipProblem)