Summary
Please triage whether the controller should support attaching L4 plugins when using Gateway API L4 routes.
Current behavior
APISIX itself supports attaching stream plugins to stream_routes, for example limit-conn, ip-restriction, mqtt-proxy, syslog, and traffic-split.
However, the current Gateway API surface in the controller does not expose an equivalent way to attach plugins for L4 routes.
In the current translator paths:
HTTPRoute and GRPCRoute have plugin/filter handling paths
TCPRoute, UDPRoute, and TLSRoute build upstreams and attach BackendTrafficPolicy
- there is no comparable plugin attachment mechanism for Gateway API L4 routes
As a result, L4 plugin scenarios supported by APISIX cannot currently be expressed through Gateway API resources in the controller.
Use cases affected
- attaching stream plugins to Gateway API L4 routes
- managing L4 routing and L4 plugin behavior through the same Gateway API-oriented configuration flow
Code context
- APISIX stream plugin list:
apisix/cli/config.lua
internal/adc/translator/tcproute.go
internal/adc/translator/udproute.go
internal/adc/translator/tlsroute.go
Summary
Please triage whether the controller should support attaching L4 plugins when using Gateway API L4 routes.
Current behavior
APISIX itself supports attaching stream plugins to
stream_routes, for examplelimit-conn,ip-restriction,mqtt-proxy,syslog, andtraffic-split.However, the current Gateway API surface in the controller does not expose an equivalent way to attach plugins for L4 routes.
In the current translator paths:
HTTPRouteandGRPCRoutehave plugin/filter handling pathsTCPRoute,UDPRoute, andTLSRoutebuild upstreams and attachBackendTrafficPolicyAs a result, L4 plugin scenarios supported by APISIX cannot currently be expressed through Gateway API resources in the controller.
Use cases affected
Code context
apisix/cli/config.luainternal/adc/translator/tcproute.gointernal/adc/translator/udproute.gointernal/adc/translator/tlsroute.go