envoyproxy / envoyproxy/gateway

MergeBackends: BackendTrafficPolicy RoutingType override at Gateway-listener scope silently missed when route's parentRef omits sectionName

Open
#9,696 1 comment 0 reactions 0 assignees View on GitHub
stale
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

## Description

`RoutingType` on a `BackendTrafficPolicy` controls how a backend's endpoints are resolved: either through the Service's ClusterIP, or directly to each backing Pod. When that setting is overridden on a specific Gateway listener (via `sectionName`), and a route reaches that listener without naming the same `sectionName` on its own `parentRef`, the listener's override is silently ignored. The route falls back to whatever `RoutingType` applies at the Gateway level instead.

This is the same "route's `parentRef` omits `sectionName`" pattern reported in #9676 (which covered `ClusterSettings` and was fixed in #9695), affecting `RoutingType` instead. It was split out into its own issue since it isn't fixed by that PR.

## Impact

A route that attaches to a Gateway without naming a specific listener can silently get the wrong endpoint-resolution behavior for traffic through a listener that has its own `RoutingType` override - pod-direct routing intended for that listener may not take effect, or ClusterIP routing may be used where per-pod routing was intended (or vice versa).

cc @kkk777-7 @jukie

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the BackendTrafficPolicy RoutingType handling with the ClusterSettings fix in #9695 for the route parentRef pattern reported in #9676. Trace how a route with no parentRef sectionName selects a Gateway listener override. Done means the listener-level RoutingType is honored rather than falling back to the Gateway-level setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend-api-design, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.