Skip to content

Conversation

@markdroth
Copy link
Member

No description provided.

@markdroth markdroth marked this pull request as ready for review September 18, 2025 22:51
- matcher: gRPC will not support this deprecated field.

We will also support per-route overrides via the
[`envoy.extensions.common.matching.v3.ExtensionWithMatcherPerRoute`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this means we can have filters defined wholly in the RouteConfiguration? The Listener would no longer enumerate all the filters being used.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's correct.

In the future, we'll also add ECDS support, which would be another way for the Listener to not enumerate all of the filters being used, even if there is no per-route override.

Comment on lines 137 to 141
- `source.ip`
- `source.port`
- `connection.requested_server_name`
- `connection.tls_version`
- `connection.sha256_peer_certificate_digest`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are these represented in a Struct? What is the format for these?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These aren't encoded in a Struct, they're just string or integer values, as per the Envoy docs:

https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes.html#upstream-attributes

The text above that mentions google.protobuf.Struct is talking about the values of the xds.route_metadata.filter_metadata attribute, not about these attributes.

(This question made me notice an internal problem that might cause changes for xds.route_metadata.filter_metadata, but I'll follow up on that separately.)


### Filter Behavior

Because all of the CEL attributes that we are exposing are available
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to think about this more in Java. This is harder for us than just processing it in the filter itself. I'll need to think about how we'd want to implement the approach mentioned here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants