1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.19.1
5// source: envoy/api/v2/listener/listener_components.proto
6
7package envoy_api_v2_listener
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth"
12	core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
13	_type "github.com/envoyproxy/go-control-plane/envoy/type"
14	_ "github.com/envoyproxy/protoc-gen-validate/validate"
15	proto "github.com/golang/protobuf/proto"
16	any "github.com/golang/protobuf/ptypes/any"
17	_struct "github.com/golang/protobuf/ptypes/struct"
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
25const (
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.
34const _ = proto.ProtoPackageIsVersion4
35
36type FilterChainMatch_ConnectionSourceType int32
37
38const (
39	// Any connection source matches.
40	FilterChainMatch_ANY FilterChainMatch_ConnectionSourceType = 0
41	// Match a connection originating from the same host.
42	FilterChainMatch_LOCAL FilterChainMatch_ConnectionSourceType = 1
43	// Match a connection originating from a different host.
44	FilterChainMatch_EXTERNAL FilterChainMatch_ConnectionSourceType = 2
45)
46
47// Enum value maps for FilterChainMatch_ConnectionSourceType.
48var (
49	FilterChainMatch_ConnectionSourceType_name = map[int32]string{
50		0: "ANY",
51		1: "LOCAL",
52		2: "EXTERNAL",
53	}
54	FilterChainMatch_ConnectionSourceType_value = map[string]int32{
55		"ANY":      0,
56		"LOCAL":    1,
57		"EXTERNAL": 2,
58	}
59)
60
61func (x FilterChainMatch_ConnectionSourceType) Enum() *FilterChainMatch_ConnectionSourceType {
62	p := new(FilterChainMatch_ConnectionSourceType)
63	*p = x
64	return p
65}
66
67func (x FilterChainMatch_ConnectionSourceType) String() string {
68	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
69}
70
71func (FilterChainMatch_ConnectionSourceType) Descriptor() protoreflect.EnumDescriptor {
72	return file_envoy_api_v2_listener_listener_components_proto_enumTypes[0].Descriptor()
73}
74
75func (FilterChainMatch_ConnectionSourceType) Type() protoreflect.EnumType {
76	return &file_envoy_api_v2_listener_listener_components_proto_enumTypes[0]
77}
78
79func (x FilterChainMatch_ConnectionSourceType) Number() protoreflect.EnumNumber {
80	return protoreflect.EnumNumber(x)
81}
82
83// Deprecated: Use FilterChainMatch_ConnectionSourceType.Descriptor instead.
84func (FilterChainMatch_ConnectionSourceType) EnumDescriptor() ([]byte, []int) {
85	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{1, 0}
86}
87
88type Filter struct {
89	state         protoimpl.MessageState
90	sizeCache     protoimpl.SizeCache
91	unknownFields protoimpl.UnknownFields
92
93	// The name of the filter to instantiate. The name must match a
94	// :ref:`supported filter <config_network_filters>`.
95	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
96	// Filter specific configuration which depends on the filter being
97	// instantiated. See the supported filters for further documentation.
98	//
99	// Types that are assignable to ConfigType:
100	//	*Filter_Config
101	//	*Filter_TypedConfig
102	ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"`
103}
104
105func (x *Filter) Reset() {
106	*x = Filter{}
107	if protoimpl.UnsafeEnabled {
108		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[0]
109		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
110		ms.StoreMessageInfo(mi)
111	}
112}
113
114func (x *Filter) String() string {
115	return protoimpl.X.MessageStringOf(x)
116}
117
118func (*Filter) ProtoMessage() {}
119
120func (x *Filter) ProtoReflect() protoreflect.Message {
121	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[0]
122	if protoimpl.UnsafeEnabled && x != nil {
123		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
124		if ms.LoadMessageInfo() == nil {
125			ms.StoreMessageInfo(mi)
126		}
127		return ms
128	}
129	return mi.MessageOf(x)
130}
131
132// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
133func (*Filter) Descriptor() ([]byte, []int) {
134	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{0}
135}
136
137func (x *Filter) GetName() string {
138	if x != nil {
139		return x.Name
140	}
141	return ""
142}
143
144func (m *Filter) GetConfigType() isFilter_ConfigType {
145	if m != nil {
146		return m.ConfigType
147	}
148	return nil
149}
150
151// Deprecated: Do not use.
152func (x *Filter) GetConfig() *_struct.Struct {
153	if x, ok := x.GetConfigType().(*Filter_Config); ok {
154		return x.Config
155	}
156	return nil
157}
158
159func (x *Filter) GetTypedConfig() *any.Any {
160	if x, ok := x.GetConfigType().(*Filter_TypedConfig); ok {
161		return x.TypedConfig
162	}
163	return nil
164}
165
166type isFilter_ConfigType interface {
167	isFilter_ConfigType()
168}
169
170type Filter_Config struct {
171	// Deprecated: Do not use.
172	Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
173}
174
175type Filter_TypedConfig struct {
176	TypedConfig *any.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
177}
178
179func (*Filter_Config) isFilter_ConfigType() {}
180
181func (*Filter_TypedConfig) isFilter_ConfigType() {}
182
183// Specifies the match criteria for selecting a specific filter chain for a
184// listener.
185//
186// In order for a filter chain to be selected, *ALL* of its criteria must be
187// fulfilled by the incoming connection, properties of which are set by the
188// networking stack and/or listener filters.
189//
190// The following order applies:
191//
192// 1. Destination port.
193// 2. Destination IP address.
194// 3. Server name (e.g. SNI for TLS protocol),
195// 4. Transport protocol.
196// 5. Application protocols (e.g. ALPN for TLS protocol).
197// 6. Source type (e.g. any, local or external network).
198// 7. Source IP address.
199// 8. Source port.
200//
201// For criteria that allow ranges or wildcards, the most specific value in any
202// of the configured filter chains that matches the incoming connection is going
203// to be used (e.g. for SNI ``www.example.com`` the most specific match would be
204// ``www.example.com``, then ``*.example.com``, then ``*.com``, then any filter
205// chain without ``server_names`` requirements).
206//
207// [#comment: Implemented rules are kept in the preference order, with deprecated fields
208// listed at the end, because that's how we want to list them in the docs.
209//
210// [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules]
211// [#next-free-field: 13]
212type FilterChainMatch struct {
213	state         protoimpl.MessageState
214	sizeCache     protoimpl.SizeCache
215	unknownFields protoimpl.UnknownFields
216
217	// Optional destination port to consider when use_original_dst is set on the
218	// listener in determining a filter chain match.
219	DestinationPort *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
220	// If non-empty, an IP address and prefix length to match addresses when the
221	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
222	PrefixRanges []*core.CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges,proto3" json:"prefix_ranges,omitempty"`
223	// If non-empty, an IP address and suffix length to match addresses when the
224	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
225	// [#not-implemented-hide:]
226	AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"`
227	// [#not-implemented-hide:]
228	SuffixLen *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" json:"suffix_len,omitempty"`
229	// Specifies the connection source IP match type. Can be any, local or external network.
230	SourceType FilterChainMatch_ConnectionSourceType `protobuf:"varint,12,opt,name=source_type,json=sourceType,proto3,enum=envoy.api.v2.listener.FilterChainMatch_ConnectionSourceType" json:"source_type,omitempty"`
231	// The criteria is satisfied if the source IP address of the downstream
232	// connection is contained in at least one of the specified subnets. If the
233	// parameter is not specified or the list is empty, the source IP address is
234	// ignored.
235	SourcePrefixRanges []*core.CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"`
236	// The criteria is satisfied if the source port of the downstream connection
237	// is contained in at least one of the specified ports. If the parameter is
238	// not specified, the source port is ignored.
239	SourcePorts []uint32 `protobuf:"varint,7,rep,packed,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"`
240	// If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining
241	// a filter chain match. Those values will be compared against the server names of a new
242	// connection, when detected by one of the listener filters.
243	//
244	// The server name will be matched against all wildcard domains, i.e. ``www.example.com``
245	// will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``.
246	//
247	// Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid.
248	//
249	// .. attention::
250	//
251	//   See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
252	//   information.
253	ServerNames []string `protobuf:"bytes,11,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"`
254	// If non-empty, a transport protocol to consider when determining a filter chain match.
255	// This value will be compared against the transport protocol of a new connection, when
256	// it's detected by one of the listener filters.
257	//
258	// Suggested values include:
259	//
260	// * ``raw_buffer`` - default, used when no transport protocol is detected,
261	// * ``tls`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
262	//   when TLS protocol is detected.
263	TransportProtocol string `protobuf:"bytes,9,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
264	// If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when
265	// determining a filter chain match. Those values will be compared against the application
266	// protocols of a new connection, when detected by one of the listener filters.
267	//
268	// Suggested values include:
269	//
270	// * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector
271	//   <config_listener_filters_tls_inspector>`,
272	// * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
273	//
274	// .. attention::
275	//
276	//   Currently, only :ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides
277	//   application protocol detection based on the requested
278	//   `ALPN <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_ values.
279	//
280	//   However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet,
281	//   and matching on values other than ``h2`` is going to lead to a lot of false negatives,
282	//   unless all connecting clients are known to use ALPN.
283	ApplicationProtocols []string `protobuf:"bytes,10,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
284}
285
286func (x *FilterChainMatch) Reset() {
287	*x = FilterChainMatch{}
288	if protoimpl.UnsafeEnabled {
289		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[1]
290		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
291		ms.StoreMessageInfo(mi)
292	}
293}
294
295func (x *FilterChainMatch) String() string {
296	return protoimpl.X.MessageStringOf(x)
297}
298
299func (*FilterChainMatch) ProtoMessage() {}
300
301func (x *FilterChainMatch) ProtoReflect() protoreflect.Message {
302	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[1]
303	if protoimpl.UnsafeEnabled && x != nil {
304		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
305		if ms.LoadMessageInfo() == nil {
306			ms.StoreMessageInfo(mi)
307		}
308		return ms
309	}
310	return mi.MessageOf(x)
311}
312
313// Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead.
314func (*FilterChainMatch) Descriptor() ([]byte, []int) {
315	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{1}
316}
317
318func (x *FilterChainMatch) GetDestinationPort() *wrappers.UInt32Value {
319	if x != nil {
320		return x.DestinationPort
321	}
322	return nil
323}
324
325func (x *FilterChainMatch) GetPrefixRanges() []*core.CidrRange {
326	if x != nil {
327		return x.PrefixRanges
328	}
329	return nil
330}
331
332func (x *FilterChainMatch) GetAddressSuffix() string {
333	if x != nil {
334		return x.AddressSuffix
335	}
336	return ""
337}
338
339func (x *FilterChainMatch) GetSuffixLen() *wrappers.UInt32Value {
340	if x != nil {
341		return x.SuffixLen
342	}
343	return nil
344}
345
346func (x *FilterChainMatch) GetSourceType() FilterChainMatch_ConnectionSourceType {
347	if x != nil {
348		return x.SourceType
349	}
350	return FilterChainMatch_ANY
351}
352
353func (x *FilterChainMatch) GetSourcePrefixRanges() []*core.CidrRange {
354	if x != nil {
355		return x.SourcePrefixRanges
356	}
357	return nil
358}
359
360func (x *FilterChainMatch) GetSourcePorts() []uint32 {
361	if x != nil {
362		return x.SourcePorts
363	}
364	return nil
365}
366
367func (x *FilterChainMatch) GetServerNames() []string {
368	if x != nil {
369		return x.ServerNames
370	}
371	return nil
372}
373
374func (x *FilterChainMatch) GetTransportProtocol() string {
375	if x != nil {
376		return x.TransportProtocol
377	}
378	return ""
379}
380
381func (x *FilterChainMatch) GetApplicationProtocols() []string {
382	if x != nil {
383		return x.ApplicationProtocols
384	}
385	return nil
386}
387
388// A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
389// various other parameters.
390// [#next-free-field: 8]
391type FilterChain struct {
392	state         protoimpl.MessageState
393	sizeCache     protoimpl.SizeCache
394	unknownFields protoimpl.UnknownFields
395
396	// The criteria to use when matching a connection to this filter chain.
397	FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch,proto3" json:"filter_chain_match,omitempty"`
398	// The TLS context for this filter chain.
399	//
400	// .. attention::
401	//
402	//   **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
403	//   set, `transport_socket` takes priority.
404	//
405	// Deprecated: Do not use.
406	TlsContext *auth.DownstreamTlsContext `protobuf:"bytes,2,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"`
407	// A list of individual network filters that make up the filter chain for
408	// connections established with the listener. Order matters as the filters are
409	// processed sequentially as connection events happen. Note: If the filter
410	// list is empty, the connection will close by default.
411	Filters []*Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"`
412	// Whether the listener should expect a PROXY protocol V1 header on new
413	// connections. If this option is enabled, the listener will assume that that
414	// remote address of the connection is the one specified in the header. Some
415	// load balancers including the AWS ELB support this option. If the option is
416	// absent or set to false, Envoy will use the physical peer address of the
417	// connection as the remote address.
418	UseProxyProto *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"`
419	// [#not-implemented-hide:] filter chain metadata.
420	Metadata *core.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
421	// Optional custom transport socket implementation to use for downstream connections.
422	// To setup TLS, set a transport socket with name `tls` and
423	// :ref:`DownstreamTlsContext <envoy_api_msg_auth.DownstreamTlsContext>` in the `typed_config`.
424	// If no transport socket configuration is specified, new connections
425	// will be set up with plaintext.
426	TransportSocket *core.TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
427	// [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no
428	// name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter
429	// chain is to be dynamically updated or removed via FCDS a unique name must be provided.
430	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
431}
432
433func (x *FilterChain) Reset() {
434	*x = FilterChain{}
435	if protoimpl.UnsafeEnabled {
436		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[2]
437		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
438		ms.StoreMessageInfo(mi)
439	}
440}
441
442func (x *FilterChain) String() string {
443	return protoimpl.X.MessageStringOf(x)
444}
445
446func (*FilterChain) ProtoMessage() {}
447
448func (x *FilterChain) ProtoReflect() protoreflect.Message {
449	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[2]
450	if protoimpl.UnsafeEnabled && x != nil {
451		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
452		if ms.LoadMessageInfo() == nil {
453			ms.StoreMessageInfo(mi)
454		}
455		return ms
456	}
457	return mi.MessageOf(x)
458}
459
460// Deprecated: Use FilterChain.ProtoReflect.Descriptor instead.
461func (*FilterChain) Descriptor() ([]byte, []int) {
462	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{2}
463}
464
465func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch {
466	if x != nil {
467		return x.FilterChainMatch
468	}
469	return nil
470}
471
472// Deprecated: Do not use.
473func (x *FilterChain) GetTlsContext() *auth.DownstreamTlsContext {
474	if x != nil {
475		return x.TlsContext
476	}
477	return nil
478}
479
480func (x *FilterChain) GetFilters() []*Filter {
481	if x != nil {
482		return x.Filters
483	}
484	return nil
485}
486
487func (x *FilterChain) GetUseProxyProto() *wrappers.BoolValue {
488	if x != nil {
489		return x.UseProxyProto
490	}
491	return nil
492}
493
494func (x *FilterChain) GetMetadata() *core.Metadata {
495	if x != nil {
496		return x.Metadata
497	}
498	return nil
499}
500
501func (x *FilterChain) GetTransportSocket() *core.TransportSocket {
502	if x != nil {
503		return x.TransportSocket
504	}
505	return nil
506}
507
508func (x *FilterChain) GetName() string {
509	if x != nil {
510		return x.Name
511	}
512	return ""
513}
514
515// Listener filter chain match configuration. This is a recursive structure which allows complex
516// nested match configurations to be built using various logical operators.
517//
518// Examples:
519//
520// * Matches if the destination port is 3306.
521//
522// .. code-block:: yaml
523//
524//  destination_port_range:
525//   start: 3306
526//   end: 3307
527//
528// * Matches if the destination port is 3306 or 15000.
529//
530// .. code-block:: yaml
531//
532//  or_match:
533//    rules:
534//      - destination_port_range:
535//          start: 3306
536//          end: 3307
537//      - destination_port_range:
538//          start: 15000
539//          end: 15001
540//
541// [#next-free-field: 6]
542type ListenerFilterChainMatchPredicate struct {
543	state         protoimpl.MessageState
544	sizeCache     protoimpl.SizeCache
545	unknownFields protoimpl.UnknownFields
546
547	// Types that are assignable to Rule:
548	//	*ListenerFilterChainMatchPredicate_OrMatch
549	//	*ListenerFilterChainMatchPredicate_AndMatch
550	//	*ListenerFilterChainMatchPredicate_NotMatch
551	//	*ListenerFilterChainMatchPredicate_AnyMatch
552	//	*ListenerFilterChainMatchPredicate_DestinationPortRange
553	Rule isListenerFilterChainMatchPredicate_Rule `protobuf_oneof:"rule"`
554}
555
556func (x *ListenerFilterChainMatchPredicate) Reset() {
557	*x = ListenerFilterChainMatchPredicate{}
558	if protoimpl.UnsafeEnabled {
559		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[3]
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		ms.StoreMessageInfo(mi)
562	}
563}
564
565func (x *ListenerFilterChainMatchPredicate) String() string {
566	return protoimpl.X.MessageStringOf(x)
567}
568
569func (*ListenerFilterChainMatchPredicate) ProtoMessage() {}
570
571func (x *ListenerFilterChainMatchPredicate) ProtoReflect() protoreflect.Message {
572	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[3]
573	if protoimpl.UnsafeEnabled && x != nil {
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		if ms.LoadMessageInfo() == nil {
576			ms.StoreMessageInfo(mi)
577		}
578		return ms
579	}
580	return mi.MessageOf(x)
581}
582
583// Deprecated: Use ListenerFilterChainMatchPredicate.ProtoReflect.Descriptor instead.
584func (*ListenerFilterChainMatchPredicate) Descriptor() ([]byte, []int) {
585	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{3}
586}
587
588func (m *ListenerFilterChainMatchPredicate) GetRule() isListenerFilterChainMatchPredicate_Rule {
589	if m != nil {
590		return m.Rule
591	}
592	return nil
593}
594
595func (x *ListenerFilterChainMatchPredicate) GetOrMatch() *ListenerFilterChainMatchPredicate_MatchSet {
596	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_OrMatch); ok {
597		return x.OrMatch
598	}
599	return nil
600}
601
602func (x *ListenerFilterChainMatchPredicate) GetAndMatch() *ListenerFilterChainMatchPredicate_MatchSet {
603	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AndMatch); ok {
604		return x.AndMatch
605	}
606	return nil
607}
608
609func (x *ListenerFilterChainMatchPredicate) GetNotMatch() *ListenerFilterChainMatchPredicate {
610	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_NotMatch); ok {
611		return x.NotMatch
612	}
613	return nil
614}
615
616func (x *ListenerFilterChainMatchPredicate) GetAnyMatch() bool {
617	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AnyMatch); ok {
618		return x.AnyMatch
619	}
620	return false
621}
622
623func (x *ListenerFilterChainMatchPredicate) GetDestinationPortRange() *_type.Int32Range {
624	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_DestinationPortRange); ok {
625		return x.DestinationPortRange
626	}
627	return nil
628}
629
630type isListenerFilterChainMatchPredicate_Rule interface {
631	isListenerFilterChainMatchPredicate_Rule()
632}
633
634type ListenerFilterChainMatchPredicate_OrMatch struct {
635	// A set that describes a logical OR. If any member of the set matches, the match configuration
636	// matches.
637	OrMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"`
638}
639
640type ListenerFilterChainMatchPredicate_AndMatch struct {
641	// A set that describes a logical AND. If all members of the set match, the match configuration
642	// matches.
643	AndMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"`
644}
645
646type ListenerFilterChainMatchPredicate_NotMatch struct {
647	// A negation match. The match configuration will match if the negated match condition matches.
648	NotMatch *ListenerFilterChainMatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"`
649}
650
651type ListenerFilterChainMatchPredicate_AnyMatch struct {
652	// The match configuration will always match.
653	AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"`
654}
655
656type ListenerFilterChainMatchPredicate_DestinationPortRange struct {
657	// Match destination port. Particularly, the match evaluation must use the recovered local port if
658	// the owning listener filter is after :ref:`an original_dst listener filter <config_listener_filters_original_dst>`.
659	DestinationPortRange *_type.Int32Range `protobuf:"bytes,5,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"`
660}
661
662func (*ListenerFilterChainMatchPredicate_OrMatch) isListenerFilterChainMatchPredicate_Rule() {}
663
664func (*ListenerFilterChainMatchPredicate_AndMatch) isListenerFilterChainMatchPredicate_Rule() {}
665
666func (*ListenerFilterChainMatchPredicate_NotMatch) isListenerFilterChainMatchPredicate_Rule() {}
667
668func (*ListenerFilterChainMatchPredicate_AnyMatch) isListenerFilterChainMatchPredicate_Rule() {}
669
670func (*ListenerFilterChainMatchPredicate_DestinationPortRange) isListenerFilterChainMatchPredicate_Rule() {
671}
672
673type ListenerFilter struct {
674	state         protoimpl.MessageState
675	sizeCache     protoimpl.SizeCache
676	unknownFields protoimpl.UnknownFields
677
678	// The name of the filter to instantiate. The name must match a
679	// :ref:`supported filter <config_listener_filters>`.
680	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
681	// Filter specific configuration which depends on the filter being instantiated.
682	// See the supported filters for further documentation.
683	//
684	// Types that are assignable to ConfigType:
685	//	*ListenerFilter_Config
686	//	*ListenerFilter_TypedConfig
687	ConfigType isListenerFilter_ConfigType `protobuf_oneof:"config_type"`
688	// Optional match predicate used to disable the filter. The filter is enabled when this field is empty.
689	// See :ref:`ListenerFilterChainMatchPredicate <envoy_api_msg_listener.ListenerFilterChainMatchPredicate>`
690	// for further examples.
691	FilterDisabled *ListenerFilterChainMatchPredicate `protobuf:"bytes,4,opt,name=filter_disabled,json=filterDisabled,proto3" json:"filter_disabled,omitempty"`
692}
693
694func (x *ListenerFilter) Reset() {
695	*x = ListenerFilter{}
696	if protoimpl.UnsafeEnabled {
697		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[4]
698		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
699		ms.StoreMessageInfo(mi)
700	}
701}
702
703func (x *ListenerFilter) String() string {
704	return protoimpl.X.MessageStringOf(x)
705}
706
707func (*ListenerFilter) ProtoMessage() {}
708
709func (x *ListenerFilter) ProtoReflect() protoreflect.Message {
710	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[4]
711	if protoimpl.UnsafeEnabled && x != nil {
712		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
713		if ms.LoadMessageInfo() == nil {
714			ms.StoreMessageInfo(mi)
715		}
716		return ms
717	}
718	return mi.MessageOf(x)
719}
720
721// Deprecated: Use ListenerFilter.ProtoReflect.Descriptor instead.
722func (*ListenerFilter) Descriptor() ([]byte, []int) {
723	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{4}
724}
725
726func (x *ListenerFilter) GetName() string {
727	if x != nil {
728		return x.Name
729	}
730	return ""
731}
732
733func (m *ListenerFilter) GetConfigType() isListenerFilter_ConfigType {
734	if m != nil {
735		return m.ConfigType
736	}
737	return nil
738}
739
740// Deprecated: Do not use.
741func (x *ListenerFilter) GetConfig() *_struct.Struct {
742	if x, ok := x.GetConfigType().(*ListenerFilter_Config); ok {
743		return x.Config
744	}
745	return nil
746}
747
748func (x *ListenerFilter) GetTypedConfig() *any.Any {
749	if x, ok := x.GetConfigType().(*ListenerFilter_TypedConfig); ok {
750		return x.TypedConfig
751	}
752	return nil
753}
754
755func (x *ListenerFilter) GetFilterDisabled() *ListenerFilterChainMatchPredicate {
756	if x != nil {
757		return x.FilterDisabled
758	}
759	return nil
760}
761
762type isListenerFilter_ConfigType interface {
763	isListenerFilter_ConfigType()
764}
765
766type ListenerFilter_Config struct {
767	// Deprecated: Do not use.
768	Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
769}
770
771type ListenerFilter_TypedConfig struct {
772	TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
773}
774
775func (*ListenerFilter_Config) isListenerFilter_ConfigType() {}
776
777func (*ListenerFilter_TypedConfig) isListenerFilter_ConfigType() {}
778
779// A set of match configurations used for logical operations.
780type ListenerFilterChainMatchPredicate_MatchSet struct {
781	state         protoimpl.MessageState
782	sizeCache     protoimpl.SizeCache
783	unknownFields protoimpl.UnknownFields
784
785	// The list of rules that make up the set.
786	Rules []*ListenerFilterChainMatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
787}
788
789func (x *ListenerFilterChainMatchPredicate_MatchSet) Reset() {
790	*x = ListenerFilterChainMatchPredicate_MatchSet{}
791	if protoimpl.UnsafeEnabled {
792		mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[5]
793		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
794		ms.StoreMessageInfo(mi)
795	}
796}
797
798func (x *ListenerFilterChainMatchPredicate_MatchSet) String() string {
799	return protoimpl.X.MessageStringOf(x)
800}
801
802func (*ListenerFilterChainMatchPredicate_MatchSet) ProtoMessage() {}
803
804func (x *ListenerFilterChainMatchPredicate_MatchSet) ProtoReflect() protoreflect.Message {
805	mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[5]
806	if protoimpl.UnsafeEnabled && x != nil {
807		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
808		if ms.LoadMessageInfo() == nil {
809			ms.StoreMessageInfo(mi)
810		}
811		return ms
812	}
813	return mi.MessageOf(x)
814}
815
816// Deprecated: Use ListenerFilterChainMatchPredicate_MatchSet.ProtoReflect.Descriptor instead.
817func (*ListenerFilterChainMatchPredicate_MatchSet) Descriptor() ([]byte, []int) {
818	return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{3, 0}
819}
820
821func (x *ListenerFilterChainMatchPredicate_MatchSet) GetRules() []*ListenerFilterChainMatchPredicate {
822	if x != nil {
823		return x.Rules
824	}
825	return nil
826}
827
828var File_envoy_api_v2_listener_listener_components_proto protoreflect.FileDescriptor
829
830var file_envoy_api_v2_listener_listener_components_proto_rawDesc = []byte{
831	0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c,
832	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
833	0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
834	0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
835	0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
836	0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6c, 0x73, 0x2e,
837	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69,
838	0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
839	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70,
840	0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70,
841	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65,
842	0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
843	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e,
844	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
845	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e,
846	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
847	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e,
848	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
849	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
850	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
851	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
852	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
853	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01,
854	0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
855	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52,
856	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
857	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
858	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02,
859	0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c,
860	0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01,
861	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
862	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65,
863	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69,
864	0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xe1, 0x05, 0x0a,
865	0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63,
866	0x68, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
867	0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
868	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
869	0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06,
870	0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
871	0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69,
872	0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
873	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
874	0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x70, 0x72,
875	0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64,
876	0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01,
877	0x28, 0x09, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69,
878	0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18,
879	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
880	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
881	0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x67,
882	0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20,
883	0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
884	0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74,
885	0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e,
886	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
887	0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75,
888	0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63,
889	0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18,
890	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
891	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61,
892	0x6e, 0x67, 0x65, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69,
893	0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
894	0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x10, 0xfa,
895	0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52,
896	0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c,
897	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03,
898	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
899	0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f,
900	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61,
901	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33,
902	0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72,
903	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61,
904	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
905	0x6f, 0x6c, 0x73, 0x22, 0x55, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
906	0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41,
907	0x4e, 0x59, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x1a,
908	0x1b, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x15, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x50,
909	0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x12, 0x0c, 0x0a, 0x08,
910	0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02,
911	0x22, 0xcb, 0x03, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e,
912	0x12, 0x55, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e,
913	0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65,
914	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74,
915	0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e,
916	0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61,
917	0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63,
918	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65,
919	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68,
920	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f,
921	0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x6f,
922	0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
923	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
924	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46,
925	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42,
926	0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74,
927	0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
928	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
929	0x6c, 0x75, 0x65, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f,
930	0x74, 0x6f, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05,
931	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
932	0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
933	0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x74,
934	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18,
935	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
936	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
937	0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73,
938	0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
939	0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9,
940	0x04, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65,
941	0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69,
942	0x63, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
943	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
944	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c,
945	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61,
946	0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65,
947	0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d,
948	0x61, 0x74, 0x63, 0x68, 0x12, 0x60, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63,
949	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
950	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e,
951	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68,
952	0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74,
953	0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e,
954	0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x57, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
955	0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
956	0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
957	0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
958	0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63,
959	0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
960	0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01,
961	0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61,
962	0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69,
963	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67,
964	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
965	0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48,
966	0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
967	0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x64, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68,
968	0x53, 0x65, 0x74, 0x12, 0x58, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
969	0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
970	0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65,
971	0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61,
972	0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42,
973	0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0b, 0x0a,
974	0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x91, 0x02, 0x0a, 0x0e, 0x4c,
975	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a,
976	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
977	0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f,
978	0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
979	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
980	0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
981	0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
982	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
983	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52,
984	0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x0f,
985	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
986	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
987	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69,
988	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69,
989	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
990	0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42,
991	0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x9c,
992	0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
993	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69,
994	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
995	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
996	0x01, 0xaa, 0x02, 0x17, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32,
997	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x17, 0x45, 0x6e,
998	0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65,
999	0x6e, 0x65, 0x72, 0x4e, 0x53, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76,
1000	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
1001	0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70,
1002	0x72, 0x6f, 0x74, 0x6f, 0x33,
1003}
1004
1005var (
1006	file_envoy_api_v2_listener_listener_components_proto_rawDescOnce sync.Once
1007	file_envoy_api_v2_listener_listener_components_proto_rawDescData = file_envoy_api_v2_listener_listener_components_proto_rawDesc
1008)
1009
1010func file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP() []byte {
1011	file_envoy_api_v2_listener_listener_components_proto_rawDescOnce.Do(func() {
1012		file_envoy_api_v2_listener_listener_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_listener_components_proto_rawDescData)
1013	})
1014	return file_envoy_api_v2_listener_listener_components_proto_rawDescData
1015}
1016
1017var file_envoy_api_v2_listener_listener_components_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
1018var file_envoy_api_v2_listener_listener_components_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
1019var file_envoy_api_v2_listener_listener_components_proto_goTypes = []interface{}{
1020	(FilterChainMatch_ConnectionSourceType)(0), // 0: envoy.api.v2.listener.FilterChainMatch.ConnectionSourceType
1021	(*Filter)(nil),                                     // 1: envoy.api.v2.listener.Filter
1022	(*FilterChainMatch)(nil),                           // 2: envoy.api.v2.listener.FilterChainMatch
1023	(*FilterChain)(nil),                                // 3: envoy.api.v2.listener.FilterChain
1024	(*ListenerFilterChainMatchPredicate)(nil),          // 4: envoy.api.v2.listener.ListenerFilterChainMatchPredicate
1025	(*ListenerFilter)(nil),                             // 5: envoy.api.v2.listener.ListenerFilter
1026	(*ListenerFilterChainMatchPredicate_MatchSet)(nil), // 6: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet
1027	(*_struct.Struct)(nil),                             // 7: google.protobuf.Struct
1028	(*any.Any)(nil),                                    // 8: google.protobuf.Any
1029	(*wrappers.UInt32Value)(nil),                       // 9: google.protobuf.UInt32Value
1030	(*core.CidrRange)(nil),                             // 10: envoy.api.v2.core.CidrRange
1031	(*auth.DownstreamTlsContext)(nil),                  // 11: envoy.api.v2.auth.DownstreamTlsContext
1032	(*wrappers.BoolValue)(nil),                         // 12: google.protobuf.BoolValue
1033	(*core.Metadata)(nil),                              // 13: envoy.api.v2.core.Metadata
1034	(*core.TransportSocket)(nil),                       // 14: envoy.api.v2.core.TransportSocket
1035	(*_type.Int32Range)(nil),                           // 15: envoy.type.Int32Range
1036}
1037var file_envoy_api_v2_listener_listener_components_proto_depIdxs = []int32{
1038	7,  // 0: envoy.api.v2.listener.Filter.config:type_name -> google.protobuf.Struct
1039	8,  // 1: envoy.api.v2.listener.Filter.typed_config:type_name -> google.protobuf.Any
1040	9,  // 2: envoy.api.v2.listener.FilterChainMatch.destination_port:type_name -> google.protobuf.UInt32Value
1041	10, // 3: envoy.api.v2.listener.FilterChainMatch.prefix_ranges:type_name -> envoy.api.v2.core.CidrRange
1042	9,  // 4: envoy.api.v2.listener.FilterChainMatch.suffix_len:type_name -> google.protobuf.UInt32Value
1043	0,  // 5: envoy.api.v2.listener.FilterChainMatch.source_type:type_name -> envoy.api.v2.listener.FilterChainMatch.ConnectionSourceType
1044	10, // 6: envoy.api.v2.listener.FilterChainMatch.source_prefix_ranges:type_name -> envoy.api.v2.core.CidrRange
1045	2,  // 7: envoy.api.v2.listener.FilterChain.filter_chain_match:type_name -> envoy.api.v2.listener.FilterChainMatch
1046	11, // 8: envoy.api.v2.listener.FilterChain.tls_context:type_name -> envoy.api.v2.auth.DownstreamTlsContext
1047	1,  // 9: envoy.api.v2.listener.FilterChain.filters:type_name -> envoy.api.v2.listener.Filter
1048	12, // 10: envoy.api.v2.listener.FilterChain.use_proxy_proto:type_name -> google.protobuf.BoolValue
1049	13, // 11: envoy.api.v2.listener.FilterChain.metadata:type_name -> envoy.api.v2.core.Metadata
1050	14, // 12: envoy.api.v2.listener.FilterChain.transport_socket:type_name -> envoy.api.v2.core.TransportSocket
1051	6,  // 13: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.or_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet
1052	6,  // 14: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.and_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet
1053	4,  // 15: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.not_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate
1054	15, // 16: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.destination_port_range:type_name -> envoy.type.Int32Range
1055	7,  // 17: envoy.api.v2.listener.ListenerFilter.config:type_name -> google.protobuf.Struct
1056	8,  // 18: envoy.api.v2.listener.ListenerFilter.typed_config:type_name -> google.protobuf.Any
1057	4,  // 19: envoy.api.v2.listener.ListenerFilter.filter_disabled:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate
1058	4,  // 20: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet.rules:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate
1059	21, // [21:21] is the sub-list for method output_type
1060	21, // [21:21] is the sub-list for method input_type
1061	21, // [21:21] is the sub-list for extension type_name
1062	21, // [21:21] is the sub-list for extension extendee
1063	0,  // [0:21] is the sub-list for field type_name
1064}
1065
1066func init() { file_envoy_api_v2_listener_listener_components_proto_init() }
1067func file_envoy_api_v2_listener_listener_components_proto_init() {
1068	if File_envoy_api_v2_listener_listener_components_proto != nil {
1069		return
1070	}
1071	if !protoimpl.UnsafeEnabled {
1072		file_envoy_api_v2_listener_listener_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1073			switch v := v.(*Filter); i {
1074			case 0:
1075				return &v.state
1076			case 1:
1077				return &v.sizeCache
1078			case 2:
1079				return &v.unknownFields
1080			default:
1081				return nil
1082			}
1083		}
1084		file_envoy_api_v2_listener_listener_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1085			switch v := v.(*FilterChainMatch); i {
1086			case 0:
1087				return &v.state
1088			case 1:
1089				return &v.sizeCache
1090			case 2:
1091				return &v.unknownFields
1092			default:
1093				return nil
1094			}
1095		}
1096		file_envoy_api_v2_listener_listener_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1097			switch v := v.(*FilterChain); i {
1098			case 0:
1099				return &v.state
1100			case 1:
1101				return &v.sizeCache
1102			case 2:
1103				return &v.unknownFields
1104			default:
1105				return nil
1106			}
1107		}
1108		file_envoy_api_v2_listener_listener_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1109			switch v := v.(*ListenerFilterChainMatchPredicate); i {
1110			case 0:
1111				return &v.state
1112			case 1:
1113				return &v.sizeCache
1114			case 2:
1115				return &v.unknownFields
1116			default:
1117				return nil
1118			}
1119		}
1120		file_envoy_api_v2_listener_listener_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1121			switch v := v.(*ListenerFilter); i {
1122			case 0:
1123				return &v.state
1124			case 1:
1125				return &v.sizeCache
1126			case 2:
1127				return &v.unknownFields
1128			default:
1129				return nil
1130			}
1131		}
1132		file_envoy_api_v2_listener_listener_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1133			switch v := v.(*ListenerFilterChainMatchPredicate_MatchSet); i {
1134			case 0:
1135				return &v.state
1136			case 1:
1137				return &v.sizeCache
1138			case 2:
1139				return &v.unknownFields
1140			default:
1141				return nil
1142			}
1143		}
1144	}
1145	file_envoy_api_v2_listener_listener_components_proto_msgTypes[0].OneofWrappers = []interface{}{
1146		(*Filter_Config)(nil),
1147		(*Filter_TypedConfig)(nil),
1148	}
1149	file_envoy_api_v2_listener_listener_components_proto_msgTypes[3].OneofWrappers = []interface{}{
1150		(*ListenerFilterChainMatchPredicate_OrMatch)(nil),
1151		(*ListenerFilterChainMatchPredicate_AndMatch)(nil),
1152		(*ListenerFilterChainMatchPredicate_NotMatch)(nil),
1153		(*ListenerFilterChainMatchPredicate_AnyMatch)(nil),
1154		(*ListenerFilterChainMatchPredicate_DestinationPortRange)(nil),
1155	}
1156	file_envoy_api_v2_listener_listener_components_proto_msgTypes[4].OneofWrappers = []interface{}{
1157		(*ListenerFilter_Config)(nil),
1158		(*ListenerFilter_TypedConfig)(nil),
1159	}
1160	type x struct{}
1161	out := protoimpl.TypeBuilder{
1162		File: protoimpl.DescBuilder{
1163			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1164			RawDescriptor: file_envoy_api_v2_listener_listener_components_proto_rawDesc,
1165			NumEnums:      1,
1166			NumMessages:   6,
1167			NumExtensions: 0,
1168			NumServices:   0,
1169		},
1170		GoTypes:           file_envoy_api_v2_listener_listener_components_proto_goTypes,
1171		DependencyIndexes: file_envoy_api_v2_listener_listener_components_proto_depIdxs,
1172		EnumInfos:         file_envoy_api_v2_listener_listener_components_proto_enumTypes,
1173		MessageInfos:      file_envoy_api_v2_listener_listener_components_proto_msgTypes,
1174	}.Build()
1175	File_envoy_api_v2_listener_listener_components_proto = out.File
1176	file_envoy_api_v2_listener_listener_components_proto_rawDesc = nil
1177	file_envoy_api_v2_listener_listener_components_proto_goTypes = nil
1178	file_envoy_api_v2_listener_listener_components_proto_depIdxs = nil
1179}
1180