7
7
package netstack
8
8
9
9
import (
10
- "github.com/celzero/firestack/intra/settings"
11
10
"gvisor.dev/gvisor/pkg/tcpip"
12
11
"gvisor.dev/gvisor/pkg/tcpip/network/ipv4"
13
12
"gvisor.dev/gvisor/pkg/tcpip/network/ipv6"
@@ -19,38 +18,37 @@ func SetNetstackOpts(s *stack.Stack) {
19
18
// TODO: other stack otps?
20
19
// github.com/xjasonlyu/tun2socks/blob/31468620e/core/option/option.go#L69
21
20
22
- if settings .GetDialerOpts ().LowerKeepAlive {
23
- // TODO: setup protocol opts?
24
- // github.com/google/gvisor/blob/ef9e8d91/test/benchmarks/tcp/tcp_proxy.go#L233
25
- sack := tcpip .TCPSACKEnabled (true )
26
- _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & sack )
27
-
28
- // from: github.com/telepresenceio/telepresence/blob/ab7dda7d55/pkg/vif/stack.go#L232
29
- // Enable Receive Buffer Auto-Tuning, see: github.com/google/gvisor/issues/1666
30
- bufauto := tcpip .TCPModerateReceiveBufferOption (true )
31
- _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & bufauto )
32
-
33
- // coder.com/blog/delivering-5x-faster-throughput-in-coder-2-12-0
34
- ccopt := tcpip .CongestionControlOption ("cubic" )
35
- _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & ccopt )
36
-
37
- ttl := tcpip .DefaultTTLOption (128 )
38
- s .SetNetworkProtocolOption (ipv4 .ProtocolNumber , & ttl )
39
- s .SetNetworkProtocolOption (ipv6 .ProtocolNumber , & ttl )
40
-
41
- // github.com/tailscale/tailscale/blob/c4d0237e5c/wgengine/netstack/netstack_tcpbuf_default.go
42
- tcpRXBufOpt := tcpip.TCPReceiveBufferSizeRangeOption {
43
- Min : tcp .MinBufferSize ,
44
- Default : tcp .DefaultSendBufferSize ,
45
- Max : 8 << 20 , // 8MiB
46
- }
47
- tcpTXBufOpt := tcpip.TCPSendBufferSizeRangeOption {
48
- Min : tcp .MinBufferSize ,
49
- Default : tcp .DefaultReceiveBufferSize ,
50
- Max : 6 << 20 , // 6MiB
51
- }
52
- // github.com/tailscale/tailscale/blob/c4d0237e5c/wgengine/netstack/netstack.go#L329
53
- _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & tcpRXBufOpt )
54
- _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & tcpTXBufOpt )
21
+ // TODO: setup protocol opts?
22
+ // github.com/google/gvisor/blob/ef9e8d91/test/benchmarks/tcp/tcp_proxy.go#L233
23
+ sack := tcpip .TCPSACKEnabled (true )
24
+ _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & sack )
25
+
26
+ // from: github.com/telepresenceio/telepresence/blob/ab7dda7d55/pkg/vif/stack.go#L232
27
+ // Enable Receive Buffer Auto-Tuning, see: github.com/google/gvisor/issues/1666
28
+ bufauto := tcpip .TCPModerateReceiveBufferOption (true )
29
+ _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & bufauto )
30
+
31
+ // probably a bad idea? github.com/tailscale/tailscale/blob/9d9a70d81d/wgengine/netstack/netstack.go#L330
32
+ // coder.com/blog/delivering-5x-faster-throughput-in-coder-2-12-0
33
+ // ccopt := tcpip.CongestionControlOption("cubic")
34
+ // _ = s.SetTransportProtocolOption(tcp.ProtocolNumber, &ccopt)
35
+
36
+ ttl := tcpip .DefaultTTLOption (128 )
37
+ s .SetNetworkProtocolOption (ipv4 .ProtocolNumber , & ttl )
38
+ s .SetNetworkProtocolOption (ipv6 .ProtocolNumber , & ttl )
39
+
40
+ // github.com/tailscale/tailscale/blob/c4d0237e5c/wgengine/netstack/netstack_tcpbuf_default.go
41
+ tcpRXBufOpt := tcpip.TCPReceiveBufferSizeRangeOption {
42
+ Min : tcp .MinBufferSize ,
43
+ Default : tcp .DefaultSendBufferSize ,
44
+ Max : 8 << 20 , // 8MiB
55
45
}
46
+ tcpTXBufOpt := tcpip.TCPSendBufferSizeRangeOption {
47
+ Min : tcp .MinBufferSize ,
48
+ Default : tcp .DefaultReceiveBufferSize ,
49
+ Max : 6 << 20 , // 6MiB
50
+ }
51
+ // github.com/tailscale/tailscale/blob/c4d0237e5c/wgengine/netstack/netstack.go#L329
52
+ _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & tcpRXBufOpt )
53
+ _ = s .SetTransportProtocolOption (tcp .ProtocolNumber , & tcpTXBufOpt )
56
54
}
0 commit comments