diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index abc3b42a55..773b869045 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -2418,14 +2418,24 @@ type ConnectionPoolSettings_TCPSettings struct { // was established. If not set, there is no max duration. When `maxConnectionDuration` // is reached the connection will be closed. Duration must be at least 1ms. MaxConnectionDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"` - // The idle timeout for TCP connections. - // The idle timeout is defined as the period in which there are no bytes sent or received on either - // the upstream or downstream connection. + // The idle timeout for TCP connections. This is applied to the outbound connections to the upstream service. + // The idle timeout is defined as the period in which there are no bytes sent or received on the + // upstream connection. // If not set, the default idle timeout is 1 hour. If set to 0s, the timeout will be disabled. // Idle timeout is not configured per each cluster individually when weighted destinations are used, // because idleTimeout is a property of a listener, not a cluster. In that case, idleTimeout // specified in a destination rule for the first weighted route is configured in the listener, // which means also for all weighted routes. + // To set the idle timeout for downstream (inbound) connections, use the + // `ISTIO_META_IDLE_TIMEOUT` field in the proxy configuration (e.g., via the `proxy.istio.io/config` + // annotation) which applies to all inbound connections. + // ``` + // proxy.istio.io/config: |- + // + // proxyMetadata: + // ISTIO_META_IDLE_TIMEOUT: "100s" + // + // ``` // +protoc-gen-crd:duration-validation:none IdleTimeout *duration.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` unknownFields protoimpl.UnknownFields diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html index f2e065f0ee..dfd14d87ec 100644 --- a/networking/v1alpha3/destination_rule.pb.html +++ b/networking/v1alpha3/destination_rule.pb.html @@ -1111,14 +1111,21 @@

TCPSettings

Duration
-

The idle timeout for TCP connections. -The idle timeout is defined as the period in which there are no bytes sent or received on either -the upstream or downstream connection. +

The idle timeout for TCP connections. This is applied to the outbound connections to the upstream service. +The idle timeout is defined as the period in which there are no bytes sent or received on the +upstream connection. If not set, the default idle timeout is 1 hour. If set to 0s, the timeout will be disabled. Idle timeout is not configured per each cluster individually when weighted destinations are used, because idleTimeout is a property of a listener, not a cluster. In that case, idleTimeout specified in a destination rule for the first weighted route is configured in the listener, -which means also for all weighted routes.

+which means also for all weighted routes. +To set the idle timeout for downstream (inbound) connections, use the +ISTIO_META_IDLE_TIMEOUT field in the proxy configuration (e.g., via the proxy.istio.io/config +annotation) which applies to all inbound connections.

+
proxy.istio.io/config: |-
+   proxyMetadata:
+      ISTIO_META_IDLE_TIMEOUT: "100s"
+
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index ff76a60204..13da2da6ec 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -630,14 +630,22 @@ message ConnectionPoolSettings { // is reached the connection will be closed. Duration must be at least 1ms. google.protobuf.Duration max_connection_duration = 4; - // The idle timeout for TCP connections. - // The idle timeout is defined as the period in which there are no bytes sent or received on either - // the upstream or downstream connection. + // The idle timeout for TCP connections. This is applied to the outbound connections to the upstream service. + // The idle timeout is defined as the period in which there are no bytes sent or received on the + // upstream connection. // If not set, the default idle timeout is 1 hour. If set to 0s, the timeout will be disabled. // Idle timeout is not configured per each cluster individually when weighted destinations are used, // because idleTimeout is a property of a listener, not a cluster. In that case, idleTimeout // specified in a destination rule for the first weighted route is configured in the listener, // which means also for all weighted routes. + // To set the idle timeout for downstream (inbound) connections, use the + // `ISTIO_META_IDLE_TIMEOUT` field in the proxy configuration (e.g., via the `proxy.istio.io/config` + // annotation) which applies to all inbound connections. + // ``` + // proxy.istio.io/config: |- + // proxyMetadata: + // ISTIO_META_IDLE_TIMEOUT: "100s" + // ``` // +protoc-gen-crd:duration-validation:none google.protobuf.Duration idle_timeout = 5; }