Router for generic proxy (proto)
This extension has the qualified name envoy.filters.generic.router
Note
This extension is only available in contrib images.
Note
This extension is work-in-progress. Functionality is incomplete and it is not intended for production use.
This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
This extension must be configured with one of the following type URLs:
Warning
This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
extensions.filters.network.generic_proxy.router.v3.Router
[extensions.filters.network.generic_proxy.router.v3.Router proto]
{
"bind_upstream_connection": ...
}
- bind_upstream_connection
(bool) Set to true if the upstream connection should be bound to the downstream connection, false otherwise.
By default, one random upstream connection will be selected from the upstream connection pool and used for every request. And after the request is finished, the upstream connection will be released back to the upstream connection pool.
If this option is true, the upstream connection will be bound to the downstream connection and have same lifetime as the downstream connection. The same upstream connection will be used for all requests from the same downstream connection.
And if this options is true, one of the following requirements must be met:
The request must be handled one by one. That is, the next request can not be sent to the upstream until the previous request is finished.
Unique request id must be provided for each request and response. The request id must be unique for each request and response pair in same connection pair. And the request id must be the same for the corresponding request and response.
This could be useful for some protocols that require the same upstream connection to be used for all requests from the same downstream connection. For example, the protocol using stateful connection.