Well Known Filter State Objects
The following list of filter state objects are consumed by 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.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”.
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)%