Documentation
¶
Index ¶
- Constants
- Variables
- type Route
- type Route_builder
- type UdpProxyConfig
- func (x *UdpProxyConfig) ClearAccessLogOptions()
- func (x *UdpProxyConfig) ClearCluster()deprecated
- func (x *UdpProxyConfig) ClearIdleTimeout()
- func (x *UdpProxyConfig) ClearMatcher()
- func (x *UdpProxyConfig) ClearRouteSpecifier()
- func (x *UdpProxyConfig) ClearTunnelingConfig()
- func (x *UdpProxyConfig) ClearUpstreamSocketConfig()
- 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 (x *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 (x *UdpProxyConfig) HasAccessLogOptions() bool
- func (x *UdpProxyConfig) HasCluster() booldeprecated
- func (x *UdpProxyConfig) HasIdleTimeout() bool
- func (x *UdpProxyConfig) HasMatcher() bool
- func (x *UdpProxyConfig) HasRouteSpecifier() bool
- func (x *UdpProxyConfig) HasTunnelingConfig() bool
- func (x *UdpProxyConfig) HasUpstreamSocketConfig() bool
- func (*UdpProxyConfig) ProtoMessage()
- func (x *UdpProxyConfig) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig) Reset()
- func (x *UdpProxyConfig) SetAccessLog(v []*v31.AccessLog)
- func (x *UdpProxyConfig) SetAccessLogOptions(v *UdpProxyConfig_UdpAccessLogOptions)
- func (x *UdpProxyConfig) SetCluster(v string)deprecated
- func (x *UdpProxyConfig) SetHashPolicies(v []*UdpProxyConfig_HashPolicy)
- func (x *UdpProxyConfig) SetIdleTimeout(v *durationpb.Duration)
- func (x *UdpProxyConfig) SetMatcher(v *v32.Matcher)
- func (x *UdpProxyConfig) SetProxyAccessLog(v []*v31.AccessLog)
- func (x *UdpProxyConfig) SetSessionFilters(v []*UdpProxyConfig_SessionFilter)
- func (x *UdpProxyConfig) SetStatPrefix(v string)
- func (x *UdpProxyConfig) SetTunnelingConfig(v *UdpProxyConfig_UdpTunnelingConfig)
- func (x *UdpProxyConfig) SetUpstreamSocketConfig(v *v3.UdpSocketConfig)
- func (x *UdpProxyConfig) SetUseOriginalSrcIp(v bool)
- func (x *UdpProxyConfig) SetUsePerPacketLoadBalancing(v bool)
- func (x *UdpProxyConfig) String() string
- func (x *UdpProxyConfig) WhichRouteSpecifier() case_UdpProxyConfig_RouteSpecifier
- type UdpProxyConfig_Cluster
- type UdpProxyConfig_HashPolicy
- func (x *UdpProxyConfig_HashPolicy) ClearKey()
- func (x *UdpProxyConfig_HashPolicy) ClearPolicySpecifier()
- func (x *UdpProxyConfig_HashPolicy) ClearSourceIp()
- func (x *UdpProxyConfig_HashPolicy) GetKey() string
- func (x *UdpProxyConfig_HashPolicy) GetPolicySpecifier() isUdpProxyConfig_HashPolicy_PolicySpecifier
- func (x *UdpProxyConfig_HashPolicy) GetSourceIp() bool
- func (x *UdpProxyConfig_HashPolicy) HasKey() bool
- func (x *UdpProxyConfig_HashPolicy) HasPolicySpecifier() bool
- func (x *UdpProxyConfig_HashPolicy) HasSourceIp() bool
- func (*UdpProxyConfig_HashPolicy) ProtoMessage()
- func (x *UdpProxyConfig_HashPolicy) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_HashPolicy) Reset()
- func (x *UdpProxyConfig_HashPolicy) SetKey(v string)
- func (x *UdpProxyConfig_HashPolicy) SetSourceIp(v bool)
- func (x *UdpProxyConfig_HashPolicy) String() string
- func (x *UdpProxyConfig_HashPolicy) WhichPolicySpecifier() case_UdpProxyConfig_HashPolicy_PolicySpecifier
- type UdpProxyConfig_HashPolicy_Key
- type UdpProxyConfig_HashPolicy_SourceIp
- type UdpProxyConfig_HashPolicy_builder
- type UdpProxyConfig_Matcher
- type UdpProxyConfig_SessionFilter
- func (x *UdpProxyConfig_SessionFilter) ClearConfigDiscovery()
- func (x *UdpProxyConfig_SessionFilter) ClearConfigType()
- func (x *UdpProxyConfig_SessionFilter) ClearTypedConfig()
- func (x *UdpProxyConfig_SessionFilter) GetConfigDiscovery() *v3.ExtensionConfigSource
- func (x *UdpProxyConfig_SessionFilter) GetConfigType() isUdpProxyConfig_SessionFilter_ConfigType
- func (x *UdpProxyConfig_SessionFilter) GetName() string
- func (x *UdpProxyConfig_SessionFilter) GetTypedConfig() *anypb.Any
- func (x *UdpProxyConfig_SessionFilter) HasConfigDiscovery() bool
- func (x *UdpProxyConfig_SessionFilter) HasConfigType() bool
- func (x *UdpProxyConfig_SessionFilter) HasTypedConfig() bool
- func (*UdpProxyConfig_SessionFilter) ProtoMessage()
- func (x *UdpProxyConfig_SessionFilter) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_SessionFilter) Reset()
- func (x *UdpProxyConfig_SessionFilter) SetConfigDiscovery(v *v3.ExtensionConfigSource)
- func (x *UdpProxyConfig_SessionFilter) SetName(v string)
- func (x *UdpProxyConfig_SessionFilter) SetTypedConfig(v *anypb.Any)
- func (x *UdpProxyConfig_SessionFilter) String() string
- func (x *UdpProxyConfig_SessionFilter) WhichConfigType() case_UdpProxyConfig_SessionFilter_ConfigType
- type UdpProxyConfig_SessionFilter_ConfigDiscovery
- type UdpProxyConfig_SessionFilter_TypedConfig
- type UdpProxyConfig_SessionFilter_builder
- type UdpProxyConfig_UdpAccessLogOptions
- func (x *UdpProxyConfig_UdpAccessLogOptions) ClearAccessLogFlushInterval()
- func (x *UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval() *durationpb.Duration
- func (x *UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected() bool
- func (x *UdpProxyConfig_UdpAccessLogOptions) HasAccessLogFlushInterval() bool
- func (*UdpProxyConfig_UdpAccessLogOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpAccessLogOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpAccessLogOptions) Reset()
- func (x *UdpProxyConfig_UdpAccessLogOptions) SetAccessLogFlushInterval(v *durationpb.Duration)
- func (x *UdpProxyConfig_UdpAccessLogOptions) SetFlushAccessLogOnTunnelConnected(v bool)
- func (x *UdpProxyConfig_UdpAccessLogOptions) String() string
- type UdpProxyConfig_UdpAccessLogOptions_builder
- type UdpProxyConfig_UdpTunnelingConfig
- func (x *UdpProxyConfig_UdpTunnelingConfig) ClearBufferOptions()
- func (x *UdpProxyConfig_UdpTunnelingConfig) ClearProxyPort()
- func (x *UdpProxyConfig_UdpTunnelingConfig) ClearRetryOptions()
- 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 (x *UdpProxyConfig_UdpTunnelingConfig) HasBufferOptions() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig) HasProxyPort() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig) HasRetryOptions() bool
- func (*UdpProxyConfig_UdpTunnelingConfig) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetBufferOptions(v *UdpProxyConfig_UdpTunnelingConfig_BufferOptions)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetDefaultTargetPort(v uint32)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetHeadersToAdd(v []*v3.HeaderValueOption)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetPostPath(v string)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseHeaders(v bool)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseTrailers(v bool)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetProxyHost(v string)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetProxyPort(v *wrapperspb.UInt32Value)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetRetryOptions(v *UdpProxyConfig_UdpTunnelingConfig_RetryOptions)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetTargetHost(v string)
- func (x *UdpProxyConfig_UdpTunnelingConfig) SetUsePost(v bool)
- func (x *UdpProxyConfig_UdpTunnelingConfig) String() string
- type UdpProxyConfig_UdpTunnelingConfig_BufferOptions
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ClearMaxBufferedBytes()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ClearMaxBufferedDatagrams()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedBytes() *wrapperspb.UInt64Value
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedDatagrams() *wrapperspb.UInt32Value
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) HasMaxBufferedBytes() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) HasMaxBufferedDatagrams() bool
- func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) SetMaxBufferedBytes(v *wrapperspb.UInt64Value)
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) SetMaxBufferedDatagrams(v *wrapperspb.UInt32Value)
- func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String() string
- type UdpProxyConfig_UdpTunnelingConfig_BufferOptions_builder
- type UdpProxyConfig_UdpTunnelingConfig_RetryOptions
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearBackoffOptions()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearMaxConnectAttempts()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetBackoffOptions() *v3.BackoffStrategy
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts() *wrapperspb.UInt32Value
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasBackoffOptions() bool
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasMaxConnectAttempts() bool
- func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoMessage()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoReflect() protoreflect.Message
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Reset()
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) SetBackoffOptions(v *v3.BackoffStrategy)
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) SetMaxConnectAttempts(v *wrapperspb.UInt32Value)
- func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String() string
- type UdpProxyConfig_UdpTunnelingConfig_RetryOptions_builder
- type UdpProxyConfig_UdpTunnelingConfig_builder
- type UdpProxyConfig_builder
Constants ¶
const UdpProxyConfig_Cluster_case case_UdpProxyConfig_RouteSpecifier = 2
const UdpProxyConfig_HashPolicy_Key_case case_UdpProxyConfig_HashPolicy_PolicySpecifier = 2
const UdpProxyConfig_HashPolicy_PolicySpecifier_not_set_case case_UdpProxyConfig_HashPolicy_PolicySpecifier = 0
const UdpProxyConfig_HashPolicy_SourceIp_case case_UdpProxyConfig_HashPolicy_PolicySpecifier = 1
const UdpProxyConfig_Matcher_case case_UdpProxyConfig_RouteSpecifier = 9
const UdpProxyConfig_RouteSpecifier_not_set_case case_UdpProxyConfig_RouteSpecifier = 0
const UdpProxyConfig_SessionFilter_ConfigDiscovery_case case_UdpProxyConfig_SessionFilter_ConfigType = 3
const UdpProxyConfig_SessionFilter_ConfigType_not_set_case case_UdpProxyConfig_SessionFilter_ConfigType = 0
const UdpProxyConfig_SessionFilter_TypedConfig_case case_UdpProxyConfig_SessionFilter_ConfigType = 2
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 Route_builder ¶
type Route_builder struct {
// Indicates the upstream cluster to which the request should be routed.
Cluster string
// contains filtered or unexported fields
}
func (Route_builder) Build ¶
func (b0 Route_builder) Build() *Route
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 valid to be assigned 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) ClearAccessLogOptions ¶
func (x *UdpProxyConfig) ClearAccessLogOptions()
func (*UdpProxyConfig) ClearCluster
deprecated
func (x *UdpProxyConfig) ClearCluster()
Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto.
func (*UdpProxyConfig) ClearIdleTimeout ¶
func (x *UdpProxyConfig) ClearIdleTimeout()
func (*UdpProxyConfig) ClearMatcher ¶
func (x *UdpProxyConfig) ClearMatcher()
func (*UdpProxyConfig) ClearRouteSpecifier ¶
func (x *UdpProxyConfig) ClearRouteSpecifier()
func (*UdpProxyConfig) ClearTunnelingConfig ¶
func (x *UdpProxyConfig) ClearTunnelingConfig()
func (*UdpProxyConfig) ClearUpstreamSocketConfig ¶
func (x *UdpProxyConfig) ClearUpstreamSocketConfig()
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 (x *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) HasAccessLogOptions ¶
func (x *UdpProxyConfig) HasAccessLogOptions() bool
func (*UdpProxyConfig) HasCluster
deprecated
func (x *UdpProxyConfig) HasCluster() bool
Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto.
func (*UdpProxyConfig) HasIdleTimeout ¶
func (x *UdpProxyConfig) HasIdleTimeout() bool
func (*UdpProxyConfig) HasMatcher ¶
func (x *UdpProxyConfig) HasMatcher() bool
func (*UdpProxyConfig) HasRouteSpecifier ¶
func (x *UdpProxyConfig) HasRouteSpecifier() bool
func (*UdpProxyConfig) HasTunnelingConfig ¶
func (x *UdpProxyConfig) HasTunnelingConfig() bool
func (*UdpProxyConfig) HasUpstreamSocketConfig ¶
func (x *UdpProxyConfig) HasUpstreamSocketConfig() 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) SetAccessLog ¶
func (x *UdpProxyConfig) SetAccessLog(v []*v31.AccessLog)
func (*UdpProxyConfig) SetAccessLogOptions ¶
func (x *UdpProxyConfig) SetAccessLogOptions(v *UdpProxyConfig_UdpAccessLogOptions)
func (*UdpProxyConfig) SetCluster
deprecated
func (x *UdpProxyConfig) SetCluster(v string)
Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto.
func (*UdpProxyConfig) SetHashPolicies ¶
func (x *UdpProxyConfig) SetHashPolicies(v []*UdpProxyConfig_HashPolicy)
func (*UdpProxyConfig) SetIdleTimeout ¶
func (x *UdpProxyConfig) SetIdleTimeout(v *durationpb.Duration)
func (*UdpProxyConfig) SetMatcher ¶
func (x *UdpProxyConfig) SetMatcher(v *v32.Matcher)
func (*UdpProxyConfig) SetProxyAccessLog ¶
func (x *UdpProxyConfig) SetProxyAccessLog(v []*v31.AccessLog)
func (*UdpProxyConfig) SetSessionFilters ¶
func (x *UdpProxyConfig) SetSessionFilters(v []*UdpProxyConfig_SessionFilter)
func (*UdpProxyConfig) SetStatPrefix ¶
func (x *UdpProxyConfig) SetStatPrefix(v string)
func (*UdpProxyConfig) SetTunnelingConfig ¶
func (x *UdpProxyConfig) SetTunnelingConfig(v *UdpProxyConfig_UdpTunnelingConfig)
func (*UdpProxyConfig) SetUpstreamSocketConfig ¶
func (x *UdpProxyConfig) SetUpstreamSocketConfig(v *v3.UdpSocketConfig)
func (*UdpProxyConfig) SetUseOriginalSrcIp ¶
func (x *UdpProxyConfig) SetUseOriginalSrcIp(v bool)
func (*UdpProxyConfig) SetUsePerPacketLoadBalancing ¶
func (x *UdpProxyConfig) SetUsePerPacketLoadBalancing(v bool)
func (*UdpProxyConfig) String ¶
func (x *UdpProxyConfig) String() string
func (*UdpProxyConfig) WhichRouteSpecifier ¶
func (x *UdpProxyConfig) WhichRouteSpecifier() case_UdpProxyConfig_RouteSpecifier
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 valid to be assigned 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) ClearKey ¶
func (x *UdpProxyConfig_HashPolicy) ClearKey()
func (*UdpProxyConfig_HashPolicy) ClearPolicySpecifier ¶
func (x *UdpProxyConfig_HashPolicy) ClearPolicySpecifier()
func (*UdpProxyConfig_HashPolicy) ClearSourceIp ¶
func (x *UdpProxyConfig_HashPolicy) ClearSourceIp()
func (*UdpProxyConfig_HashPolicy) GetKey ¶
func (x *UdpProxyConfig_HashPolicy) GetKey() string
func (*UdpProxyConfig_HashPolicy) GetPolicySpecifier ¶
func (x *UdpProxyConfig_HashPolicy) GetPolicySpecifier() isUdpProxyConfig_HashPolicy_PolicySpecifier
func (*UdpProxyConfig_HashPolicy) GetSourceIp ¶
func (x *UdpProxyConfig_HashPolicy) GetSourceIp() bool
func (*UdpProxyConfig_HashPolicy) HasKey ¶
func (x *UdpProxyConfig_HashPolicy) HasKey() bool
func (*UdpProxyConfig_HashPolicy) HasPolicySpecifier ¶
func (x *UdpProxyConfig_HashPolicy) HasPolicySpecifier() bool
func (*UdpProxyConfig_HashPolicy) HasSourceIp ¶
func (x *UdpProxyConfig_HashPolicy) HasSourceIp() 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) SetKey ¶
func (x *UdpProxyConfig_HashPolicy) SetKey(v string)
func (*UdpProxyConfig_HashPolicy) SetSourceIp ¶
func (x *UdpProxyConfig_HashPolicy) SetSourceIp(v bool)
func (*UdpProxyConfig_HashPolicy) String ¶
func (x *UdpProxyConfig_HashPolicy) String() string
func (*UdpProxyConfig_HashPolicy) WhichPolicySpecifier ¶
func (x *UdpProxyConfig_HashPolicy) WhichPolicySpecifier() case_UdpProxyConfig_HashPolicy_PolicySpecifier
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_HashPolicy_builder ¶
type UdpProxyConfig_HashPolicy_builder struct {
// Fields of oneof PolicySpecifier:
// The source IP will be used to compute the hash used by hash-based load balancing algorithms.
SourceIp *bool
// 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
// contains filtered or unexported fields
}
func (UdpProxyConfig_HashPolicy_builder) Build ¶
func (b0 UdpProxyConfig_HashPolicy_builder) Build() *UdpProxyConfig_HashPolicy
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 valid to be assigned to ConfigType:
//
// *UdpProxyConfig_SessionFilter_TypedConfig
// *UdpProxyConfig_SessionFilter_ConfigDiscovery
ConfigType isUdpProxyConfig_SessionFilter_ConfigType `protobuf_oneof:"config_type"`
// contains filtered or unexported fields
}
Configuration for UDP session filters.
func (*UdpProxyConfig_SessionFilter) ClearConfigDiscovery ¶
func (x *UdpProxyConfig_SessionFilter) ClearConfigDiscovery()
func (*UdpProxyConfig_SessionFilter) ClearConfigType ¶
func (x *UdpProxyConfig_SessionFilter) ClearConfigType()
func (*UdpProxyConfig_SessionFilter) ClearTypedConfig ¶
func (x *UdpProxyConfig_SessionFilter) ClearTypedConfig()
func (*UdpProxyConfig_SessionFilter) GetConfigDiscovery ¶
func (x *UdpProxyConfig_SessionFilter) GetConfigDiscovery() *v3.ExtensionConfigSource
func (*UdpProxyConfig_SessionFilter) GetConfigType ¶
func (x *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) HasConfigDiscovery ¶
func (x *UdpProxyConfig_SessionFilter) HasConfigDiscovery() bool
func (*UdpProxyConfig_SessionFilter) HasConfigType ¶
func (x *UdpProxyConfig_SessionFilter) HasConfigType() bool
func (*UdpProxyConfig_SessionFilter) HasTypedConfig ¶
func (x *UdpProxyConfig_SessionFilter) HasTypedConfig() bool
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) SetConfigDiscovery ¶
func (x *UdpProxyConfig_SessionFilter) SetConfigDiscovery(v *v3.ExtensionConfigSource)
func (*UdpProxyConfig_SessionFilter) SetName ¶
func (x *UdpProxyConfig_SessionFilter) SetName(v string)
func (*UdpProxyConfig_SessionFilter) SetTypedConfig ¶
func (x *UdpProxyConfig_SessionFilter) SetTypedConfig(v *anypb.Any)
func (*UdpProxyConfig_SessionFilter) String ¶
func (x *UdpProxyConfig_SessionFilter) String() string
func (*UdpProxyConfig_SessionFilter) WhichConfigType ¶
func (x *UdpProxyConfig_SessionFilter) WhichConfigType() case_UdpProxyConfig_SessionFilter_ConfigType
type UdpProxyConfig_SessionFilter_ConfigDiscovery ¶
type UdpProxyConfig_SessionFilter_ConfigDiscovery struct {
// Configuration source specifier for an extension configuration discovery
// service. In case of a failure and without the default configuration, the
// UDP session will be removed.
ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,3,opt,name=config_discovery,json=configDiscovery,proto3,oneof"`
}
type UdpProxyConfig_SessionFilter_TypedConfig ¶
type UdpProxyConfig_SessionFilter_builder ¶
type UdpProxyConfig_SessionFilter_builder struct {
// The name of the filter configuration.
Name string
// Fields of oneof ConfigType:
// Filter specific configuration which depends on the filter being
// instantiated. See the supported filters for further documentation.
TypedConfig *anypb.Any
// Configuration source specifier for an extension configuration discovery
// service. In case of a failure and without the default configuration, the
// UDP session will be removed.
ConfigDiscovery *v3.ExtensionConfigSource
// contains filtered or unexported fields
}
func (UdpProxyConfig_SessionFilter_builder) Build ¶
func (b0 UdpProxyConfig_SessionFilter_builder) Build() *UdpProxyConfig_SessionFilter
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) ClearAccessLogFlushInterval ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) ClearAccessLogFlushInterval()
func (*UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval() *durationpb.Duration
func (*UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected() bool
func (*UdpProxyConfig_UdpAccessLogOptions) HasAccessLogFlushInterval ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) HasAccessLogFlushInterval() 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) SetAccessLogFlushInterval ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) SetAccessLogFlushInterval(v *durationpb.Duration)
func (*UdpProxyConfig_UdpAccessLogOptions) SetFlushAccessLogOnTunnelConnected ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) SetFlushAccessLogOnTunnelConnected(v bool)
func (*UdpProxyConfig_UdpAccessLogOptions) String ¶
func (x *UdpProxyConfig_UdpAccessLogOptions) String() string
type UdpProxyConfig_UdpAccessLogOptions_builder ¶
type UdpProxyConfig_UdpAccessLogOptions_builder 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
// 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
// contains filtered or unexported fields
}
func (UdpProxyConfig_UdpAccessLogOptions_builder) Build ¶
func (b0 UdpProxyConfig_UdpAccessLogOptions_builder) Build() *UdpProxyConfig_UdpAccessLogOptions
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) ClearBufferOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) ClearBufferOptions()
func (*UdpProxyConfig_UdpTunnelingConfig) ClearProxyPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) ClearProxyPort()
func (*UdpProxyConfig_UdpTunnelingConfig) ClearRetryOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) ClearRetryOptions()
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) HasBufferOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) HasBufferOptions() bool
func (*UdpProxyConfig_UdpTunnelingConfig) HasProxyPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) HasProxyPort() bool
func (*UdpProxyConfig_UdpTunnelingConfig) HasRetryOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) HasRetryOptions() 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) SetBufferOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetBufferOptions(v *UdpProxyConfig_UdpTunnelingConfig_BufferOptions)
func (*UdpProxyConfig_UdpTunnelingConfig) SetDefaultTargetPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetDefaultTargetPort(v uint32)
func (*UdpProxyConfig_UdpTunnelingConfig) SetHeadersToAdd ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetHeadersToAdd(v []*v3.HeaderValueOption)
func (*UdpProxyConfig_UdpTunnelingConfig) SetPostPath ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetPostPath(v string)
func (*UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseHeaders ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseHeaders(v bool)
func (*UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseTrailers ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetPropagateResponseTrailers(v bool)
func (*UdpProxyConfig_UdpTunnelingConfig) SetProxyHost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetProxyHost(v string)
func (*UdpProxyConfig_UdpTunnelingConfig) SetProxyPort ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetProxyPort(v *wrapperspb.UInt32Value)
func (*UdpProxyConfig_UdpTunnelingConfig) SetRetryOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetRetryOptions(v *UdpProxyConfig_UdpTunnelingConfig_RetryOptions)
func (*UdpProxyConfig_UdpTunnelingConfig) SetTargetHost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetTargetHost(v string)
func (*UdpProxyConfig_UdpTunnelingConfig) SetUsePost ¶
func (x *UdpProxyConfig_UdpTunnelingConfig) SetUsePost(v bool)
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) ClearMaxBufferedBytes ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ClearMaxBufferedBytes()
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ClearMaxBufferedDatagrams ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ClearMaxBufferedDatagrams()
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) HasMaxBufferedBytes ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) HasMaxBufferedBytes() bool
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) HasMaxBufferedDatagrams ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) HasMaxBufferedDatagrams() bool
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) SetMaxBufferedBytes ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) SetMaxBufferedBytes(v *wrapperspb.UInt64Value)
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) SetMaxBufferedDatagrams ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) SetMaxBufferedDatagrams(v *wrapperspb.UInt32Value)
func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String() string
type UdpProxyConfig_UdpTunnelingConfig_BufferOptions_builder ¶
type UdpProxyConfig_UdpTunnelingConfig_BufferOptions_builder 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
// 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
// contains filtered or unexported fields
}
func (UdpProxyConfig_UdpTunnelingConfig_BufferOptions_builder) Build ¶
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"`
// Sets the backoff strategy. If not set, the retries are performed without backoff.
BackoffOptions *v3.BackoffStrategy `protobuf:"bytes,2,opt,name=backoff_options,json=backoffOptions,proto3" json:"backoff_options,omitempty"`
// contains filtered or unexported fields
}
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearBackoffOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearBackoffOptions()
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearMaxConnectAttempts ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ClearMaxConnectAttempts()
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetBackoffOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetBackoffOptions() *v3.BackoffStrategy
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts() *wrapperspb.UInt32Value
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasBackoffOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasBackoffOptions() bool
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasMaxConnectAttempts ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) HasMaxConnectAttempts() bool
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) SetBackoffOptions ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) SetBackoffOptions(v *v3.BackoffStrategy)
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) SetMaxConnectAttempts ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) SetMaxConnectAttempts(v *wrapperspb.UInt32Value)
func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String ¶
func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String() string
type UdpProxyConfig_UdpTunnelingConfig_RetryOptions_builder ¶
type UdpProxyConfig_UdpTunnelingConfig_RetryOptions_builder 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
// Sets the backoff strategy. If not set, the retries are performed without backoff.
BackoffOptions *v3.BackoffStrategy
// contains filtered or unexported fields
}
func (UdpProxyConfig_UdpTunnelingConfig_RetryOptions_builder) Build ¶
type UdpProxyConfig_UdpTunnelingConfig_builder ¶
type UdpProxyConfig_UdpTunnelingConfig_builder 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
// 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
// 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
// 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
// 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
// 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
// Optional retry options, in case connecting to the upstream failed.
RetryOptions *UdpProxyConfig_UdpTunnelingConfig_RetryOptions
// 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
// 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
// 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
// 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
// contains filtered or unexported fields
}
func (UdpProxyConfig_UdpTunnelingConfig_builder) Build ¶
func (b0 UdpProxyConfig_UdpTunnelingConfig_builder) Build() *UdpProxyConfig_UdpTunnelingConfig
type UdpProxyConfig_builder ¶
type UdpProxyConfig_builder struct {
// The stat prefix used when emitting UDP proxy filter stats.
StatPrefix string
// Fields of oneof RouteSpecifier:
// 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
// The match tree to use when resolving route actions for incoming requests.
// See :ref:`Routing <config_udp_listener_filters_udp_proxy_routing>` for more information.
Matcher *v32.Matcher
// -- end of RouteSpecifier
// 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
// 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
// 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
// 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
// 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
// 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
// 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
// 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
// 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
// Additional access log options for UDP Proxy.
AccessLogOptions *UdpProxyConfig_UdpAccessLogOptions
// contains filtered or unexported fields
}
func (UdpProxyConfig_builder) Build ¶
func (b0 UdpProxyConfig_builder) Build() *UdpProxyConfig
Source Files
¶
- route.pb.go
- udp_proxy.pb.go