@@ -177,6 +177,37 @@ spec:
177177 timeout:
178178 http:
179179 requestReceivedTimeout: 30s
180+ `
181+ envoyExtensionPolicyYAML = `---
182+ apiVersion: gateway.envoyproxy.io/v1alpha1
183+ kind: EnvoyExtensionPolicy
184+ metadata:
185+ name: envoy-extension-policy
186+ namespace: default
187+ spec:
188+ targetRefs:
189+ - group: gateway.networking.k8s.io
190+ kind: HTTPRoute
191+ name: backend
192+ extProc:
193+ - backendRefs:
194+ - kind: Service
195+ name: myExtProc
196+ port: 3000
197+ messageTimeout: 5s
198+ ---
199+ apiVersion: v1
200+ kind: Service
201+ metadata:
202+ name: myExtProc
203+ namespace: default
204+ spec:
205+ clusterIP: 10.11.12.13
206+ ports:
207+ - port: 3000
208+ name: http
209+ protocol: TCP
210+ targetPort: 3000
180211`
181212)
182213
@@ -232,6 +263,31 @@ spec:
232263 return sb .String ()
233264}
234265
266+ func genEnvoyExtensionPolicies (n int ) string {
267+ var sb strings.Builder
268+ for i := 0 ; i < n ; i ++ {
269+ sb .WriteString (fmt .Sprintf (`---
270+ apiVersion: gateway.envoyproxy.io/v1alpha1
271+ kind: EnvoyExtensionPolicy
272+ metadata:
273+ name: envoy-extension-policy-%d
274+ namespace: default
275+ spec:
276+ targetRefs:
277+ - group: gateway.networking.k8s.io
278+ kind: HTTPRoute
279+ name: backend-%d
280+ extProc:
281+ - backendRefs:
282+ - kind: Service
283+ name: myExtProc
284+ port: 3000
285+ messageTimeout: 5s
286+ ` , i , i ))
287+ }
288+ return sb .String ()
289+ }
290+
235291// Helpers for benchmark route generation.
236292func genHTTPRoutes (n int ) string {
237293 var sb strings.Builder
@@ -334,24 +390,26 @@ func BenchmarkGatewayAPItoXDS(b *testing.B) {
334390 yaml string
335391 }
336392 medium := baseYAML + backendYAML + tlsSecretYAML + clientTrafficPolicyYAML +
337- genHTTPRoutes (50 ) +
393+ genHTTPRoutes (200 ) +
338394 genGRPCRoutes (25 ) +
339395 genUDPRoutes (10 ) +
340396 genSecurityPolicies (50 ) +
341397 genBackendTrafficPolicies (50 ) +
342- genService (50 )
398+ genEnvoyExtensionPolicies (50 ) +
399+ genService (200 )
343400 large := baseYAML + backendYAML + tlsSecretYAML + clientTrafficPolicyYAML +
344- genHTTPRoutes (500 ) +
401+ genHTTPRoutes (2000 ) +
345402 genGRPCRoutes (250 ) +
346403 genUDPRoutes (100 ) +
347404 genSecurityPolicies (500 ) +
348405 genBackendTrafficPolicies (500 ) +
349- genService (500 )
406+ genEnvoyExtensionPolicies (500 ) +
407+ genService (2000 )
350408
351409 cases := []benchCase {
352410 {
353411 name : "small" ,
354- yaml : baseYAML + httpRouteYAML + backendYAML + tlsSecretYAML + securityPolicyYAML + backendTrafficPolicyYAML + clientTrafficPolicyYAML ,
412+ yaml : baseYAML + httpRouteYAML + backendYAML + tlsSecretYAML + securityPolicyYAML + backendTrafficPolicyYAML + clientTrafficPolicyYAML + envoyExtensionPolicyYAML ,
355413 },
356414 {
357415 name : "medium" ,
0 commit comments