networkv3

package
v1.36.11-2026011520535... Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const DynamicMetadataInput_PathSegment_Key_case case_DynamicMetadataInput_PathSegment_Segment = 1
View Source
const DynamicMetadataInput_PathSegment_Segment_not_set_case case_DynamicMetadataInput_PathSegment_Segment = 0

Variables

View Source
var File_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ApplicationProtocolInput

type ApplicationProtocolInput struct {
	// contains filtered or unexported fields
}

List of quoted and comma-separated requested application protocols. The list consists of a single negotiated application protocol once the network stream is established.

Examples:

* “'h2','http/1.1'“ * “'h2c'“

Suggested values in the list include:

  • “http/1.1“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` and :ref:`envoy.filters.listener.http_inspector <config_listener_filters_http_inspector>`,
  • “h2“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
  • “h2c“ - set by :ref:`envoy.filters.listener.http_inspector <config_listener_filters_http_inspector>`

.. attention::

Currently, :ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides
application protocol detection based on the requested
`ALPN <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_ values.

However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet,
and matching on values other than ``h2`` is going to lead to a lot of false negatives,
unless all connecting clients are known to use ALPN.

[#extension: envoy.matching.inputs.application_protocol]

func (*ApplicationProtocolInput) ProtoMessage

func (*ApplicationProtocolInput) ProtoMessage()

func (*ApplicationProtocolInput) ProtoReflect

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

func (*ApplicationProtocolInput) Reset

func (x *ApplicationProtocolInput) Reset()

func (*ApplicationProtocolInput) String

func (x *ApplicationProtocolInput) String() string

type ApplicationProtocolInput_builder

type ApplicationProtocolInput_builder struct {
	// contains filtered or unexported fields
}

func (ApplicationProtocolInput_builder) Build

type DestinationIPInput

type DestinationIPInput struct {
	// contains filtered or unexported fields
}

Specifies that matching should be performed by the destination IP address. [#extension: envoy.matching.inputs.destination_ip]

func (*DestinationIPInput) ProtoMessage

func (*DestinationIPInput) ProtoMessage()

func (*DestinationIPInput) ProtoReflect

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

func (*DestinationIPInput) Reset

func (x *DestinationIPInput) Reset()

func (*DestinationIPInput) String

func (x *DestinationIPInput) String() string

type DestinationIPInput_builder

type DestinationIPInput_builder struct {
	// contains filtered or unexported fields
}

func (DestinationIPInput_builder) Build

type DestinationPortInput

type DestinationPortInput struct {
	// contains filtered or unexported fields
}

Specifies that matching should be performed by the destination port. [#extension: envoy.matching.inputs.destination_port]

func (*DestinationPortInput) ProtoMessage

func (*DestinationPortInput) ProtoMessage()

func (*DestinationPortInput) ProtoReflect

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

func (*DestinationPortInput) Reset

func (x *DestinationPortInput) Reset()

func (*DestinationPortInput) String

func (x *DestinationPortInput) String() string

type DestinationPortInput_builder

type DestinationPortInput_builder struct {
	// contains filtered or unexported fields
}

func (DestinationPortInput_builder) Build

type DirectSourceIPInput

type DirectSourceIPInput struct {
	// contains filtered or unexported fields
}

Input that matches by the directly connected source IP address (this will only be different from the source IP address when using a listener filter that overrides the source address, such as the :ref:`Proxy Protocol listener filter <config_listener_filters_proxy_protocol>`). [#extension: envoy.matching.inputs.direct_source_ip]

func (*DirectSourceIPInput) ProtoMessage

func (*DirectSourceIPInput) ProtoMessage()

func (*DirectSourceIPInput) ProtoReflect

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

func (*DirectSourceIPInput) Reset

func (x *DirectSourceIPInput) Reset()

func (*DirectSourceIPInput) String

func (x *DirectSourceIPInput) String() string

type DirectSourceIPInput_builder

type DirectSourceIPInput_builder struct {
	// contains filtered or unexported fields
}

func (DirectSourceIPInput_builder) Build

type DynamicMetadataInput

type DynamicMetadataInput struct {

	// The filter name to retrieve the Struct from the Metadata.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// The path to retrieve the Value from the Struct.
	Path []*DynamicMetadataInput_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

Input that matches dynamic metadata by key. DynamicMetadataInput provides a general interface using “filter“ and “path“ to retrieve value from :ref:`Metadata <envoy_v3_api_msg_config.core.v3.Metadata>`.

For example, for the following Metadata:

.. code-block:: yaml

filter_metadata:
  envoy.xxx:
    prop:
      foo: bar
      xyz:
        hello: envoy

The following DynamicMetadataInput will retrieve a string value "bar" from the Metadata.

.. code-block:: yaml

filter: envoy.xxx
path:
- key: prop
- key: foo

[#extension: envoy.matching.inputs.dynamic_metadata]

func (*DynamicMetadataInput) GetFilter

func (x *DynamicMetadataInput) GetFilter() string

func (*DynamicMetadataInput) GetPath

func (*DynamicMetadataInput) ProtoMessage

func (*DynamicMetadataInput) ProtoMessage()

func (*DynamicMetadataInput) ProtoReflect

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

func (*DynamicMetadataInput) Reset

func (x *DynamicMetadataInput) Reset()

func (*DynamicMetadataInput) SetFilter

func (x *DynamicMetadataInput) SetFilter(v string)

func (*DynamicMetadataInput) SetPath

func (*DynamicMetadataInput) String

func (x *DynamicMetadataInput) String() string

type DynamicMetadataInput_PathSegment

type DynamicMetadataInput_PathSegment struct {

	// Types that are valid to be assigned to Segment:
	//
	//	*DynamicMetadataInput_PathSegment_Key
	Segment isDynamicMetadataInput_PathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

Specifies the segment in a path to retrieve value from Metadata. Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that if the segment key refers to a list, it has to be the last segment in a path.

func (*DynamicMetadataInput_PathSegment) ClearKey

func (x *DynamicMetadataInput_PathSegment) ClearKey()

func (*DynamicMetadataInput_PathSegment) ClearSegment

func (x *DynamicMetadataInput_PathSegment) ClearSegment()

func (*DynamicMetadataInput_PathSegment) GetKey

func (*DynamicMetadataInput_PathSegment) GetSegment

func (x *DynamicMetadataInput_PathSegment) GetSegment() isDynamicMetadataInput_PathSegment_Segment

func (*DynamicMetadataInput_PathSegment) HasKey

func (*DynamicMetadataInput_PathSegment) HasSegment

func (x *DynamicMetadataInput_PathSegment) HasSegment() bool

func (*DynamicMetadataInput_PathSegment) ProtoMessage

func (*DynamicMetadataInput_PathSegment) ProtoMessage()

func (*DynamicMetadataInput_PathSegment) ProtoReflect

func (*DynamicMetadataInput_PathSegment) Reset

func (*DynamicMetadataInput_PathSegment) SetKey

func (*DynamicMetadataInput_PathSegment) String

func (*DynamicMetadataInput_PathSegment) WhichSegment

func (x *DynamicMetadataInput_PathSegment) WhichSegment() case_DynamicMetadataInput_PathSegment_Segment

type DynamicMetadataInput_PathSegment_Key

type DynamicMetadataInput_PathSegment_Key struct {
	// If specified, use the key to retrieve the value in a Struct.
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type DynamicMetadataInput_PathSegment_builder

type DynamicMetadataInput_PathSegment_builder struct {

	// Fields of oneof Segment:
	// If specified, use the key to retrieve the value in a Struct.
	Key *string
	// contains filtered or unexported fields
}

func (DynamicMetadataInput_PathSegment_builder) Build

type DynamicMetadataInput_builder

type DynamicMetadataInput_builder struct {

	// The filter name to retrieve the Struct from the Metadata.
	Filter string
	// The path to retrieve the Value from the Struct.
	Path []*DynamicMetadataInput_PathSegment
	// contains filtered or unexported fields
}

func (DynamicMetadataInput_builder) Build

type FilterStateInput

type FilterStateInput struct {
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

Input that matches by a specific filter state key. The value of the provided filter state key will be the raw string representation of the filter state object [#extension: envoy.matching.inputs.filter_state]

func (*FilterStateInput) GetKey

func (x *FilterStateInput) GetKey() string

func (*FilterStateInput) ProtoMessage

func (*FilterStateInput) ProtoMessage()

func (*FilterStateInput) ProtoReflect

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

func (*FilterStateInput) Reset

func (x *FilterStateInput) Reset()

func (*FilterStateInput) SetKey

func (x *FilterStateInput) SetKey(v string)

func (*FilterStateInput) String

func (x *FilterStateInput) String() string

type FilterStateInput_builder

type FilterStateInput_builder struct {
	Key string
	// contains filtered or unexported fields
}

func (FilterStateInput_builder) Build

type NetworkNamespaceInput

type NetworkNamespaceInput struct {
	// contains filtered or unexported fields
}

Input that matches by the network namespace of the listener address. This input returns the network namespace filepath that was used to create the listening socket. On Linux systems, this corresponds to the “network_namespace_filepath“ field in the :ref:`SocketAddress <envoy_v3_api_msg_config.core.v3.SocketAddress>` configuration.

.. note::

This input is only meaningful on Linux systems where network namespaces are supported.
On other platforms, this input will always return an empty value.

[#extension: envoy.matching.inputs.network_namespace]

func (*NetworkNamespaceInput) ProtoMessage

func (*NetworkNamespaceInput) ProtoMessage()

func (*NetworkNamespaceInput) ProtoReflect

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

func (*NetworkNamespaceInput) Reset

func (x *NetworkNamespaceInput) Reset()

func (*NetworkNamespaceInput) String

func (x *NetworkNamespaceInput) String() string

type NetworkNamespaceInput_builder

type NetworkNamespaceInput_builder struct {
	// contains filtered or unexported fields
}

func (NetworkNamespaceInput_builder) Build

type ServerNameInput

type ServerNameInput struct {
	// contains filtered or unexported fields
}

Input that matches by the requested server name (e.g. SNI in TLS).

:ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides the requested server name based on SNI, when TLS protocol is detected. [#extension: envoy.matching.inputs.server_name]

func (*ServerNameInput) ProtoMessage

func (*ServerNameInput) ProtoMessage()

func (*ServerNameInput) ProtoReflect

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

func (*ServerNameInput) Reset

func (x *ServerNameInput) Reset()

func (*ServerNameInput) String

func (x *ServerNameInput) String() string

type ServerNameInput_builder

type ServerNameInput_builder struct {
	// contains filtered or unexported fields
}

func (ServerNameInput_builder) Build

type SourceIPInput

type SourceIPInput struct {
	// contains filtered or unexported fields
}

Specifies that matching should be performed by the source IP address. [#extension: envoy.matching.inputs.source_ip]

func (*SourceIPInput) ProtoMessage

func (*SourceIPInput) ProtoMessage()

func (*SourceIPInput) ProtoReflect

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

func (*SourceIPInput) Reset

func (x *SourceIPInput) Reset()

func (*SourceIPInput) String

func (x *SourceIPInput) String() string

type SourceIPInput_builder

type SourceIPInput_builder struct {
	// contains filtered or unexported fields
}

func (SourceIPInput_builder) Build

type SourcePortInput

type SourcePortInput struct {
	// contains filtered or unexported fields
}

Specifies that matching should be performed by the source port. [#extension: envoy.matching.inputs.source_port]

func (*SourcePortInput) ProtoMessage

func (*SourcePortInput) ProtoMessage()

func (*SourcePortInput) ProtoReflect

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

func (*SourcePortInput) Reset

func (x *SourcePortInput) Reset()

func (*SourcePortInput) String

func (x *SourcePortInput) String() string

type SourcePortInput_builder

type SourcePortInput_builder struct {
	// contains filtered or unexported fields
}

func (SourcePortInput_builder) Build

type SourceTypeInput

type SourceTypeInput struct {
	// contains filtered or unexported fields
}

Input that matches by the source IP type. Specifies the source IP match type. The values include:

* “local“ - matches a connection originating from the same host, [#extension: envoy.matching.inputs.source_type]

func (*SourceTypeInput) ProtoMessage

func (*SourceTypeInput) ProtoMessage()

func (*SourceTypeInput) ProtoReflect

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

func (*SourceTypeInput) Reset

func (x *SourceTypeInput) Reset()

func (*SourceTypeInput) String

func (x *SourceTypeInput) String() string

type SourceTypeInput_builder

type SourceTypeInput_builder struct {
	// contains filtered or unexported fields
}

func (SourceTypeInput_builder) Build

type TransportProtocolInput

type TransportProtocolInput struct {
	// contains filtered or unexported fields
}

Input that matches by the transport protocol.

Suggested values include:

  • “raw_buffer“ - default, used when no transport protocol is detected,
  • “tls“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` when TLS protocol is detected.

[#extension: envoy.matching.inputs.transport_protocol]

func (*TransportProtocolInput) ProtoMessage

func (*TransportProtocolInput) ProtoMessage()

func (*TransportProtocolInput) ProtoReflect

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

func (*TransportProtocolInput) Reset

func (x *TransportProtocolInput) Reset()

func (*TransportProtocolInput) String

func (x *TransportProtocolInput) String() string

type TransportProtocolInput_builder

type TransportProtocolInput_builder struct {
	// contains filtered or unexported fields
}

func (TransportProtocolInput_builder) Build

Source Files

  • network_inputs.pb.go

Jump to

Keyboard shortcuts

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