diff --git a/transport/internet/sockopt_linux.go b/transport/internet/sockopt_linux.go index 0f6169f3b..283d8098c 100644 --- a/transport/internet/sockopt_linux.go +++ b/transport/internet/sockopt_linux.go @@ -47,12 +47,6 @@ func applyOutboundSocketOptions(network string, address string, fd uintptr, conf } } - if config.KeepAliveDuration != 0 { - if err := syscall.SetsockoptInt(int(fd), syscall.IPPROTO_TCP, syscall.TCP_KEEPINTVL, int(config.KeepAliveDuration)); err != nil { - return newError("failed to set TCP_KEEPINTVL", err) - } - } - if isTCPSocket(network) { switch config.Tfo { case SocketConfig_Enable: @@ -64,6 +58,12 @@ func applyOutboundSocketOptions(network string, address string, fd uintptr, conf return newError("failed to set TCP_FASTOPEN_CONNECT=0").Base(err) } } + + if config.KeepAliveDuration != 0 { + if err := syscall.SetsockoptInt(int(fd), syscall.IPPROTO_TCP, syscall.TCP_KEEPINTVL, int(config.KeepAliveDuration)); err != nil { + return newError("failed to set TCP_KEEPINTVL", err) + } + } } if config.Tproxy.IsEnabled() {