envoyproxy / envoyproxy/envoy

Support for Request MetadataKind in InternalUpstreamTransport

Open
#30,674 5 comments 1 reaction 0 assignees View on GitHub
area/listener enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

*Title*: Support for Request MetadataKind in InternalUpstreamTransport

*Description*:

I have a usecase where I am extracting an http header in a Lua filter, setting it in dynamicMetadata and passing it to an internal listener which has a TCPProxy filter configured with `tunneling_config`. The value that is set in dynamicMetadata needs to be referenced in the `tunneling_config`.

It seems there is [support](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/internal_upstream/v3/internal_upstream.proto#envoy-v3-api-msg-extensions-transport-sockets-internal-upstream-v3-internalupstreamtransport) for `passthrough_metadata` for passing information from one listener to the other listener in this case. However, even though the docs seem to suggest that `request` metadataKind is supported ( which is [needed](https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/metadata/v3/metadata.proto#envoy-v3-api-msg-type-metadata-v3-metadatakind-request) for passing DynamicMetadata ), it seems the internal implementation is missing [here](https://github.com/envoyproxy/envoy/blob/main/source/extensions/transport_sockets/internal_upstream/config.cc#L55-L63) and [here](https://github.com/envoyproxy/envoy/blob/main/source/extensions/transport_sockets/internal_upstream/config.cc#L81-L89)

Is my understanding correct ? Happy to work on a PR if I can get any pointers!

[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.