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 }