udp_proxyv3

package
v1.34.1-20230516211930... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

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) Descriptor deprecated

func (*Route) Descriptor() ([]byte, []int)

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetCluster

func (x *Route) GetCluster() string

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect

func (x *Route) ProtoReflect() protoreflect.Message

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

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 (*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_Matcher struct {
	// 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 `protobuf:"bytes,9,opt,name=matcher,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL