From 136984fb14ca80bd7cef6da1a765f861d7e77d65 Mon Sep 17 00:00:00 2001 From: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com> Date: Tue, 9 Jan 2024 15:53:03 -0800 Subject: [PATCH] match Go default TCP keepalive settings --- config/envoyconfig/clusters.go | 8 ++++++-- config/envoyconfig/testdata/clusters.json | 25 ++++++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/config/envoyconfig/clusters.go b/config/envoyconfig/clusters.go index 273d075c4..1a04f6bbe 100644 --- a/config/envoyconfig/clusters.go +++ b/config/envoyconfig/clusters.go @@ -142,9 +142,13 @@ func (b *Builder) buildInternalCluster( ) (*envoy_config_cluster_v3.Cluster, error) { cluster := newDefaultEnvoyClusterConfig() cluster.DnsLookupFamily = config.GetEnvoyDNSLookupFamily(cfg.Options.DNSLookupFamily) + // Match the Go standard library default TCP keepalive settings. + const keepaliveTimeSeconds = 15 cluster.UpstreamConnectionOptions = &envoy_config_cluster_v3.UpstreamConnectionOptions{ - // Enable TCP keepalive with OS default settings. - TcpKeepalive: &envoy_config_core_v3.TcpKeepalive{}, + TcpKeepalive: &envoy_config_core_v3.TcpKeepalive{ + KeepaliveTime: wrapperspb.UInt32(keepaliveTimeSeconds), + KeepaliveInterval: wrapperspb.UInt32(keepaliveTimeSeconds), + }, } var endpoints []Endpoint for _, dst := range dsts { diff --git a/config/envoyconfig/testdata/clusters.json b/config/envoyconfig/testdata/clusters.json index f92dc3587..d9b2a82cc 100644 --- a/config/envoyconfig/testdata/clusters.json +++ b/config/envoyconfig/testdata/clusters.json @@ -62,7 +62,10 @@ } }, "upstreamConnectionOptions": { - "tcpKeepalive": {} + "tcpKeepalive": { + "keepaliveInterval": 15, + "keepaliveTime": 15 + } } }, { @@ -110,7 +113,10 @@ } }, "upstreamConnectionOptions": { - "tcpKeepalive": {} + "tcpKeepalive": { + "keepaliveInterval": 15, + "keepaliveTime": 15 + } } }, { @@ -158,7 +164,10 @@ } }, "upstreamConnectionOptions": { - "tcpKeepalive": {} + "tcpKeepalive": { + "keepaliveInterval": 15, + "keepaliveTime": 15 + } } }, { @@ -202,7 +211,10 @@ } }, "upstreamConnectionOptions": { - "tcpKeepalive": {} + "tcpKeepalive": { + "keepaliveInterval": 15, + "keepaliveTime": 15 + } } }, { @@ -246,7 +258,10 @@ } }, "upstreamConnectionOptions": { - "tcpKeepalive": {} + "tcpKeepalive": { + "keepaliveInterval": 15, + "keepaliveTime": 15 + } } }, {