Skip to content

Commit 8d0f19b

Browse files
committed
address comments
Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
1 parent 3f9c358 commit 8d0f19b

7 files changed

Lines changed: 78 additions & 1 deletion

File tree

api/v1alpha1/backendtrafficpolicy_types.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,19 @@ type BackendTrafficPolicySpec struct {
134134

135135
// RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
136136
// This configures Envoy's request body buffer limit without enabling full request buffering.
137+
//
138+
// This Request body buffer limit is independent of the connection buffer limits configured by
139+
// ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
140+
// and upstream connection read/write buffering and back pressure, while this field sets the
141+
// maximum size of an individual request body that Envoy may buffer for HTTP processing.
142+
//
143+
// For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
144+
// before or while the request body limit is enforced. Configure connection buffer limits large
145+
// enough for the request body buffering you expect to allow on those connections.
146+
//
147+
// For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
148+
// can be in flight before back pressure applies. They affect upload throughput and buffering
149+
// behavior, but they are not a replacement for this request body size limit.
137150
//
138151
// If exceeded, the request will be rejected with HTTP 413 Content Too Large.
139152
//

charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2111,6 +2111,19 @@ spec:
21112111
RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
21122112
This configures Envoy's request body buffer limit without enabling full request buffering.
21132113
2114+
This Request body buffer limit is independent of the connection buffer limits configured by
2115+
ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
2116+
and upstream connection read/write buffering and back pressure, while this field sets the
2117+
maximum size of an individual request body that Envoy may buffer for HTTP processing.
2118+
2119+
For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
2120+
before or while the request body limit is enforced. Configure connection buffer limits large
2121+
enough for the request body buffering you expect to allow on those connections.
2122+
2123+
For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
2124+
can be in flight before back pressure applies. They affect upload throughput and buffering
2125+
behavior, but they are not a replacement for this request body size limit.
2126+
21142127
If exceeded, the request will be rejected with HTTP 413 Content Too Large.
21152128
21162129
Accepts values in resource.Quantity format (e.g., "10Mi", "500Ki").

charts/gateway-helm/charts/crds/crds/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2110,6 +2110,19 @@ spec:
21102110
RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
21112111
This configures Envoy's request body buffer limit without enabling full request buffering.
21122112
2113+
This Request body buffer limit is independent of the connection buffer limits configured by
2114+
ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
2115+
and upstream connection read/write buffering and back pressure, while this field sets the
2116+
maximum size of an individual request body that Envoy may buffer for HTTP processing.
2117+
2118+
For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
2119+
before or while the request body limit is enforced. Configure connection buffer limits large
2120+
enough for the request body buffering you expect to allow on those connections.
2121+
2122+
For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
2123+
can be in flight before back pressure applies. They affect upload throughput and buffering
2124+
behavior, but they are not a replacement for this request body size limit.
2125+
21132126
If exceeded, the request will be rejected with HTTP 413 Content Too Large.
21142127
21152128
Accepts values in resource.Quantity format (e.g., "10Mi", "500Ki").

release-notes/current.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ new features: |
5151
Added `source` field to `responseOverride` rules in BackendTrafficPolicy, allowing rules to target only Envoy-generated responses (`Local`), only upstream responses (`Backend`), or both (`All`, the default). This enables overriding envoy responses (e.g. auth/rate-limit failures) without affecting legitimate upstream responses with the same status code.
5252
Added support for path override in ExtAuth HTTP service.
5353
Added support for bandwidth limit.
54-
Added BackendTrafficPolicy API support for configuring route-level request body buffer limits separately from full request buffering.
5554
Added support for defining Envoy Proxy image, pullPolicy, and pullSecrets via the helm chart. Note that to merge these helm-configured values with EnvoyProxy resources, the EnvoyProxy must include `mergeType: StrategicMerge` or `mergeType: JSONMerge`.
5655
5756
bug fixes: |

test/helm/gateway-crds-helm/all.out.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24638,6 +24638,19 @@ spec:
2463824638
RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
2463924639
This configures Envoy's request body buffer limit without enabling full request buffering.
2464024640

24641+
This Request body buffer limit is independent of the connection buffer limits configured by
24642+
ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
24643+
and upstream connection read/write buffering and back pressure, while this field sets the
24644+
maximum size of an individual request body that Envoy may buffer for HTTP processing.
24645+
24646+
For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
24647+
before or while the request body limit is enforced. Configure connection buffer limits large
24648+
enough for the request body buffering you expect to allow on those connections.
24649+
24650+
For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
24651+
can be in flight before back pressure applies. They affect upload throughput and buffering
24652+
behavior, but they are not a replacement for this request body size limit.
24653+
2464124654
If exceeded, the request will be rejected with HTTP 413 Content Too Large.
2464224655

2464324656
Accepts values in resource.Quantity format (e.g., "10Mi", "500Ki").

test/helm/gateway-crds-helm/e2e.out.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2611,6 +2611,19 @@ spec:
26112611
RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
26122612
This configures Envoy's request body buffer limit without enabling full request buffering.
26132613

2614+
This Request body buffer limit is independent of the connection buffer limits configured by
2615+
ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
2616+
and upstream connection read/write buffering and back pressure, while this field sets the
2617+
maximum size of an individual request body that Envoy may buffer for HTTP processing.
2618+
2619+
For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
2620+
before or while the request body limit is enforced. Configure connection buffer limits large
2621+
enough for the request body buffering you expect to allow on those connections.
2622+
2623+
For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
2624+
can be in flight before back pressure applies. They affect upload throughput and buffering
2625+
behavior, but they are not a replacement for this request body size limit.
2626+
26142627
If exceeded, the request will be rejected with HTTP 413 Content Too Large.
26152628

26162629
Accepts values in resource.Quantity format (e.g., "10Mi", "500Ki").

test/helm/gateway-crds-helm/envoy-gateway-crds.out.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2611,6 +2611,19 @@ spec:
26112611
RequestBodyBufferLimit specifies the maximum size in bytes that Envoy may buffer for request bodies.
26122612
This configures Envoy's request body buffer limit without enabling full request buffering.
26132613

2614+
This Request body buffer limit is independent of the connection buffer limits configured by
2615+
ClientTrafficPolicy and BackendTrafficPolicy. The connection buffer limits control downstream
2616+
and upstream connection read/write buffering and back pressure, while this field sets the
2617+
maximum size of an individual request body that Envoy may buffer for HTTP processing.
2618+
2619+
For HTTP/1, connection buffer limits can still affect how request body data is read and buffered
2620+
before or while the request body limit is enforced. Configure connection buffer limits large
2621+
enough for the request body buffering you expect to allow on those connections.
2622+
2623+
For HTTP/2, initial stream and connection window sizes control HTTP/2 flow control: how much data
2624+
can be in flight before back pressure applies. They affect upload throughput and buffering
2625+
behavior, but they are not a replacement for this request body size limit.
2626+
26142627
If exceeded, the request will be rejected with HTTP 413 Content Too Large.
26152628

26162629
Accepts values in resource.Quantity format (e.g., "10Mi", "500Ki").

0 commit comments

Comments
 (0)