Documentation ¶
Index ¶
- Variables
- type Route
- type UdpProxyConfig
- func (*UdpProxyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *UdpProxyConfig) GetAccessLog() []*v31.AccessLog
- 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) GetStatPrefix() string
- 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
Constants ¶
This section is empty.
Variables ¶
View Source
var File_envoy_extensions_filters_udp_udp_proxy_v3_route_proto protoreflect.FileDescriptor
View Source
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). 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"` // contains filtered or unexported fields }
Configuration for the UDP proxy filter. [#next-free-field: 11]
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) 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) GetStatPrefix ¶
func (x *UdpProxyConfig) GetStatPrefix() string
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 ¶
Click to show internal directories.
Click to hide internal directories.