From c564c84b178df13d110471125ebc16bcb5a9919f Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Tue, 4 May 2021 22:30:41 +0100 Subject: [PATCH] set TCP keep alive only on TCP socket --- transport/internet/sockopt_linux.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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() {