diff --git a/api/v1alpha1/shared_types.go b/api/v1alpha1/shared_types.go index ce1c4fffeed..9ea146f6cfa 100644 --- a/api/v1alpha1/shared_types.go +++ b/api/v1alpha1/shared_types.go @@ -508,5 +508,5 @@ type HTTP2Settings struct { // https://www.envoyproxy.io/docs/envoy/latest/configuration/best_practices/level_two // Default: true // +optional - TerminateConnectionOnMessagingError *bool `json:"terminateConnectionOnMessagingError,omitempty"` + TerminateConnOnError *bool `json:"terminateConnOnError,omitempty"` } diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index 70ab18945e0..a8b3e2ae6f2 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -2423,8 +2423,8 @@ func (in *HTTP2Settings) DeepCopyInto(out *HTTP2Settings) { *out = new(uint32) **out = **in } - if in.TerminateConnectionOnMessagingError != nil { - in, out := &in.TerminateConnectionOnMessagingError, &out.TerminateConnectionOnMessagingError + if in.TerminateConnOnError != nil { + in, out := &in.TerminateConnOnError, &out.TerminateConnOnError *out = new(bool) **out = **in } diff --git a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml index 38cc1593f43..2ae0632acf2 100644 --- a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml +++ b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml @@ -458,7 +458,7 @@ spec: maximum: 2147483647 minimum: 1 type: integer - terminateConnectionOnMessagingError: + terminateConnOnError: description: |- ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error It's recommended for L2 Envoy deployments to set this value to false. diff --git a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_clienttrafficpolicies.yaml b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_clienttrafficpolicies.yaml index 4e48add8682..f501b3adf3b 100644 --- a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_clienttrafficpolicies.yaml +++ b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_clienttrafficpolicies.yaml @@ -300,7 +300,7 @@ spec: maximum: 2147483647 minimum: 1 type: integer - terminateConnectionOnMessagingError: + terminateConnOnError: description: |- ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error It's recommended for L2 Envoy deployments to set this value to false. diff --git a/internal/gatewayapi/http.go b/internal/gatewayapi/http.go index 1e14777f991..edd3fc258e0 100644 --- a/internal/gatewayapi/http.go +++ b/internal/gatewayapi/http.go @@ -60,7 +60,7 @@ func buildIRHTTP2Settings(http2Settings *egv1a1.HTTP2Settings) (*ir.HTTP2Setting http2.MaxConcurrentStreams = http2Settings.MaxConcurrentStreams - http2.TerminateConnectionOnMessagingError = http2Settings.TerminateConnectionOnMessagingError + http2.TerminateConnOnError = http2Settings.TerminateConnOnError return http2, errs } diff --git a/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.in.yaml b/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.in.yaml index 7e164665408..b1506861be0 100644 --- a/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.in.yaml +++ b/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.in.yaml @@ -91,4 +91,4 @@ backendTrafficPolicies: initialStreamWindowSize: 1Mi initialConnectionWindowSize: 500Mi maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: false + terminateConnOnError: false diff --git a/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.out.yaml b/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.out.yaml index 5201010e45a..39e93bd6172 100644 --- a/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.out.yaml +++ b/internal/gatewayapi/testdata/backendtrafficpolicy-with-http2.out.yaml @@ -10,7 +10,7 @@ backendTrafficPolicies: initialConnectionWindowSize: 500Mi initialStreamWindowSize: 1Mi maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: false + terminateConnOnError: false targetRef: group: gateway.networking.k8s.io kind: HTTPRoute @@ -331,4 +331,4 @@ xdsIR: initialConnectionWindowSize: 1048576 initialStreamWindowSize: 524288000 maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: false + terminateConnOnError: false diff --git a/internal/ir/xds.go b/internal/ir/xds.go index 696a444c3dd..5e14ddae1e5 100644 --- a/internal/ir/xds.go +++ b/internal/ir/xds.go @@ -456,8 +456,8 @@ type HTTP2Settings struct { InitialConnectionWindowSize *uint32 `json:"initialStreamWindowSize,omitempty" yaml:"initialStreamWindowSize,omitempty"` // MaxConcurrentStreams is the maximum number of concurrent streams that can be opened on a connection. MaxConcurrentStreams *uint32 `json:"maxConcurrentStreams,omitempty" yaml:"maxConcurrentStreams,omitempty"` - // TerminateConnectionOnMessagingError determines if a stream or connection is reset on messaging error. - TerminateConnectionOnMessagingError *bool `json:"terminateConnectionOnMessagingError,omitempty" yaml:"terminateConnectionOnMessagingError,omitempty"` + // TerminateConnOnError determines if a stream or connection is reset on messaging error. + TerminateConnOnError *bool `json:"terminateConnOnError,omitempty" yaml:"terminateConnOnError,omitempty"` } // HealthCheckSettings provides HealthCheck configuration on the HTTP/HTTPS listener. diff --git a/internal/ir/zz_generated.deepcopy.go b/internal/ir/zz_generated.deepcopy.go index e971a2d3c65..6df9d12bbe3 100644 --- a/internal/ir/zz_generated.deepcopy.go +++ b/internal/ir/zz_generated.deepcopy.go @@ -1005,8 +1005,8 @@ func (in *HTTP2Settings) DeepCopyInto(out *HTTP2Settings) { *out = new(uint32) **out = **in } - if in.TerminateConnectionOnMessagingError != nil { - in, out := &in.TerminateConnectionOnMessagingError, &out.TerminateConnectionOnMessagingError + if in.TerminateConnOnError != nil { + in, out := &in.TerminateConnOnError, &out.TerminateConnOnError *out = new(bool) **out = **in } diff --git a/internal/xds/translator/cluster.go b/internal/xds/translator/cluster.go index d1b0a27e1c1..575bc52bd29 100644 --- a/internal/xds/translator/cluster.go +++ b/internal/xds/translator/cluster.go @@ -674,9 +674,9 @@ func buildHTTP2Settings(opts *ir.HTTP2Settings) *corev3.Http2ProtocolOptions { } } - if opts.TerminateConnectionOnMessagingError != nil { + if opts.TerminateConnOnError != nil { out.OverrideStreamErrorOnInvalidHttpMessage = &wrapperspb.BoolValue{ - Value: !*opts.TerminateConnectionOnMessagingError, + Value: !*opts.TerminateConnOnError, } } diff --git a/internal/xds/translator/listener.go b/internal/xds/translator/listener.go index 823ae5efc6f..ea077e797d8 100644 --- a/internal/xds/translator/listener.go +++ b/internal/xds/translator/listener.go @@ -96,9 +96,9 @@ func http2ProtocolOptions(opts *ir.HTTP2Settings) *corev3.Http2ProtocolOptions { }, } - if opts.TerminateConnectionOnMessagingError != nil { + if opts.TerminateConnOnError != nil { out.OverrideStreamErrorOnInvalidHttpMessage = &wrapperspb.BoolValue{ - Value: !*opts.TerminateConnectionOnMessagingError, + Value: !*opts.TerminateConnOnError, } } diff --git a/internal/xds/translator/testdata/in/xds-ir/http2-route.yaml b/internal/xds/translator/testdata/in/xds-ir/http2-route.yaml index d0d8d0c298d..0421a67543d 100644 --- a/internal/xds/translator/testdata/in/xds-ir/http2-route.yaml +++ b/internal/xds/translator/testdata/in/xds-ir/http2-route.yaml @@ -33,7 +33,7 @@ http: initialConnectionWindowSize: 1048576 initialStreamWindowSize: 524288000 maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: false + terminateConnOnError: false - name: "second-route" hostname: "*" pathMatch: @@ -66,7 +66,7 @@ http: initialConnectionWindowSize: 1048576 initialStreamWindowSize: 524288000 maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: true + terminateConnOnError: true - name: "fourth-route-not-http2" hostname: "*" pathMatch: @@ -83,4 +83,4 @@ http: initialConnectionWindowSize: 1048576 initialStreamWindowSize: 524288000 maxConcurrentStreams: 200 - terminateConnectionOnMessagingError: false + terminateConnOnError: false diff --git a/site/content/en/latest/api/extension_types.md b/site/content/en/latest/api/extension_types.md index 06a4f72508b..6c7e8e66659 100644 --- a/site/content/en/latest/api/extension_types.md +++ b/site/content/en/latest/api/extension_types.md @@ -1785,7 +1785,7 @@ _Appears in:_ | `initialStreamWindowSize` | _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-api)_ | false | InitialStreamWindowSize sets the initial window size for HTTP/2 streams.
If not set, the default value is 64 KiB(64*1024). | | `initialConnectionWindowSize` | _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-api)_ | false | InitialConnectionWindowSize sets the initial window size for HTTP/2 connections.
If not set, the default value is 1 MiB. | | `maxConcurrentStreams` | _integer_ | false | MaxConcurrentStreams sets the maximum number of concurrent streams allowed per connection.
If not set, the default value is 100. | -| `terminateConnectionOnMessagingError` | _boolean_ | false | ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error
It's recommended for L2 Envoy deployments to set this value to false.
https://www.envoyproxy.io/docs/envoy/latest/configuration/best_practices/level_two
Default: true | +| `terminateConnOnError` | _boolean_ | false | ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error
It's recommended for L2 Envoy deployments to set this value to false.
https://www.envoyproxy.io/docs/envoy/latest/configuration/best_practices/level_two
Default: true | #### HTTP3Settings diff --git a/site/content/zh/latest/api/extension_types.md b/site/content/zh/latest/api/extension_types.md index 06a4f72508b..6c7e8e66659 100644 --- a/site/content/zh/latest/api/extension_types.md +++ b/site/content/zh/latest/api/extension_types.md @@ -1785,7 +1785,7 @@ _Appears in:_ | `initialStreamWindowSize` | _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-api)_ | false | InitialStreamWindowSize sets the initial window size for HTTP/2 streams.
If not set, the default value is 64 KiB(64*1024). | | `initialConnectionWindowSize` | _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-api)_ | false | InitialConnectionWindowSize sets the initial window size for HTTP/2 connections.
If not set, the default value is 1 MiB. | | `maxConcurrentStreams` | _integer_ | false | MaxConcurrentStreams sets the maximum number of concurrent streams allowed per connection.
If not set, the default value is 100. | -| `terminateConnectionOnMessagingError` | _boolean_ | false | ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error
It's recommended for L2 Envoy deployments to set this value to false.
https://www.envoyproxy.io/docs/envoy/latest/configuration/best_practices/level_two
Default: true | +| `terminateConnOnError` | _boolean_ | false | ResetConnectionOnError determines if Envoy will terminate the connection or just the offending stream in the event of HTTP messaging error
It's recommended for L2 Envoy deployments to set this value to false.
https://www.envoyproxy.io/docs/envoy/latest/configuration/best_practices/level_two
Default: true | #### HTTP3Settings