Просмотр исходного кода

TUN inbound: Disable RACK/TLP recovery to fix connection stalls (#5600)

https://github.com/XTLS/Xray-core/issues/5599#issuecomment-3794495254

Fixes https://github.com/XTLS/Xray-core/issues/5599
ki 4 месяцев назад
Родитель
Сommit
445c0d456c
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      proxy/tun/stack_gvisor.go

+ 4 - 0
proxy/tun/stack_gvisor.go

@@ -236,6 +236,10 @@ func createStack(ep stack.LinkEndpoint) (*stack.Stack, error) {
 	mOpt := tcpip.TCPModerateReceiveBufferOption(true)
 	gStack.SetTransportProtocolOption(tcp.ProtocolNumber, &mOpt)
 
+	// Disable RACK/TLP loss recovery to fix connection stalls under high load
+	rOpt := tcpip.TCPRecovery(0)
+	gStack.SetTransportProtocolOption(tcp.ProtocolNumber, &rOpt)
+
 	tcpRXBufOpt := tcpip.TCPReceiveBufferSizeRangeOption{
 		Min:     tcpRXBufMinSize,
 		Default: tcpRXBufDefSize,