Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type TcpProxy

type TcpProxy struct {

	// The prefix to use when emitting :ref:`statistics
	// <config_network_filters_tcp_proxy_stats>`.
	StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	// Types that are assignable to ClusterSpecifier:
	//	*TcpProxy_Cluster
	//	*TcpProxy_WeightedClusters
	ClusterSpecifier isTcpProxy_ClusterSpecifier `protobuf_oneof:"cluster_specifier"`
	// Optional endpoint metadata match criteria. Only endpoints in the upstream
	// cluster with metadata matching that set in metadata_match will be
	// considered. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata `protobuf:"bytes,9,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
	// The idle timeout for connections managed by the TCP proxy filter. The idle timeout
	// is defined as the period in which there are no bytes sent or received on either
	// the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set
	// to 0s, the timeout will be disabled.
	//
	// .. warning::
	//   Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
	//   FIN packets, etc.
	IdleTimeout *duration.Duration `protobuf:"bytes,8,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// [#not-implemented-hide:] The idle timeout for connections managed by the TCP proxy
	// filter. The idle timeout is defined as the period in which there is no
	// active traffic. If not set, there is no idle timeout. When the idle timeout
	// is reached the connection will be closed. The distinction between
	// downstream_idle_timeout/upstream_idle_timeout provides a means to set
	// timeout based on the last byte sent on the downstream/upstream connection.
	DownstreamIdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=downstream_idle_timeout,json=downstreamIdleTimeout,proto3" json:"downstream_idle_timeout,omitempty"`
	// [#not-implemented-hide:]
	UpstreamIdleTimeout *duration.Duration `protobuf:"bytes,4,opt,name=upstream_idle_timeout,json=upstreamIdleTimeout,proto3" json:"upstream_idle_timeout,omitempty"`
	// Configuration for :ref:`access logs <arch_overview_access_logs>`
	// emitted by the this tcp_proxy.
	AccessLog []*v2.AccessLog `protobuf:"bytes,5,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
	// [#not-implemented-hide:] Deprecated.
	//
	// Deprecated: Do not use.
	DeprecatedV1 *TcpProxy_DeprecatedV1 `protobuf:"bytes,6,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// 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 *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"`
	// Optional configuration for TCP proxy hash policy. If hash_policy is not set, the hash-based
	// load balancing algorithms will select a host randomly. Currently the number of hash policies is
	// limited to 1.
	HashPolicy []*_type.HashPolicy `protobuf:"bytes,11,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"`
	// [#not-implemented-hide:] feature in progress
	// If set, this configures tunneling, e.g. configuration options to tunnel multiple TCP
	// payloads over a shared HTTP/2 tunnel. If this message is absent, the payload
	// will be proxied upstream as per usual.
	TunnelingConfig *TcpProxy_TunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"` // contains filtered or unexported fields

}

[#next-free-field: 13]

func (*TcpProxy) Descriptor

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

Deprecated: Use TcpProxy.ProtoReflect.Descriptor instead.

func (*TcpProxy) GetAccessLog

func (x *TcpProxy) GetAccessLog() []*v2.AccessLog

func (*TcpProxy) GetCluster

func (x *TcpProxy) GetCluster() string

func (*TcpProxy) GetClusterSpecifier

func (m *TcpProxy) GetClusterSpecifier() isTcpProxy_ClusterSpecifier

func (*TcpProxy) GetDeprecatedV1

func (x *TcpProxy) GetDeprecatedV1() *TcpProxy_DeprecatedV1

Deprecated: Do not use.

func (*TcpProxy) GetDownstreamIdleTimeout

func (x *TcpProxy) GetDownstreamIdleTimeout() *duration.Duration

func (*TcpProxy) GetHashPolicy

func (x *TcpProxy) GetHashPolicy() []*_type.HashPolicy

func (*TcpProxy) GetIdleTimeout

func (x *TcpProxy) GetIdleTimeout() *duration.Duration

func (*TcpProxy) GetMaxConnectAttempts

func (x *TcpProxy) GetMaxConnectAttempts() *wrappers.UInt32Value

func (*TcpProxy) GetMetadataMatch

func (x *TcpProxy) GetMetadataMatch() *core.Metadata

func (*TcpProxy) GetStatPrefix

func (x *TcpProxy) GetStatPrefix() string

func (*TcpProxy) GetTunnelingConfig

func (x *TcpProxy) GetTunnelingConfig() *TcpProxy_TunnelingConfig

func (*TcpProxy) GetUpstreamIdleTimeout

func (x *TcpProxy) GetUpstreamIdleTimeout() *duration.Duration

func (*TcpProxy) GetWeightedClusters

func (x *TcpProxy) GetWeightedClusters() *TcpProxy_WeightedCluster

func (*TcpProxy) ProtoMessage

func (*TcpProxy) ProtoMessage()

func (*TcpProxy) ProtoReflect

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

func (*TcpProxy) Reset

func (x *TcpProxy) Reset()

func (*TcpProxy) String

func (x *TcpProxy) String() string

func (*TcpProxy) Validate

func (m *TcpProxy) Validate() error

Validate checks the field values on TcpProxy with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxyValidationError

type TcpProxyValidationError struct {

	// contains filtered or unexported fields

}

TcpProxyValidationError is the validation error returned by TcpProxy.Validate if the designated constraints aren't met.

func (TcpProxyValidationError) Cause

func (e TcpProxyValidationError) Cause() error

Cause function returns cause value.

func (TcpProxyValidationError) Error

func (e TcpProxyValidationError) Error() string

Error satisfies the builtin error interface

func (TcpProxyValidationError) ErrorName

func (e TcpProxyValidationError) ErrorName() string

ErrorName returns error name.

func (TcpProxyValidationError) Field

func (e TcpProxyValidationError) Field() string

Field function returns field value.

func (TcpProxyValidationError) Key

func (e TcpProxyValidationError) Key() bool

Key function returns key value.

func (TcpProxyValidationError) Reason

func (e TcpProxyValidationError) Reason() string

Reason function returns reason value.

type TcpProxy_Cluster

type TcpProxy_Cluster struct {
	// The upstream cluster to connect to.
	Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"`
}

type TcpProxy_DeprecatedV1

type TcpProxy_DeprecatedV1 struct {

	// The route table for the filter. All filter instances must have a route
	// table, even if it is empty.
	Routes []*TcpProxy_DeprecatedV1_TCPRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // contains filtered or unexported fields

}

[#not-implemented-hide:] Deprecated. TCP Proxy filter configuration using V1 format.

Deprecated: Do not use.

func (*TcpProxy_DeprecatedV1) Descriptor

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

Deprecated: Use TcpProxy_DeprecatedV1.ProtoReflect.Descriptor instead.

func (*TcpProxy_DeprecatedV1) GetRoutes

func (*TcpProxy_DeprecatedV1) ProtoMessage

func (*TcpProxy_DeprecatedV1) ProtoMessage()

func (*TcpProxy_DeprecatedV1) ProtoReflect

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

func (*TcpProxy_DeprecatedV1) Reset

func (x *TcpProxy_DeprecatedV1) Reset()

func (*TcpProxy_DeprecatedV1) String

func (x *TcpProxy_DeprecatedV1) String() string

func (*TcpProxy_DeprecatedV1) Validate

func (m *TcpProxy_DeprecatedV1) Validate() error

Validate checks the field values on TcpProxy_DeprecatedV1 with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxy_DeprecatedV1ValidationError

type TcpProxy_DeprecatedV1ValidationError struct {

	// contains filtered or unexported fields

}

TcpProxy_DeprecatedV1ValidationError is the validation error returned by TcpProxy_DeprecatedV1.Validate if the designated constraints aren't met.

func (TcpProxy_DeprecatedV1ValidationError) Cause

Cause function returns cause value.

func (TcpProxy_DeprecatedV1ValidationError) Error

Error satisfies the builtin error interface

func (TcpProxy_DeprecatedV1ValidationError) ErrorName

ErrorName returns error name.

func (TcpProxy_DeprecatedV1ValidationError) Field

Field function returns field value.

func (TcpProxy_DeprecatedV1ValidationError) Key

Key function returns key value.

func (TcpProxy_DeprecatedV1ValidationError) Reason

Reason function returns reason value.

type TcpProxy_DeprecatedV1_TCPRoute

type TcpProxy_DeprecatedV1_TCPRoute struct {

	// The cluster to connect to when a the downstream network connection
	// matches the specified criteria.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. The criteria is satisfied if the destination IP
	// address of the downstream connection is contained in at least one of
	// the specified subnets. If the parameter is not specified or the list
	// is empty, the destination IP address is ignored. The destination IP
	// address of the downstream connection might be different from the
	// addresses on which the proxy is listening if the connection has been
	// redirected.
	DestinationIpList []*core.CidrRange `protobuf:"bytes,2,rep,name=destination_ip_list,json=destinationIpList,proto3" json:"destination_ip_list,omitempty"`
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the destination port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the destination port is
	// ignored. The destination port address of the downstream connection
	// might be different from the port on which the proxy is listening if
	// the connection has been redirected.
	DestinationPorts string `protobuf:"bytes,3,opt,name=destination_ports,json=destinationPorts,proto3" json:"destination_ports,omitempty"`
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. The criteria is satisfied if the source IP address
	// of the downstream connection is contained in at least one of the
	// specified subnets. If the parameter is not specified or the list is
	// empty, the source IP address is ignored.
	SourceIpList []*core.CidrRange `protobuf:"bytes,4,rep,name=source_ip_list,json=sourceIpList,proto3" json:"source_ip_list,omitempty"`
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the source port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the source port is
	// ignored.
	SourcePorts string `protobuf:"bytes,5,opt,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` // contains filtered or unexported fields

}

A TCP proxy route consists of a set of optional L4 criteria and the name of a cluster. If a downstream connection matches all the specified criteria, the cluster in the route is used for the corresponding upstream connection. Routes are tried in the order specified until a match is found. If no match is found, the connection is closed. A route with no criteria is valid and always produces a match. [#next-free-field: 6]

func (*TcpProxy_DeprecatedV1_TCPRoute) Descriptor

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

Deprecated: Use TcpProxy_DeprecatedV1_TCPRoute.ProtoReflect.Descriptor instead.

func (*TcpProxy_DeprecatedV1_TCPRoute) GetCluster

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetCluster() string

func (*TcpProxy_DeprecatedV1_TCPRoute) GetDestinationIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationIpList() []*core.CidrRange

func (*TcpProxy_DeprecatedV1_TCPRoute) GetDestinationPorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationPorts() string

func (*TcpProxy_DeprecatedV1_TCPRoute) GetSourceIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourceIpList() []*core.CidrRange

func (*TcpProxy_DeprecatedV1_TCPRoute) GetSourcePorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourcePorts() string

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoMessage

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoMessage()

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoReflect

func (*TcpProxy_DeprecatedV1_TCPRoute) Reset

func (x *TcpProxy_DeprecatedV1_TCPRoute) Reset()

func (*TcpProxy_DeprecatedV1_TCPRoute) String

func (*TcpProxy_DeprecatedV1_TCPRoute) Validate

func (m *TcpProxy_DeprecatedV1_TCPRoute) Validate() error

Validate checks the field values on TcpProxy_DeprecatedV1_TCPRoute with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxy_DeprecatedV1_TCPRouteValidationError

type TcpProxy_DeprecatedV1_TCPRouteValidationError struct {

	// contains filtered or unexported fields

}

TcpProxy_DeprecatedV1_TCPRouteValidationError is the validation error returned by TcpProxy_DeprecatedV1_TCPRoute.Validate if the designated constraints aren't met.

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) Cause

Cause function returns cause value.

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) Error

Error satisfies the builtin error interface

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) ErrorName

ErrorName returns error name.

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) Field

Field function returns field value.

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) Key

Key function returns key value.

func (TcpProxy_DeprecatedV1_TCPRouteValidationError) Reason

Reason function returns reason value.

type TcpProxy_TunnelingConfig

type TcpProxy_TunnelingConfig struct {

	// The hostname to send in the synthesized CONNECT headers to the upstream proxy.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` // contains filtered or unexported fields

}

Configuration for tunneling TCP over other transports or application layers. Currently, only HTTP/2 is supported. When other options exist, HTTP/2 will remain the default.

func (*TcpProxy_TunnelingConfig) Descriptor

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

Deprecated: Use TcpProxy_TunnelingConfig.ProtoReflect.Descriptor instead.

func (*TcpProxy_TunnelingConfig) GetHostname

func (x *TcpProxy_TunnelingConfig) GetHostname() string

func (*TcpProxy_TunnelingConfig) ProtoMessage

func (*TcpProxy_TunnelingConfig) ProtoMessage()

func (*TcpProxy_TunnelingConfig) ProtoReflect

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

func (*TcpProxy_TunnelingConfig) Reset

func (x *TcpProxy_TunnelingConfig) Reset()

func (*TcpProxy_TunnelingConfig) String

func (x *TcpProxy_TunnelingConfig) String() string

func (*TcpProxy_TunnelingConfig) Validate

func (m *TcpProxy_TunnelingConfig) Validate() error

Validate checks the field values on TcpProxy_TunnelingConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxy_TunnelingConfigValidationError

type TcpProxy_TunnelingConfigValidationError struct {

	// contains filtered or unexported fields

}

TcpProxy_TunnelingConfigValidationError is the validation error returned by TcpProxy_TunnelingConfig.Validate if the designated constraints aren't met.

func (TcpProxy_TunnelingConfigValidationError) Cause

Cause function returns cause value.

func (TcpProxy_TunnelingConfigValidationError) Error

Error satisfies the builtin error interface

func (TcpProxy_TunnelingConfigValidationError) ErrorName

ErrorName returns error name.

func (TcpProxy_TunnelingConfigValidationError) Field

Field function returns field value.

func (TcpProxy_TunnelingConfigValidationError) Key

Key function returns key value.

func (TcpProxy_TunnelingConfigValidationError) Reason

Reason function returns reason value.

type TcpProxy_WeightedCluster

type TcpProxy_WeightedCluster struct {

	// Specifies one or more upstream clusters associated with the route.
	Clusters []*TcpProxy_WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` // contains filtered or unexported fields

}

Allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster based on these weights.

func (*TcpProxy_WeightedCluster) Descriptor

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

Deprecated: Use TcpProxy_WeightedCluster.ProtoReflect.Descriptor instead.

func (*TcpProxy_WeightedCluster) GetClusters

func (*TcpProxy_WeightedCluster) ProtoMessage

func (*TcpProxy_WeightedCluster) ProtoMessage()

func (*TcpProxy_WeightedCluster) ProtoReflect

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

func (*TcpProxy_WeightedCluster) Reset

func (x *TcpProxy_WeightedCluster) Reset()

func (*TcpProxy_WeightedCluster) String

func (x *TcpProxy_WeightedCluster) String() string

func (*TcpProxy_WeightedCluster) Validate

func (m *TcpProxy_WeightedCluster) Validate() error

Validate checks the field values on TcpProxy_WeightedCluster with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxy_WeightedClusterValidationError

type TcpProxy_WeightedClusterValidationError struct {

	// contains filtered or unexported fields

}

TcpProxy_WeightedClusterValidationError is the validation error returned by TcpProxy_WeightedCluster.Validate if the designated constraints aren't met.

func (TcpProxy_WeightedClusterValidationError) Cause

Cause function returns cause value.

func (TcpProxy_WeightedClusterValidationError) Error

Error satisfies the builtin error interface

func (TcpProxy_WeightedClusterValidationError) ErrorName

ErrorName returns error name.

func (TcpProxy_WeightedClusterValidationError) Field

Field function returns field value.

func (TcpProxy_WeightedClusterValidationError) Key

Key function returns key value.

func (TcpProxy_WeightedClusterValidationError) Reason

Reason function returns reason value.

type TcpProxy_WeightedCluster_ClusterWeight

type TcpProxy_WeightedCluster_ClusterWeight struct {

	// Name of the upstream cluster.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// When a request matches the route, the choice of an upstream cluster is
	// determined by its weight. The sum of weights across all entries in the
	// clusters array determines the total weight.
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
	// in the upstream cluster with metadata matching what is set in this field will be considered
	// for load balancing. Note that this will be merged with what's provided in
	// :ref:`TcpProxy.metadata_match
	// <envoy_api_field_config.filter.network.tcp_proxy.v2.TcpProxy.metadata_match>`, with values
	// here taking precedence. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // contains filtered or unexported fields

}

func (*TcpProxy_WeightedCluster_ClusterWeight) Descriptor

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

Deprecated: Use TcpProxy_WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead.

func (*TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch

func (x *TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata

func (*TcpProxy_WeightedCluster_ClusterWeight) GetName

func (*TcpProxy_WeightedCluster_ClusterWeight) GetWeight

func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoMessage

func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoReflect

func (*TcpProxy_WeightedCluster_ClusterWeight) Reset

func (*TcpProxy_WeightedCluster_ClusterWeight) String

func (*TcpProxy_WeightedCluster_ClusterWeight) Validate

Validate checks the field values on TcpProxy_WeightedCluster_ClusterWeight with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type TcpProxy_WeightedCluster_ClusterWeightValidationError

type TcpProxy_WeightedCluster_ClusterWeightValidationError struct {

	// contains filtered or unexported fields

}

TcpProxy_WeightedCluster_ClusterWeightValidationError is the validation error returned by TcpProxy_WeightedCluster_ClusterWeight.Validate if the designated constraints aren't met.

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) Cause

Cause function returns cause value.

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) Error

Error satisfies the builtin error interface

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) ErrorName

ErrorName returns error name.

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) Field

Field function returns field value.

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) Key

Key function returns key value.

func (TcpProxy_WeightedCluster_ClusterWeightValidationError) Reason

Reason function returns reason value.

type TcpProxy_WeightedClusters

type TcpProxy_WeightedClusters struct {
	// Multiple upstream clusters can be specified for a given route. The
	// request is routed to one of the upstream clusters based on weights
	// assigned to each cluster.
	WeightedClusters *TcpProxy_WeightedCluster `protobuf:"bytes,10,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"`
}