github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/api/v2/listener.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.16.0
     5  // source: envoy/api/v2/listener.proto
     6  
     7  package envoy_api_v2
     8  
     9  import (
    10  	_ "github.com/cncf/xds/go/udpa/annotations"
    11  	core "github.com/hxx258456/ccgo/go-control-plane/envoy/api/v2/core"
    12  	listener "github.com/hxx258456/ccgo/go-control-plane/envoy/api/v2/listener"
    13  	v21 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/filter/accesslog/v2"
    14  	v2 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/listener/v2"
    15  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    16  	proto "github.com/golang/protobuf/proto"
    17  	duration "github.com/golang/protobuf/ptypes/duration"
    18  	wrappers "github.com/golang/protobuf/ptypes/wrappers"
    19  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    20  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    21  	reflect "reflect"
    22  	sync "sync"
    23  )
    24  
    25  const (
    26  	// Verify that this generated code is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    28  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    30  )
    31  
    32  // This is a compile-time assertion that a sufficiently up-to-date version
    33  // of the legacy proto package is being used.
    34  const _ = proto.ProtoPackageIsVersion4
    35  
    36  type Listener_DrainType int32
    37  
    38  const (
    39  	// Drain in response to calling /healthcheck/fail admin endpoint (along with the health check
    40  	// filter), listener removal/modification, and hot restart.
    41  	Listener_DEFAULT Listener_DrainType = 0
    42  	// Drain in response to listener removal/modification and hot restart. This setting does not
    43  	// include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress
    44  	// and egress listeners.
    45  	Listener_MODIFY_ONLY Listener_DrainType = 1
    46  )
    47  
    48  // Enum value maps for Listener_DrainType.
    49  var (
    50  	Listener_DrainType_name = map[int32]string{
    51  		0: "DEFAULT",
    52  		1: "MODIFY_ONLY",
    53  	}
    54  	Listener_DrainType_value = map[string]int32{
    55  		"DEFAULT":     0,
    56  		"MODIFY_ONLY": 1,
    57  	}
    58  )
    59  
    60  func (x Listener_DrainType) Enum() *Listener_DrainType {
    61  	p := new(Listener_DrainType)
    62  	*p = x
    63  	return p
    64  }
    65  
    66  func (x Listener_DrainType) String() string {
    67  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    68  }
    69  
    70  func (Listener_DrainType) Descriptor() protoreflect.EnumDescriptor {
    71  	return file_envoy_api_v2_listener_proto_enumTypes[0].Descriptor()
    72  }
    73  
    74  func (Listener_DrainType) Type() protoreflect.EnumType {
    75  	return &file_envoy_api_v2_listener_proto_enumTypes[0]
    76  }
    77  
    78  func (x Listener_DrainType) Number() protoreflect.EnumNumber {
    79  	return protoreflect.EnumNumber(x)
    80  }
    81  
    82  // Deprecated: Use Listener_DrainType.Descriptor instead.
    83  func (Listener_DrainType) EnumDescriptor() ([]byte, []int) {
    84  	return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 0}
    85  }
    86  
    87  // [#next-free-field: 23]
    88  type Listener struct {
    89  	state         protoimpl.MessageState
    90  	sizeCache     protoimpl.SizeCache
    91  	unknownFields protoimpl.UnknownFields
    92  
    93  	// The unique name by which this listener is known. If no name is provided,
    94  	// Envoy will allocate an internal UUID for the listener. If the listener is to be dynamically
    95  	// updated or removed via :ref:`LDS <config_listeners_lds>` a unique name must be provided.
    96  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    97  	// The address that the listener should listen on. In general, the address must be unique, though
    98  	// that is governed by the bind rules of the OS. E.g., multiple listeners can listen on port 0 on
    99  	// Linux as the actual port will be allocated by the OS.
   100  	Address *core.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
   101  	// A list of filter chains to consider for this listener. The
   102  	// :ref:`FilterChain <envoy_api_msg_listener.FilterChain>` with the most specific
   103  	// :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` criteria is used on a
   104  	// connection.
   105  	//
   106  	// Example using SNI for filter chain selection can be found in the
   107  	// :ref:`FAQ entry <faq_how_to_setup_sni>`.
   108  	FilterChains []*listener.FilterChain `protobuf:"bytes,3,rep,name=filter_chains,json=filterChains,proto3" json:"filter_chains,omitempty"`
   109  	// If a connection is redirected using *iptables*, the port on which the proxy
   110  	// receives it might be different from the original destination address. When this flag is set to
   111  	// true, the listener hands off redirected connections to the listener associated with the
   112  	// original destination address. If there is no listener associated with the original destination
   113  	// address, the connection is handled by the listener that receives it. Defaults to false.
   114  	//
   115  	// .. attention::
   116  	//
   117  	//   This field is deprecated. Use :ref:`an original_dst <config_listener_filters_original_dst>`
   118  	//   :ref:`listener filter <envoy_api_field_Listener.listener_filters>` instead.
   119  	//
   120  	//   Note that hand off to another listener is *NOT* performed without this flag. Once
   121  	//   :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` is implemented this flag
   122  	//   will be removed, as filter chain matching can be used to select a filter chain based on the
   123  	//   restored destination address.
   124  	//
   125  	// Deprecated: Do not use.
   126  	UseOriginalDst *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst,proto3" json:"use_original_dst,omitempty"`
   127  	// Soft limit on size of the listener’s new connection read and write buffers.
   128  	// If unspecified, an implementation defined default is applied (1MiB).
   129  	PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"`
   130  	// Listener metadata.
   131  	Metadata *core.Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
   132  	// [#not-implemented-hide:]
   133  	DeprecatedV1 *Listener_DeprecatedV1 `protobuf:"bytes,7,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
   134  	// The type of draining to perform at a listener-wide level.
   135  	DrainType Listener_DrainType `protobuf:"varint,8,opt,name=drain_type,json=drainType,proto3,enum=envoy.api.v2.Listener_DrainType" json:"drain_type,omitempty"`
   136  	// Listener filters have the opportunity to manipulate and augment the connection metadata that
   137  	// is used in connection filter chain matching, for example. These filters are run before any in
   138  	// :ref:`filter_chains <envoy_api_field_Listener.filter_chains>`. Order matters as the
   139  	// filters are processed sequentially right after a socket has been accepted by the listener, and
   140  	// before a connection is created.
   141  	// UDP Listener filters can be specified when the protocol in the listener socket address in
   142  	// :ref:`protocol <envoy_api_field_core.SocketAddress.protocol>` is :ref:`UDP
   143  	// <envoy_api_enum_value_core.SocketAddress.Protocol.UDP>`.
   144  	// UDP listeners currently support a single filter.
   145  	ListenerFilters []*listener.ListenerFilter `protobuf:"bytes,9,rep,name=listener_filters,json=listenerFilters,proto3" json:"listener_filters,omitempty"`
   146  	// The timeout to wait for all listener filters to complete operation. If the timeout is reached,
   147  	// the accepted socket is closed without a connection being created unless
   148  	// `continue_on_listener_filters_timeout` is set to true. Specify 0 to disable the
   149  	// timeout. If not specified, a default timeout of 15s is used.
   150  	ListenerFiltersTimeout *duration.Duration `protobuf:"bytes,15,opt,name=listener_filters_timeout,json=listenerFiltersTimeout,proto3" json:"listener_filters_timeout,omitempty"`
   151  	// Whether a connection should be created when listener filters timeout. Default is false.
   152  	//
   153  	// .. attention::
   154  	//
   155  	//   Some listener filters, such as :ref:`Proxy Protocol filter
   156  	//   <config_listener_filters_proxy_protocol>`, should not be used with this option. It will cause
   157  	//   unexpected behavior when a connection is created.
   158  	ContinueOnListenerFiltersTimeout bool `protobuf:"varint,17,opt,name=continue_on_listener_filters_timeout,json=continueOnListenerFiltersTimeout,proto3" json:"continue_on_listener_filters_timeout,omitempty"`
   159  	// Whether the listener should be set as a transparent socket.
   160  	// When this flag is set to true, connections can be redirected to the listener using an
   161  	// *iptables* *TPROXY* target, in which case the original source and destination addresses and
   162  	// ports are preserved on accepted connections. This flag should be used in combination with
   163  	// :ref:`an original_dst <config_listener_filters_original_dst>` :ref:`listener filter
   164  	// <envoy_api_field_Listener.listener_filters>` to mark the connections' local addresses as
   165  	// "restored." This can be used to hand off each redirected connection to another listener
   166  	// associated with the connection's destination address. Direct connections to the socket without
   167  	// using *TPROXY* cannot be distinguished from connections redirected using *TPROXY* and are
   168  	// therefore treated as if they were redirected.
   169  	// When this flag is set to false, the listener's socket is explicitly reset as non-transparent.
   170  	// Setting this flag requires Envoy to run with the *CAP_NET_ADMIN* capability.
   171  	// When this flag is not set (default), the socket is not modified, i.e. the transparent option
   172  	// is neither set nor reset.
   173  	Transparent *wrappers.BoolValue `protobuf:"bytes,10,opt,name=transparent,proto3" json:"transparent,omitempty"`
   174  	// Whether the listener should set the *IP_FREEBIND* socket option. When this
   175  	// flag is set to true, listeners can be bound to an IP address that is not
   176  	// configured on the system running Envoy. When this flag is set to false, the
   177  	// option *IP_FREEBIND* is disabled on the socket. When this flag is not set
   178  	// (default), the socket is not modified, i.e. the option is neither enabled
   179  	// nor disabled.
   180  	Freebind *wrappers.BoolValue `protobuf:"bytes,11,opt,name=freebind,proto3" json:"freebind,omitempty"`
   181  	// Additional socket options that may not be present in Envoy source code or
   182  	// precompiled binaries.
   183  	SocketOptions []*core.SocketOption `protobuf:"bytes,13,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
   184  	// Whether the listener should accept TCP Fast Open (TFO) connections.
   185  	// When this flag is set to a value greater than 0, the option TCP_FASTOPEN is enabled on
   186  	// the socket, with a queue length of the specified size
   187  	// (see `details in RFC7413 <https://tools.ietf.org/html/rfc7413#section-5.1>`_).
   188  	// When this flag is set to 0, the option TCP_FASTOPEN is disabled on the socket.
   189  	// When this flag is not set (default), the socket is not modified,
   190  	// i.e. the option is neither enabled nor disabled.
   191  	//
   192  	// On Linux, the net.ipv4.tcp_fastopen kernel parameter must include flag 0x2 to enable
   193  	// TCP_FASTOPEN.
   194  	// See `ip-sysctl.txt <https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt>`_.
   195  	//
   196  	// On macOS, only values of 0, 1, and unset are valid; other values may result in an error.
   197  	// To set the queue length on macOS, set the net.inet.tcp.fastopen_backlog kernel parameter.
   198  	TcpFastOpenQueueLength *wrappers.UInt32Value `protobuf:"bytes,12,opt,name=tcp_fast_open_queue_length,json=tcpFastOpenQueueLength,proto3" json:"tcp_fast_open_queue_length,omitempty"`
   199  	// Specifies the intended direction of the traffic relative to the local Envoy.
   200  	// This property is required on Windows for listeners using the original destination filter,
   201  	// see :ref:`Original Destination <config_listener_filters_original_dst>`.
   202  	TrafficDirection core.TrafficDirection `protobuf:"varint,16,opt,name=traffic_direction,json=trafficDirection,proto3,enum=envoy.api.v2.core.TrafficDirection" json:"traffic_direction,omitempty"`
   203  	// If the protocol in the listener socket address in :ref:`protocol
   204  	// <envoy_api_field_core.SocketAddress.protocol>` is :ref:`UDP
   205  	// <envoy_api_enum_value_core.SocketAddress.Protocol.UDP>`, this field specifies the actual udp
   206  	// listener to create, i.e. :ref:`udp_listener_name
   207  	// <envoy_api_field_listener.UdpListenerConfig.udp_listener_name>` = "raw_udp_listener" for
   208  	// creating a packet-oriented UDP listener. If not present, treat it as "raw_udp_listener".
   209  	UdpListenerConfig *listener.UdpListenerConfig `protobuf:"bytes,18,opt,name=udp_listener_config,json=udpListenerConfig,proto3" json:"udp_listener_config,omitempty"`
   210  	// Used to represent an API listener, which is used in non-proxy clients. The type of API
   211  	// exposed to the non-proxy application depends on the type of API listener.
   212  	// When this field is set, no other field except for :ref:`name<envoy_api_field_Listener.name>`
   213  	// should be set.
   214  	//
   215  	// .. note::
   216  	//
   217  	//  Currently only one ApiListener can be installed; and it can only be done via bootstrap config,
   218  	//  not LDS.
   219  	//
   220  	// [#next-major-version: In the v3 API, instead of this messy approach where the socket
   221  	// listener fields are directly in the top-level Listener message and the API listener types
   222  	// are in the ApiListener message, the socket listener messages should be in their own message,
   223  	// and the top-level Listener should essentially be a oneof that selects between the
   224  	// socket listener and the various types of API listener. That way, a given Listener message
   225  	// can structurally only contain the fields of the relevant type.]
   226  	ApiListener *v2.ApiListener `protobuf:"bytes,19,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"`
   227  	// The listener's connection balancer configuration, currently only applicable to TCP listeners.
   228  	// If no configuration is specified, Envoy will not attempt to balance active connections between
   229  	// worker threads.
   230  	ConnectionBalanceConfig *Listener_ConnectionBalanceConfig `protobuf:"bytes,20,opt,name=connection_balance_config,json=connectionBalanceConfig,proto3" json:"connection_balance_config,omitempty"`
   231  	// When this flag is set to true, listeners set the *SO_REUSEPORT* socket option and
   232  	// create one socket for each worker thread. This makes inbound connections
   233  	// distribute among worker threads roughly evenly in cases where there are a high number
   234  	// of connections. When this flag is set to false, all worker threads share one socket.
   235  	//
   236  	// Before Linux v4.19-rc1, new TCP connections may be rejected during hot restart
   237  	// (see `3rd paragraph in 'soreuseport' commit message
   238  	// <https://github.com/torvalds/linux/commit/c617f398edd4db2b8567a28e89>`_).
   239  	// This issue was fixed by `tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket
   240  	// <https://github.com/torvalds/linux/commit/40a1227ea845a37ab197dd1caffb60b047fa36b1>`_.
   241  	ReusePort bool `protobuf:"varint,21,opt,name=reuse_port,json=reusePort,proto3" json:"reuse_port,omitempty"`
   242  	// Configuration for :ref:`access logs <arch_overview_access_logs>`
   243  	// emitted by this listener.
   244  	AccessLog []*v21.AccessLog `protobuf:"bytes,22,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
   245  }
   246  
   247  func (x *Listener) Reset() {
   248  	*x = Listener{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_envoy_api_v2_listener_proto_msgTypes[0]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *Listener) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*Listener) ProtoMessage() {}
   261  
   262  func (x *Listener) ProtoReflect() protoreflect.Message {
   263  	mi := &file_envoy_api_v2_listener_proto_msgTypes[0]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use Listener.ProtoReflect.Descriptor instead.
   275  func (*Listener) Descriptor() ([]byte, []int) {
   276  	return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0}
   277  }
   278  
   279  func (x *Listener) GetName() string {
   280  	if x != nil {
   281  		return x.Name
   282  	}
   283  	return ""
   284  }
   285  
   286  func (x *Listener) GetAddress() *core.Address {
   287  	if x != nil {
   288  		return x.Address
   289  	}
   290  	return nil
   291  }
   292  
   293  func (x *Listener) GetFilterChains() []*listener.FilterChain {
   294  	if x != nil {
   295  		return x.FilterChains
   296  	}
   297  	return nil
   298  }
   299  
   300  // Deprecated: Do not use.
   301  func (x *Listener) GetUseOriginalDst() *wrappers.BoolValue {
   302  	if x != nil {
   303  		return x.UseOriginalDst
   304  	}
   305  	return nil
   306  }
   307  
   308  func (x *Listener) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value {
   309  	if x != nil {
   310  		return x.PerConnectionBufferLimitBytes
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *Listener) GetMetadata() *core.Metadata {
   316  	if x != nil {
   317  		return x.Metadata
   318  	}
   319  	return nil
   320  }
   321  
   322  func (x *Listener) GetDeprecatedV1() *Listener_DeprecatedV1 {
   323  	if x != nil {
   324  		return x.DeprecatedV1
   325  	}
   326  	return nil
   327  }
   328  
   329  func (x *Listener) GetDrainType() Listener_DrainType {
   330  	if x != nil {
   331  		return x.DrainType
   332  	}
   333  	return Listener_DEFAULT
   334  }
   335  
   336  func (x *Listener) GetListenerFilters() []*listener.ListenerFilter {
   337  	if x != nil {
   338  		return x.ListenerFilters
   339  	}
   340  	return nil
   341  }
   342  
   343  func (x *Listener) GetListenerFiltersTimeout() *duration.Duration {
   344  	if x != nil {
   345  		return x.ListenerFiltersTimeout
   346  	}
   347  	return nil
   348  }
   349  
   350  func (x *Listener) GetContinueOnListenerFiltersTimeout() bool {
   351  	if x != nil {
   352  		return x.ContinueOnListenerFiltersTimeout
   353  	}
   354  	return false
   355  }
   356  
   357  func (x *Listener) GetTransparent() *wrappers.BoolValue {
   358  	if x != nil {
   359  		return x.Transparent
   360  	}
   361  	return nil
   362  }
   363  
   364  func (x *Listener) GetFreebind() *wrappers.BoolValue {
   365  	if x != nil {
   366  		return x.Freebind
   367  	}
   368  	return nil
   369  }
   370  
   371  func (x *Listener) GetSocketOptions() []*core.SocketOption {
   372  	if x != nil {
   373  		return x.SocketOptions
   374  	}
   375  	return nil
   376  }
   377  
   378  func (x *Listener) GetTcpFastOpenQueueLength() *wrappers.UInt32Value {
   379  	if x != nil {
   380  		return x.TcpFastOpenQueueLength
   381  	}
   382  	return nil
   383  }
   384  
   385  func (x *Listener) GetTrafficDirection() core.TrafficDirection {
   386  	if x != nil {
   387  		return x.TrafficDirection
   388  	}
   389  	return core.TrafficDirection_UNSPECIFIED
   390  }
   391  
   392  func (x *Listener) GetUdpListenerConfig() *listener.UdpListenerConfig {
   393  	if x != nil {
   394  		return x.UdpListenerConfig
   395  	}
   396  	return nil
   397  }
   398  
   399  func (x *Listener) GetApiListener() *v2.ApiListener {
   400  	if x != nil {
   401  		return x.ApiListener
   402  	}
   403  	return nil
   404  }
   405  
   406  func (x *Listener) GetConnectionBalanceConfig() *Listener_ConnectionBalanceConfig {
   407  	if x != nil {
   408  		return x.ConnectionBalanceConfig
   409  	}
   410  	return nil
   411  }
   412  
   413  func (x *Listener) GetReusePort() bool {
   414  	if x != nil {
   415  		return x.ReusePort
   416  	}
   417  	return false
   418  }
   419  
   420  func (x *Listener) GetAccessLog() []*v21.AccessLog {
   421  	if x != nil {
   422  		return x.AccessLog
   423  	}
   424  	return nil
   425  }
   426  
   427  // [#not-implemented-hide:]
   428  type Listener_DeprecatedV1 struct {
   429  	state         protoimpl.MessageState
   430  	sizeCache     protoimpl.SizeCache
   431  	unknownFields protoimpl.UnknownFields
   432  
   433  	// Whether the listener should bind to the port. A listener that doesn't
   434  	// bind can only receive connections redirected from other listeners that
   435  	// set use_original_dst parameter to true. Default is true.
   436  	//
   437  	// This is deprecated in v2, all Listeners will bind to their port. An
   438  	// additional filter chain must be created for every original destination
   439  	// port this listener may redirect to in v2, with the original port
   440  	// specified in the FilterChainMatch destination_port field.
   441  	//
   442  	// [#comment:TODO(PiotrSikora): Remove this once verified that we no longer need it.]
   443  	BindToPort *wrappers.BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"`
   444  }
   445  
   446  func (x *Listener_DeprecatedV1) Reset() {
   447  	*x = Listener_DeprecatedV1{}
   448  	if protoimpl.UnsafeEnabled {
   449  		mi := &file_envoy_api_v2_listener_proto_msgTypes[1]
   450  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   451  		ms.StoreMessageInfo(mi)
   452  	}
   453  }
   454  
   455  func (x *Listener_DeprecatedV1) String() string {
   456  	return protoimpl.X.MessageStringOf(x)
   457  }
   458  
   459  func (*Listener_DeprecatedV1) ProtoMessage() {}
   460  
   461  func (x *Listener_DeprecatedV1) ProtoReflect() protoreflect.Message {
   462  	mi := &file_envoy_api_v2_listener_proto_msgTypes[1]
   463  	if protoimpl.UnsafeEnabled && x != nil {
   464  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   465  		if ms.LoadMessageInfo() == nil {
   466  			ms.StoreMessageInfo(mi)
   467  		}
   468  		return ms
   469  	}
   470  	return mi.MessageOf(x)
   471  }
   472  
   473  // Deprecated: Use Listener_DeprecatedV1.ProtoReflect.Descriptor instead.
   474  func (*Listener_DeprecatedV1) Descriptor() ([]byte, []int) {
   475  	return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 0}
   476  }
   477  
   478  func (x *Listener_DeprecatedV1) GetBindToPort() *wrappers.BoolValue {
   479  	if x != nil {
   480  		return x.BindToPort
   481  	}
   482  	return nil
   483  }
   484  
   485  // Configuration for listener connection balancing.
   486  type Listener_ConnectionBalanceConfig struct {
   487  	state         protoimpl.MessageState
   488  	sizeCache     protoimpl.SizeCache
   489  	unknownFields protoimpl.UnknownFields
   490  
   491  	// Types that are assignable to BalanceType:
   492  	//	*Listener_ConnectionBalanceConfig_ExactBalance_
   493  	BalanceType isListener_ConnectionBalanceConfig_BalanceType `protobuf_oneof:"balance_type"`
   494  }
   495  
   496  func (x *Listener_ConnectionBalanceConfig) Reset() {
   497  	*x = Listener_ConnectionBalanceConfig{}
   498  	if protoimpl.UnsafeEnabled {
   499  		mi := &file_envoy_api_v2_listener_proto_msgTypes[2]
   500  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   501  		ms.StoreMessageInfo(mi)
   502  	}
   503  }
   504  
   505  func (x *Listener_ConnectionBalanceConfig) String() string {
   506  	return protoimpl.X.MessageStringOf(x)
   507  }
   508  
   509  func (*Listener_ConnectionBalanceConfig) ProtoMessage() {}
   510  
   511  func (x *Listener_ConnectionBalanceConfig) ProtoReflect() protoreflect.Message {
   512  	mi := &file_envoy_api_v2_listener_proto_msgTypes[2]
   513  	if protoimpl.UnsafeEnabled && x != nil {
   514  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   515  		if ms.LoadMessageInfo() == nil {
   516  			ms.StoreMessageInfo(mi)
   517  		}
   518  		return ms
   519  	}
   520  	return mi.MessageOf(x)
   521  }
   522  
   523  // Deprecated: Use Listener_ConnectionBalanceConfig.ProtoReflect.Descriptor instead.
   524  func (*Listener_ConnectionBalanceConfig) Descriptor() ([]byte, []int) {
   525  	return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 1}
   526  }
   527  
   528  func (m *Listener_ConnectionBalanceConfig) GetBalanceType() isListener_ConnectionBalanceConfig_BalanceType {
   529  	if m != nil {
   530  		return m.BalanceType
   531  	}
   532  	return nil
   533  }
   534  
   535  func (x *Listener_ConnectionBalanceConfig) GetExactBalance() *Listener_ConnectionBalanceConfig_ExactBalance {
   536  	if x, ok := x.GetBalanceType().(*Listener_ConnectionBalanceConfig_ExactBalance_); ok {
   537  		return x.ExactBalance
   538  	}
   539  	return nil
   540  }
   541  
   542  type isListener_ConnectionBalanceConfig_BalanceType interface {
   543  	isListener_ConnectionBalanceConfig_BalanceType()
   544  }
   545  
   546  type Listener_ConnectionBalanceConfig_ExactBalance_ struct {
   547  	// If specified, the listener will use the exact connection balancer.
   548  	ExactBalance *Listener_ConnectionBalanceConfig_ExactBalance `protobuf:"bytes,1,opt,name=exact_balance,json=exactBalance,proto3,oneof"`
   549  }
   550  
   551  func (*Listener_ConnectionBalanceConfig_ExactBalance_) isListener_ConnectionBalanceConfig_BalanceType() {
   552  }
   553  
   554  // A connection balancer implementation that does exact balancing. This means that a lock is
   555  // held during balancing so that connection counts are nearly exactly balanced between worker
   556  // threads. This is "nearly" exact in the sense that a connection might close in parallel thus
   557  // making the counts incorrect, but this should be rectified on the next accept. This balancer
   558  // sacrifices accept throughput for accuracy and should be used when there are a small number of
   559  // connections that rarely cycle (e.g., service mesh gRPC egress).
   560  type Listener_ConnectionBalanceConfig_ExactBalance struct {
   561  	state         protoimpl.MessageState
   562  	sizeCache     protoimpl.SizeCache
   563  	unknownFields protoimpl.UnknownFields
   564  }
   565  
   566  func (x *Listener_ConnectionBalanceConfig_ExactBalance) Reset() {
   567  	*x = Listener_ConnectionBalanceConfig_ExactBalance{}
   568  	if protoimpl.UnsafeEnabled {
   569  		mi := &file_envoy_api_v2_listener_proto_msgTypes[3]
   570  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   571  		ms.StoreMessageInfo(mi)
   572  	}
   573  }
   574  
   575  func (x *Listener_ConnectionBalanceConfig_ExactBalance) String() string {
   576  	return protoimpl.X.MessageStringOf(x)
   577  }
   578  
   579  func (*Listener_ConnectionBalanceConfig_ExactBalance) ProtoMessage() {}
   580  
   581  func (x *Listener_ConnectionBalanceConfig_ExactBalance) ProtoReflect() protoreflect.Message {
   582  	mi := &file_envoy_api_v2_listener_proto_msgTypes[3]
   583  	if protoimpl.UnsafeEnabled && x != nil {
   584  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   585  		if ms.LoadMessageInfo() == nil {
   586  			ms.StoreMessageInfo(mi)
   587  		}
   588  		return ms
   589  	}
   590  	return mi.MessageOf(x)
   591  }
   592  
   593  // Deprecated: Use Listener_ConnectionBalanceConfig_ExactBalance.ProtoReflect.Descriptor instead.
   594  func (*Listener_ConnectionBalanceConfig_ExactBalance) Descriptor() ([]byte, []int) {
   595  	return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 1, 0}
   596  }
   597  
   598  var File_envoy_api_v2_listener_proto protoreflect.FileDescriptor
   599  
   600  var file_envoy_api_v2_listener_proto_rawDesc = []byte{
   601  	0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c,
   602  	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65,
   603  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76,
   604  	0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61,
   605  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e,
   606  	0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f,
   607  	0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f,
   608  	0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f,
   609  	0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   610  	0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f,
   611  	0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
   612  	0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   613  	0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
   614  	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69,
   615  	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72,
   616  	0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
   617  	0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
   618  	0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
   619  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e,
   620  	0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f,
   621  	0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f,
   622  	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   623  	0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
   624  	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   625  	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   626  	0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   627  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   628  	0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   629  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   630  	0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69,
   631  	0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x0e, 0x0a, 0x08, 0x4c,
   632  	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
   633  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61,
   634  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65,
   635  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
   636  	0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
   637  	0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x66,
   638  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03,
   639  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
   640  	0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
   641  	0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68,
   642  	0x61, 0x69, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67,
   643  	0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
   644  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   645  	0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e,
   646  	0x75, 0x73, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x12, 0x66,
   647  	0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   648  	0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79,
   649  	0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   650  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
   651  	0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e,
   652  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69,
   653  	0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
   654  	0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   655  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74,
   656  	0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
   657  	0x48, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x31,
   658  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
   659  	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44,
   660  	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x52, 0x0c, 0x64, 0x65, 0x70,
   661  	0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x3f, 0x0a, 0x0a, 0x64, 0x72, 0x61,
   662  	0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e,
   663  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
   664  	0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52,
   665  	0x09, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x69,
   666  	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09,
   667  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
   668  	0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73,
   669  	0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6c, 0x69, 0x73,
   670  	0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x18,
   671  	0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
   672  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
   673  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   674  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x65,
   675  	0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
   676  	0x74, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6f, 0x6e,
   677  	0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
   678  	0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52,
   679  	0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x65,
   680  	0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
   681  	0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
   682  	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   683  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
   684  	0x75, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
   685  	0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
   686  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   687  	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66,
   688  	0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65,
   689  	0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
   690  	0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
   691  	0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
   692  	0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
   693  	0x58, 0x0a, 0x1a, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
   694  	0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0c, 0x20,
   695  	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   696  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
   697  	0x65, 0x52, 0x16, 0x74, 0x63, 0x70, 0x46, 0x61, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x75,
   698  	0x65, 0x75, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x11, 0x74, 0x72, 0x61,
   699  	0x66, 0x66, 0x69, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10,
   700  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
   701  	0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
   702  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66,
   703  	0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x75,
   704  	0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
   705  	0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   706  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
   707  	0x2e, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
   708  	0x69, 0x67, 0x52, 0x11, 0x75, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43,
   709  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73,
   710  	0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e,
   711  	0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65,
   712  	0x6e, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
   713  	0x65, 0x72, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12,
   714  	0x6a, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61,
   715  	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01,
   716  	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
   717  	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
   718  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
   719  	0x69, 0x67, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61,
   720  	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
   721  	0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52,
   722  	0x09, 0x72, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x63,
   723  	0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
   724  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69,
   725  	0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
   726  	0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63,
   727  	0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x1a, 0x4c, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63,
   728  	0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x74,
   729  	0x6f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
   730  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
   731  	0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f,
   732  	0x50, 0x6f, 0x72, 0x74, 0x1a, 0xa2, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
   733  	0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   734  	0x12, 0x62, 0x0a, 0x0d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
   735  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   736  	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e,
   737  	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
   738  	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c,
   739  	0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c,
   740  	0x61, 0x6e, 0x63, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c,
   741  	0x61, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f,
   742  	0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x72, 0x61,
   743  	0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
   744  	0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59, 0x5f, 0x4f, 0x4e,
   745  	0x4c, 0x59, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x42, 0x55, 0x0a, 0x1a, 0x69, 0x6f,
   746  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   747  	0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
   748  	0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12,
   749  	0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69,
   750  	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10,
   751  	0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   752  }
   753  
   754  var (
   755  	file_envoy_api_v2_listener_proto_rawDescOnce sync.Once
   756  	file_envoy_api_v2_listener_proto_rawDescData = file_envoy_api_v2_listener_proto_rawDesc
   757  )
   758  
   759  func file_envoy_api_v2_listener_proto_rawDescGZIP() []byte {
   760  	file_envoy_api_v2_listener_proto_rawDescOnce.Do(func() {
   761  		file_envoy_api_v2_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_proto_rawDescData)
   762  	})
   763  	return file_envoy_api_v2_listener_proto_rawDescData
   764  }
   765  
   766  var file_envoy_api_v2_listener_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   767  var file_envoy_api_v2_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   768  var file_envoy_api_v2_listener_proto_goTypes = []interface{}{
   769  	(Listener_DrainType)(0),                               // 0: envoy.api.v2.Listener.DrainType
   770  	(*Listener)(nil),                                      // 1: envoy.api.v2.Listener
   771  	(*Listener_DeprecatedV1)(nil),                         // 2: envoy.api.v2.Listener.DeprecatedV1
   772  	(*Listener_ConnectionBalanceConfig)(nil),              // 3: envoy.api.v2.Listener.ConnectionBalanceConfig
   773  	(*Listener_ConnectionBalanceConfig_ExactBalance)(nil), // 4: envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance
   774  	(*core.Address)(nil),                                  // 5: envoy.api.v2.core.Address
   775  	(*listener.FilterChain)(nil),                          // 6: envoy.api.v2.listener.FilterChain
   776  	(*wrappers.BoolValue)(nil),                            // 7: google.protobuf.BoolValue
   777  	(*wrappers.UInt32Value)(nil),                          // 8: google.protobuf.UInt32Value
   778  	(*core.Metadata)(nil),                                 // 9: envoy.api.v2.core.Metadata
   779  	(*listener.ListenerFilter)(nil),                       // 10: envoy.api.v2.listener.ListenerFilter
   780  	(*duration.Duration)(nil),                             // 11: google.protobuf.Duration
   781  	(*core.SocketOption)(nil),                             // 12: envoy.api.v2.core.SocketOption
   782  	(core.TrafficDirection)(0),                            // 13: envoy.api.v2.core.TrafficDirection
   783  	(*listener.UdpListenerConfig)(nil),                    // 14: envoy.api.v2.listener.UdpListenerConfig
   784  	(*v2.ApiListener)(nil),                                // 15: envoy.config.listener.v2.ApiListener
   785  	(*v21.AccessLog)(nil),                                 // 16: envoy.config.filter.accesslog.v2.AccessLog
   786  }
   787  var file_envoy_api_v2_listener_proto_depIdxs = []int32{
   788  	5,  // 0: envoy.api.v2.Listener.address:type_name -> envoy.api.v2.core.Address
   789  	6,  // 1: envoy.api.v2.Listener.filter_chains:type_name -> envoy.api.v2.listener.FilterChain
   790  	7,  // 2: envoy.api.v2.Listener.use_original_dst:type_name -> google.protobuf.BoolValue
   791  	8,  // 3: envoy.api.v2.Listener.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value
   792  	9,  // 4: envoy.api.v2.Listener.metadata:type_name -> envoy.api.v2.core.Metadata
   793  	2,  // 5: envoy.api.v2.Listener.deprecated_v1:type_name -> envoy.api.v2.Listener.DeprecatedV1
   794  	0,  // 6: envoy.api.v2.Listener.drain_type:type_name -> envoy.api.v2.Listener.DrainType
   795  	10, // 7: envoy.api.v2.Listener.listener_filters:type_name -> envoy.api.v2.listener.ListenerFilter
   796  	11, // 8: envoy.api.v2.Listener.listener_filters_timeout:type_name -> google.protobuf.Duration
   797  	7,  // 9: envoy.api.v2.Listener.transparent:type_name -> google.protobuf.BoolValue
   798  	7,  // 10: envoy.api.v2.Listener.freebind:type_name -> google.protobuf.BoolValue
   799  	12, // 11: envoy.api.v2.Listener.socket_options:type_name -> envoy.api.v2.core.SocketOption
   800  	8,  // 12: envoy.api.v2.Listener.tcp_fast_open_queue_length:type_name -> google.protobuf.UInt32Value
   801  	13, // 13: envoy.api.v2.Listener.traffic_direction:type_name -> envoy.api.v2.core.TrafficDirection
   802  	14, // 14: envoy.api.v2.Listener.udp_listener_config:type_name -> envoy.api.v2.listener.UdpListenerConfig
   803  	15, // 15: envoy.api.v2.Listener.api_listener:type_name -> envoy.config.listener.v2.ApiListener
   804  	3,  // 16: envoy.api.v2.Listener.connection_balance_config:type_name -> envoy.api.v2.Listener.ConnectionBalanceConfig
   805  	16, // 17: envoy.api.v2.Listener.access_log:type_name -> envoy.config.filter.accesslog.v2.AccessLog
   806  	7,  // 18: envoy.api.v2.Listener.DeprecatedV1.bind_to_port:type_name -> google.protobuf.BoolValue
   807  	4,  // 19: envoy.api.v2.Listener.ConnectionBalanceConfig.exact_balance:type_name -> envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance
   808  	20, // [20:20] is the sub-list for method output_type
   809  	20, // [20:20] is the sub-list for method input_type
   810  	20, // [20:20] is the sub-list for extension type_name
   811  	20, // [20:20] is the sub-list for extension extendee
   812  	0,  // [0:20] is the sub-list for field type_name
   813  }
   814  
   815  func init() { file_envoy_api_v2_listener_proto_init() }
   816  func file_envoy_api_v2_listener_proto_init() {
   817  	if File_envoy_api_v2_listener_proto != nil {
   818  		return
   819  	}
   820  	if !protoimpl.UnsafeEnabled {
   821  		file_envoy_api_v2_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   822  			switch v := v.(*Listener); i {
   823  			case 0:
   824  				return &v.state
   825  			case 1:
   826  				return &v.sizeCache
   827  			case 2:
   828  				return &v.unknownFields
   829  			default:
   830  				return nil
   831  			}
   832  		}
   833  		file_envoy_api_v2_listener_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   834  			switch v := v.(*Listener_DeprecatedV1); i {
   835  			case 0:
   836  				return &v.state
   837  			case 1:
   838  				return &v.sizeCache
   839  			case 2:
   840  				return &v.unknownFields
   841  			default:
   842  				return nil
   843  			}
   844  		}
   845  		file_envoy_api_v2_listener_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   846  			switch v := v.(*Listener_ConnectionBalanceConfig); i {
   847  			case 0:
   848  				return &v.state
   849  			case 1:
   850  				return &v.sizeCache
   851  			case 2:
   852  				return &v.unknownFields
   853  			default:
   854  				return nil
   855  			}
   856  		}
   857  		file_envoy_api_v2_listener_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   858  			switch v := v.(*Listener_ConnectionBalanceConfig_ExactBalance); i {
   859  			case 0:
   860  				return &v.state
   861  			case 1:
   862  				return &v.sizeCache
   863  			case 2:
   864  				return &v.unknownFields
   865  			default:
   866  				return nil
   867  			}
   868  		}
   869  	}
   870  	file_envoy_api_v2_listener_proto_msgTypes[2].OneofWrappers = []interface{}{
   871  		(*Listener_ConnectionBalanceConfig_ExactBalance_)(nil),
   872  	}
   873  	type x struct{}
   874  	out := protoimpl.TypeBuilder{
   875  		File: protoimpl.DescBuilder{
   876  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   877  			RawDescriptor: file_envoy_api_v2_listener_proto_rawDesc,
   878  			NumEnums:      1,
   879  			NumMessages:   4,
   880  			NumExtensions: 0,
   881  			NumServices:   0,
   882  		},
   883  		GoTypes:           file_envoy_api_v2_listener_proto_goTypes,
   884  		DependencyIndexes: file_envoy_api_v2_listener_proto_depIdxs,
   885  		EnumInfos:         file_envoy_api_v2_listener_proto_enumTypes,
   886  		MessageInfos:      file_envoy_api_v2_listener_proto_msgTypes,
   887  	}.Build()
   888  	File_envoy_api_v2_listener_proto = out.File
   889  	file_envoy_api_v2_listener_proto_rawDesc = nil
   890  	file_envoy_api_v2_listener_proto_goTypes = nil
   891  	file_envoy_api_v2_listener_proto_depIdxs = nil
   892  }