Well Known Filter State Objects
The following lists the filter state object keys used by the Envoy extensions:
envoy.network.upstream_server_name
Sets the transport socket option to override the SNI in the upstream connections. Accepts a host name as a constructor, e.g. “lyft.com”.
envoy.network.application_protocols
Sets the transport socket option to override the ALPN list in the upstream connections. This setting takes precedence over the upstream cluster configuration. Accepts a comma-separated list of protocols as a constructor, e.g. “h2,http/1.1”.
envoy.network.upstream_subject_alt_names
Enables additional verification of the upstream peer certificate SAN names. Accepts a comma-separated list of SAN names as a constructor.
envoy.tcp_proxy.cluster
TCP proxy dynamic cluster name selection on a per-connection basis. Accepts a cluster name as a constructor.
envoy.udp_proxy.cluster
UDP proxy dynamic cluster name selection on a per-session basis. Accepts a cluster name as a constructor.
envoy.network.transport_socket.original_dst_address
Original destination cluster dynamic address selection. Accepts an IP:PORT string as a constructor. Fields:
ip
: IP address value as a string;port
: port value as a number.
envoy.filters.listener.original_dst.local_ip
Original destination listener filter destination address selection for the internal listeners. Accepts an IP:PORT string as a constructor. Fields:
ip
: IP address value as a string;port
: port value as a number.
envoy.filters.listener.original_dst.remote_ip
Original destination listener filter source address selection for the internal listeners. Accepts an IP:PORT string as a constructor. Fields:
ip
: IP address value as a string;port
: port value as a number.
envoy.upstream.dynamic_host
Dynamic forward proxy upstream host override on a per-connection basis. Accepts a host string as a constructor.
envoy.upstream.dynamic_port
Dynamic forward proxy upstream port override on a per-connection basis. Accepts a port number string as a constructor.
envoy.tcp_proxy.disable_tunneling
TCP proxy tunneling override to disable tunneling on a per-connection bases. Accepts values “true” and “false”.
envoy.filters.network.http_connection_manager.local_reply_owner
Shared filter status for logging which filter config name in the HTTP filter chain sent the local reply.
envoy.string
A special generic string object factory, to be used as a factory lookup key.
envoy.tcp_proxy.per_connection_idle_timeout_ms
TCP proxy idle timeout duration override on a per-connection basis. Accepts a count of milliseconds number string as a constructor.
envoy.ratelimit.hits_addend
Rate Limit Hits Addend override on a per-route basis. Accepts a number string as a constructor.
Filter state object fields
The filter state object fields can be used in the format strings. For example, the following format string references the port number in the original destination cluster filter state object:
%FILTER_STATE(envoy.network.transport_socket.original_dst_address:FIELD:port)%