Documentation ¶
Index ¶
- Variables
- type Route
- type UdpProxyConfig
- func (*UdpProxyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig) GetAccessLog() []*v31.AccessLog
- func (x *UdpProxyConfig) GetAccessLogOptions() *UdpProxyConfig_UdpAccessLogOptions
- func (x *UdpProxyConfig) GetCluster() stringdeprecated
- func (x *UdpProxyConfig) GetHashPolicies() []*UdpProxyConfig_HashPolicy
- func (x *UdpProxyConfig) GetIdleTimeout() *durationpb.Duration
- func (x *UdpProxyConfig) GetMatcher() *v32.Matcher
- func (x *UdpProxyConfig) GetProxyAccessLog() []*v31.AccessLog
- func (m *UdpProxyConfig) GetRouteSpecifier() isUdpProxyConfig_RouteSpecifier
- func (x *UdpProxyConfig) GetSessionFilters() []*UdpProxyConfig_SessionFilter
- func (x *UdpProxyConfig) GetStatPrefix() string
- func (x *UdpProxyConfig) GetTunnelingConfig() *UdpProxyConfig_UdpTunnelingConfig
- func (x *UdpProxyConfig) GetUpstreamSocketConfig() *v3.UdpSocketConfig
- func (x *UdpProxyConfig) GetUseOriginalSrcIp() bool
- func (x *UdpProxyConfig) GetUsePerPacketLoadBalancing() bool
- func (*UdpProxyConfig) ProtoMessage()
- func (x *UdpProxyConfig) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig) Reset()
- func (x *UdpProxyConfig) String() string
- type UdpProxyConfig_Cluster
- type UdpProxyConfig_HashPolicy
- func (*UdpProxyConfig_HashPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig_HashPolicy) GetKey() string
- func (m *UdpProxyConfig_HashPolicy) GetPolicySpecifier() isUdpProxyConfig_HashPolicy_PolicySpecifier
- func (x *UdpProxyConfig_HashPolicy) GetSourceIp() bool
- func (*UdpProxyConfig_HashPolicy) ProtoMessage()
- func (x *UdpProxyConfig_HashPolicy) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_HashPolicy) Reset()
- func (x *UdpProxyConfig_HashPolicy) String() string
- type UdpProxyConfig_HashPolicy_Key
- type UdpProxyConfig_HashPolicy_SourceIp
- type UdpProxyConfig_Matcher
- type UdpProxyConfig_SessionFilter
- func (*UdpProxyConfig_SessionFilter) Descriptor() ([]byte, []int)deprecated
- func (m *UdpProxyConfig_SessionFilter) GetConfigType() isUdpProxyConfig_SessionFilter_ConfigType
- func (x *UdpProxyConfig_SessionFilter) GetName() string
- func (x *UdpProxyConfig_SessionFilter) GetTypedConfig() *anypb.Any
- func (*UdpProxyConfig_SessionFilter) ProtoMessage()
- func (x *UdpProxyConfig_SessionFilter) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_SessionFilter) Reset()
- func (x *UdpProxyConfig_SessionFilter) String() string
- type UdpProxyConfig_SessionFilter_TypedConfig
- type UdpProxyConfig_UdpAccessLogOptions
- func (*UdpProxyConfig_UdpAccessLogOptions) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval() *durationpb.Duration
- func (x *UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected() bool
- func (*UdpProxyConfig_UdpAccessLogOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpAccessLogOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpAccessLogOptions) Reset()
- func (x *UdpProxyConfig_UdpAccessLogOptions) String() string
- type UdpProxyConfig_UdpTunnelingConfig
- func (*UdpProxyConfig_UdpTunnelingConfig) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetBufferOptions() *UdpProxyConfig_UdpTunnelingConfig_BufferOptions
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetDefaultTargetPort() uint32
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetHeadersToAdd() []*v3.HeaderValueOption
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetPostPath() string
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseHeaders() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseTrailers() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyHost() string
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyPort() *wrapperspb.UInt32Value
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetRetryOptions() *UdpProxyConfig_UdpTunnelingConfig_RetryOptions
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetTargetHost() string
- func (x *UdpProxyConfig_UdpTunnelingConfig) GetUsePost() bool
- func (*UdpProxyConfig_UdpTunnelingConfig) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig) String() string
- type UdpProxyConfig_UdpTunnelingConfig_BufferOptions
- func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedBytes() *wrapperspb.UInt64Value
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedDatagrams() *wrapperspb.UInt32Value
- func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String() string
- type UdpProxyConfig_UdpTunnelingConfig_RetryOptions
- func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts() *wrapperspb.UInt32Value
- func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String() string
Constants ¶
This section is empty.
Variables ¶
var File_envoy_extensions_filters_udp_udp_proxy_v3_route_proto protoreflect.FileDescriptor
var File_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Route ¶
type Route struct { // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // contains filtered or unexported fields }
func (*Route) ProtoReflect ¶
func (x *Route) ProtoReflect() protoreflect.Message
type UdpProxyConfig ¶
type UdpProxyConfig struct { // The stat prefix used when emitting UDP proxy filter stats. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to RouteSpecifier: // // *UdpProxyConfig_Cluster // *UdpProxyConfig_Matcher RouteSpecifier isUdpProxyConfig_RouteSpecifier `protobuf_oneof:"route_specifier"` // The idle timeout for sessions. Idle is defined as no datagrams between received or sent by // the session. The default if not specified is 1 minute. IdleTimeout *durationpb.Duration `protobuf:"bytes,3,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Use the remote downstream IP address as the sender IP address when sending packets to upstream hosts. // This option requires Envoy to be run with the “CAP_NET_ADMIN“ capability on Linux. // And the IPv6 stack must be enabled on Linux kernel. // This option does not preserve the remote downstream port. // If this option is enabled, the IP address of sent datagrams will be changed to the remote downstream IP address. // This means that Envoy will not receive packets that are sent by upstream hosts because the upstream hosts // will send the packets with the remote downstream IP address as the destination. All packets will be routed // to the remote downstream directly if there are route rules on the upstream host side. // There are two options to return the packets back to the remote downstream. // The first one is to use DSR (Direct Server Return). // The other one is to configure routing rules on the upstream hosts to forward // all packets back to Envoy and configure iptables rules on the host running Envoy to // forward all packets from upstream hosts to the Envoy process so that Envoy can forward the packets to the downstream. // If the platform does not support this option, Envoy will raise a configuration error. UseOriginalSrcIp bool `protobuf:"varint,4,opt,name=use_original_src_ip,json=useOriginalSrcIp,proto3" json:"use_original_src_ip,omitempty"` // Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based // load balancing algorithms will select a host randomly. Currently the number of hash policies is // limited to 1. HashPolicies []*UdpProxyConfig_HashPolicy `protobuf:"bytes,5,rep,name=hash_policies,json=hashPolicies,proto3" json:"hash_policies,omitempty"` // UDP socket configuration for upstream sockets. The default for // :ref:`prefer_gro <envoy_v3_api_field_config.core.v3.UdpSocketConfig.prefer_gro>` is true for upstream // sockets as the assumption is datagrams will be received from a single source. UpstreamSocketConfig *v3.UdpSocketConfig `protobuf:"bytes,6,opt,name=upstream_socket_config,json=upstreamSocketConfig,proto3" json:"upstream_socket_config,omitempty"` // Perform per packet load balancing (upstream host selection) on each received data chunk. // The default if not specified is false, that means each data chunk is forwarded // to upstream host selected on first chunk receival for that "session" (identified by source IP/port and local IP/port). // Only one of use_per_packet_load_balancing or session_filters can be used. UsePerPacketLoadBalancing bool `` /* 143-byte string literal not displayed */ // Configuration for session access logs emitted by the UDP proxy. Note that certain UDP specific data is emitted as :ref:`Dynamic Metadata <config_access_log_format_dynamic_metadata>`. AccessLog []*v31.AccessLog `protobuf:"bytes,8,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Configuration for proxy access logs emitted by the UDP proxy. Note that certain UDP specific data is emitted as :ref:`Dynamic Metadata <config_access_log_format_dynamic_metadata>`. ProxyAccessLog []*v31.AccessLog `protobuf:"bytes,10,rep,name=proxy_access_log,json=proxyAccessLog,proto3" json:"proxy_access_log,omitempty"` // Optional session filters that will run for each UDP session. // Only one of use_per_packet_load_balancing or session_filters can be used. // [#extension-category: envoy.filters.udp.session] SessionFilters []*UdpProxyConfig_SessionFilter `protobuf:"bytes,11,rep,name=session_filters,json=sessionFilters,proto3" json:"session_filters,omitempty"` // If set, this configures UDP tunneling. See `Proxying UDP in HTTP <https://www.rfc-editor.org/rfc/rfc9298.html>`_. // More information can be found in the UDP Proxy and HTTP upgrade documentation. TunnelingConfig *UdpProxyConfig_UdpTunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"` // Additional access log options for UDP Proxy. AccessLogOptions *UdpProxyConfig_UdpAccessLogOptions `protobuf:"bytes,13,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"` // contains filtered or unexported fields }
Configuration for the UDP proxy filter. [#next-free-field: 14]
func (*UdpProxyConfig) Descriptor
deprecated
func (*UdpProxyConfig) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig) GetAccessLog ¶
func (x *UdpProxyConfig) GetAccessLog() []*v31.AccessLog
func (*UdpProxyConfig) GetAccessLogOptions ¶
func (x *UdpProxyConfig) GetAccessLogOptions() *UdpProxyConfig_UdpAccessLogOptions
func (*UdpProxyConfig) GetCluster
deprecated
func (x *UdpProxyConfig) GetCluster() string
Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto.
func (*UdpProxyConfig) GetHashPolicies ¶
func (x *UdpProxyConfig) GetHashPolicies() []*UdpProxyConfig_HashPolicy
func (*UdpProxyConfig) GetIdleTimeout ¶
func (x *UdpProxyConfig) GetIdleTimeout() *durationpb.Duration
func (*UdpProxyConfig) GetMatcher ¶
func (x *UdpProxyConfig) GetMatcher() *v32.Matcher
func (*UdpProxyConfig) GetProxyAccessLog ¶
func (x *UdpProxyConfig) GetProxyAccessLog() []*v31.AccessLog
func (*UdpProxyConfig) GetRouteSpecifier ¶
func (m *UdpProxyConfig) GetRouteSpecifier() isUdpProxyConfig_RouteSpecifier
func (*UdpProxyConfig) GetSessionFilters ¶
func (x *UdpProxyConfig) GetSessionFilters() []*UdpProxyConfig_SessionFilter
func (*UdpProxyConfig) GetStatPrefix ¶
func (x *UdpProxyConfig) GetStatPrefix() string
func (*UdpProxyConfig) GetTunnelingConfig ¶
func (x *UdpProxyConfig) GetTunnelingConfig() *UdpProxyConfig_UdpTunnelingConfig
func (*UdpProxyConfig) GetUpstreamSocketConfig ¶
func (x *UdpProxyConfig) GetUpstreamSocketConfig() *v3.UdpSocketConfig
func (*UdpProxyConfig) GetUseOriginalSrcIp ¶
func (x *UdpProxyConfig) GetUseOriginalSrcIp() bool
func (*UdpProxyConfig) GetUsePerPacketLoadBalancing ¶
func (x *UdpProxyConfig) GetUsePerPacketLoadBalancing() bool
func (*UdpProxyConfig) ProtoMessage ¶
func (*UdpProxyConfig) ProtoMessage()
func (*UdpProxyConfig) ProtoReflect ¶
func (x *UdpProxyConfig) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig) Reset ¶
func (x *UdpProxyConfig) Reset()
func (*UdpProxyConfig) String ¶
func (x *UdpProxyConfig) String() string
type UdpProxyConfig_Cluster ¶
type UdpProxyConfig_Cluster struct { // The upstream cluster to connect to. // This field is deprecated in favor of // :ref:`matcher <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.matcher>`. // // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` }
type UdpProxyConfig_HashPolicy ¶
type UdpProxyConfig_HashPolicy struct { // Types that are assignable to PolicySpecifier: // // *UdpProxyConfig_HashPolicy_SourceIp // *UdpProxyConfig_HashPolicy_Key PolicySpecifier isUdpProxyConfig_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` // contains filtered or unexported fields }
Specifies the UDP hash policy. The packets can be routed by hash policy.
func (*UdpProxyConfig_HashPolicy) Descriptor
deprecated
func (*UdpProxyConfig_HashPolicy) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_HashPolicy.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_HashPolicy) GetKey ¶
func (x *UdpProxyConfig_HashPolicy) GetKey() string
func (*UdpProxyConfig_HashPolicy) GetPolicySpecifier ¶
func (m *UdpProxyConfig_HashPolicy) GetPolicySpecifier() isUdpProxyConfig_HashPolicy_PolicySpecifier
func (*UdpProxyConfig_HashPolicy) GetSourceIp ¶
func (x *UdpProxyConfig_HashPolicy) GetSourceIp() bool
func (*UdpProxyConfig_HashPolicy) ProtoMessage ¶
func (*UdpProxyConfig_HashPolicy) ProtoMessage()
func (*UdpProxyConfig_HashPolicy) ProtoReflect ¶
func (x *UdpProxyConfig_HashPolicy) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_HashPolicy) Reset ¶
func (x *UdpProxyConfig_HashPolicy) Reset()
func (*UdpProxyConfig_HashPolicy) String ¶
func (x *UdpProxyConfig_HashPolicy) String() string
type UdpProxyConfig_HashPolicy_Key ¶
type UdpProxyConfig_HashPolicy_Key struct { // A given key will be used to compute the hash used by hash-based load balancing algorithms. // In certain cases there is a need to direct different UDP streams jointly towards the selected set of endpoints. // A possible use-case is VoIP telephony, where media (RTP) and its corresponding control (RTCP) belong to the same logical session, // although they travel in separate streams. To ensure that these pair of streams are load-balanced on session level // (instead of individual stream level), dynamically created listeners can use the same hash key for each stream in the session. Key string `protobuf:"bytes,2,opt,name=key,proto3,oneof"` }
type UdpProxyConfig_HashPolicy_SourceIp ¶
type UdpProxyConfig_HashPolicy_SourceIp struct { // The source IP will be used to compute the hash used by hash-based load balancing algorithms. SourceIp bool `protobuf:"varint,1,opt,name=source_ip,json=sourceIp,proto3,oneof"` }
type UdpProxyConfig_Matcher ¶
type UdpProxyConfig_SessionFilter ¶
type UdpProxyConfig_SessionFilter struct { // The name of the filter configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *UdpProxyConfig_SessionFilter_TypedConfig ConfigType isUdpProxyConfig_SessionFilter_ConfigType `protobuf_oneof:"config_type"` // contains filtered or unexported fields }
Configuration for UDP session filters.
func (*UdpProxyConfig_SessionFilter) Descriptor
deprecated
func (*UdpProxyConfig_SessionFilter) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_SessionFilter.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_SessionFilter) GetConfigType ¶
func (m *UdpProxyConfig_SessionFilter) GetConfigType() isUdpProxyConfig_SessionFilter_ConfigType
func (*UdpProxyConfig_SessionFilter) GetName ¶
func (x *UdpProxyConfig_SessionFilter) GetName() string
func (*UdpProxyConfig_SessionFilter) GetTypedConfig ¶
func (x *UdpProxyConfig_SessionFilter) GetTypedConfig() *anypb.Any
func (*UdpProxyConfig_SessionFilter) ProtoMessage ¶
func (*UdpProxyConfig_SessionFilter) ProtoMessage()
func (*UdpProxyConfig_SessionFilter) ProtoReflect ¶
func (x *UdpProxyConfig_SessionFilter) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_SessionFilter) Reset ¶
func (x *UdpProxyConfig_SessionFilter) Reset()
func (*UdpProxyConfig_SessionFilter) String ¶
func (x *UdpProxyConfig_SessionFilter) String() string
type UdpProxyConfig_SessionFilter_TypedConfig ¶
type UdpProxyConfig_UdpAccessLogOptions ¶
type UdpProxyConfig_UdpAccessLogOptions struct { // The interval to flush access log. The UDP proxy will flush only one access log when the session // is ended by default. If this field is set, the UDP proxy will flush access log periodically with // the specified interval. // This field does not require on-tunnel-connected access logging enabled, and the other way around. // The interval must be at least 1ms. AccessLogFlushInterval *durationpb.Duration `` /* 131-byte string literal not displayed */ // If set to true and UDP tunneling is configured, access log will be flushed when the UDP proxy has successfully // established a connection tunnel with the upstream. If the connection failed, the access log will not be flushed. FlushAccessLogOnTunnelConnected bool `` /* 163-byte string literal not displayed */ // contains filtered or unexported fields }
func (*UdpProxyConfig_UdpAccessLogOptions) Descriptor
deprecated
func (*UdpProxyConfig_UdpAccessLogOptions) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_UdpAccessLogOptions.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval() *durationpb.Duration
func (*UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected() bool
func (*UdpProxyConfig_UdpAccessLogOptions) ProtoMessage ¶
func (*UdpProxyConfig_UdpAccessLogOptions) ProtoMessage()
func (*UdpProxyConfig_UdpAccessLogOptions) ProtoReflect ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_UdpAccessLogOptions) Reset ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) Reset()
func (*UdpProxyConfig_UdpAccessLogOptions) String ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) String() string
type UdpProxyConfig_UdpTunnelingConfig ¶
type UdpProxyConfig_UdpTunnelingConfig struct { // The hostname to send in the synthesized CONNECT headers to the upstream proxy. // This field evaluates command operators if set, otherwise returns hostname as is. // // Example: dynamically set hostname using filter state // // .. code-block:: yaml // // tunneling_config: // proxy_host: "%FILTER_STATE(proxy.host.key:PLAIN)%" ProxyHost string `protobuf:"bytes,1,opt,name=proxy_host,json=proxyHost,proto3" json:"proxy_host,omitempty"` // Optional port value to add to the HTTP request URI. // This value can be overridden per-session by setting the required port value for // the filter state key “udp.connect.proxy_port“. ProxyPort *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=proxy_port,json=proxyPort,proto3" json:"proxy_port,omitempty"` // The target host to send in the synthesized CONNECT headers to the upstream proxy. // This field evaluates command operators if set, otherwise returns hostname as is. // // Example: dynamically set target host using filter state // // .. code-block:: yaml // // tunneling_config: // target_host: "%FILTER_STATE(target.host.key:PLAIN)%" TargetHost string `protobuf:"bytes,3,opt,name=target_host,json=targetHost,proto3" json:"target_host,omitempty"` // The default target port to send in the CONNECT headers to the upstream proxy. // This value can be overridden per-session by setting the required port value for // the filter state key “udp.connect.target_port“. DefaultTargetPort uint32 `protobuf:"varint,4,opt,name=default_target_port,json=defaultTargetPort,proto3" json:"default_target_port,omitempty"` // Use POST method instead of CONNECT method to tunnel the UDP stream. // // .. note:: // // If use_post is set, the upstream stream does not comply with the connect-udp RFC, and // instead it will be a POST request. the path used in the headers will be set from the // post_path field, and the headers will not contain the target host and target port, as // required by the connect-udp protocol. This flag should be used carefully. UsePost bool `protobuf:"varint,5,opt,name=use_post,json=usePost,proto3" json:"use_post,omitempty"` // The path used with POST method. Default path is “/“. If post path is specified and // use_post field isn't true, it will be rejected. PostPath string `protobuf:"bytes,6,opt,name=post_path,json=postPath,proto3" json:"post_path,omitempty"` // Optional retry options, in case connecting to the upstream failed. RetryOptions *UdpProxyConfig_UdpTunnelingConfig_RetryOptions `protobuf:"bytes,7,opt,name=retry_options,json=retryOptions,proto3" json:"retry_options,omitempty"` // Additional request headers to upstream proxy. Neither “:-prefixed“ pseudo-headers // nor the Host: header can be overridden. Values of the added headers evaluates command // operators if they are set in the value template. // // Example: dynamically set a header with the local port // // .. code-block:: yaml // // headers_to_add: // - header: // key: original_dst_port // value: "%DOWNSTREAM_LOCAL_PORT%" HeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,8,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` // If configured, the filter will buffer datagrams in case that it is waiting for the upstream to be // ready, whether if it is during the connection process or due to upstream buffer watermarks. // If this field is not configured, there will be no buffering and downstream datagrams that arrive // while the upstream is not ready will be dropped. In case this field is set but the options // are not configured, the default values will be applied as described in the “BufferOptions“. BufferOptions *UdpProxyConfig_UdpTunnelingConfig_BufferOptions `protobuf:"bytes,9,opt,name=buffer_options,json=bufferOptions,proto3" json:"buffer_options,omitempty"` // Save the response headers to the downstream info filter state for consumption // by the session filters. The filter state key is “envoy.udp_proxy.propagate_response_headers“. PropagateResponseHeaders bool `` /* 137-byte string literal not displayed */ // Save the response trailers to the downstream info filter state for consumption // by the session filters. The filter state key is “envoy.udp_proxy.propagate_response_trailers“. PropagateResponseTrailers bool `` /* 140-byte string literal not displayed */ // contains filtered or unexported fields }
Configuration for tunneling UDP over other transports or application layers. Tunneling is currently supported over HTTP/2. [#next-free-field: 12]
func (*UdpProxyConfig_UdpTunnelingConfig) Descriptor
deprecated
func (*UdpProxyConfig_UdpTunnelingConfig) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_UdpTunnelingConfig.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_UdpTunnelingConfig) GetBufferOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetBufferOptions() *UdpProxyConfig_UdpTunnelingConfig_BufferOptions
func (*UdpProxyConfig_UdpTunnelingConfig) GetDefaultTargetPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetDefaultTargetPort() uint32
func (*UdpProxyConfig_UdpTunnelingConfig) GetHeadersToAdd ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetHeadersToAdd() []*v3.HeaderValueOption
func (*UdpProxyConfig_UdpTunnelingConfig) GetPostPath ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetPostPath() string
func (*UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseHeaders ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseHeaders() bool
func (*UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseTrailers ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseTrailers() bool
func (*UdpProxyConfig_UdpTunnelingConfig) GetProxyHost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyHost() string
func (*UdpProxyConfig_UdpTunnelingConfig) GetProxyPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyPort() *wrapperspb.UInt32Value
func (*UdpProxyConfig_UdpTunnelingConfig) GetRetryOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetRetryOptions() *UdpProxyConfig_UdpTunnelingConfig_RetryOptions
func (*UdpProxyConfig_UdpTunnelingConfig) GetTargetHost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetTargetHost() string
func (*UdpProxyConfig_UdpTunnelingConfig) GetUsePost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) GetUsePost() bool
func (*UdpProxyConfig_UdpTunnelingConfig) ProtoMessage ¶
func (*UdpProxyConfig_UdpTunnelingConfig) ProtoMessage()
func (*UdpProxyConfig_UdpTunnelingConfig) ProtoReflect ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_UdpTunnelingConfig) Reset ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) Reset()
func (*UdpProxyConfig_UdpTunnelingConfig) String ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) String() string
type UdpProxyConfig_UdpTunnelingConfig_BufferOptions ¶
type UdpProxyConfig_UdpTunnelingConfig_BufferOptions struct { // If set, the filter will only buffer datagrams up to the requested limit, and will drop // new UDP datagrams if the buffer contains the max_buffered_datagrams value at the time // of a new datagram arrival. If not set, the default value is 1024 datagrams. MaxBufferedDatagrams *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_buffered_datagrams,json=maxBufferedDatagrams,proto3" json:"max_buffered_datagrams,omitempty"` // If set, the filter will only buffer datagrams up to the requested total buffered bytes limit, // and will drop new UDP datagrams if the buffer contains the max_buffered_datagrams value // at the time of a new datagram arrival. If not set, the default value is 16,384 (16KB). MaxBufferedBytes *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=max_buffered_bytes,json=maxBufferedBytes,proto3" json:"max_buffered_bytes,omitempty"` // contains filtered or unexported fields }
Configuration for UDP datagrams buffering.
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Descriptor
deprecated
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_UdpTunnelingConfig_BufferOptions.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedBytes ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedBytes() *wrapperspb.UInt64Value
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedDatagrams ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedDatagrams() *wrapperspb.UInt32Value
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoMessage ¶
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoMessage()
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoReflect ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Reset ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Reset()
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String() string
type UdpProxyConfig_UdpTunnelingConfig_RetryOptions ¶
type UdpProxyConfig_UdpTunnelingConfig_RetryOptions struct { // The maximum number of unsuccessful connection attempts that will be made before giving up. // If the parameter is not specified, 1 connection attempt will be made. MaxConnectAttempts *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"` // contains filtered or unexported fields }
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Descriptor
deprecated
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Descriptor() ([]byte, []int)
Deprecated: Use UdpProxyConfig_UdpTunnelingConfig_RetryOptions.ProtoReflect.Descriptor instead.
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts() *wrapperspb.UInt32Value
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoMessage ¶
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoMessage()
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoReflect ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoReflect() protoreflect.Message
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Reset ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Reset()
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String() string