Class DynamicModuleListenerFilter
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.listener.dynamic_modules.v3.DynamicModuleListenerFilter
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,DynamicModuleListenerFilterOrBuilder,Serializable
public final class DynamicModuleListenerFilter
extends com.google.protobuf.GeneratedMessageV3
implements DynamicModuleListenerFilterOrBuilder
Configuration of the listener filter for dynamic modules. This filter allows loading shared object files that can be loaded via dlopen by the listener filter. A module can be loaded by multiple listener filters, hence the program can be structured in a way that the module is loaded only once and shared across multiple filters providing multiple functionalities. Unlike network filters which operate on established TCP connections, listener filters work with raw accepted sockets BEFORE a Connection object is created. The filter can: * Inspect initial bytes to detect protocols (TLS, HTTP, PostgreSQL, etc.). * Set socket properties (SNI, ALPN, transport protocol, fingerprints). * Modify connection addresses (original destination restoration). * Set dynamic metadata and filter state for downstream filters. * Rate limit incoming connections.Protobuf type
envoy.extensions.filters.listener.dynamic_modules.v3.DynamicModuleListenerFilter- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConfiguration of the listener filter for dynamic modules.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic DynamicModuleListenerFilterstatic final com.google.protobuf.Descriptors.DescriptorSpecifies the shared-object level configuration.Specifies the shared-object level configuration.com.google.protobuf.AnyThe configuration for the filter chosen by ``filter_name``.com.google.protobuf.AnyOrBuilderThe configuration for the filter chosen by ``filter_name``.The name for this filter configuration.com.google.protobuf.ByteStringThe name for this filter configuration.com.google.protobuf.Parser<DynamicModuleListenerFilter>intbooleanSpecifies the shared-object level configuration.booleanThe configuration for the filter chosen by ``filter_name``.inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleannewBuilder(DynamicModuleListenerFilter prototype) protected DynamicModuleListenerFilter.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static DynamicModuleListenerFilterparseDelimitedFrom(InputStream input) static DynamicModuleListenerFilterparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleListenerFilterparseFrom(byte[] data) static DynamicModuleListenerFilterparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleListenerFilterparseFrom(com.google.protobuf.ByteString data) static DynamicModuleListenerFilterparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleListenerFilterparseFrom(com.google.protobuf.CodedInputStream input) static DynamicModuleListenerFilterparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleListenerFilterparseFrom(InputStream input) static DynamicModuleListenerFilterparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleListenerFilterparseFrom(ByteBuffer data) static DynamicModuleListenerFilterparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<DynamicModuleListenerFilter>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
DYNAMIC_MODULE_CONFIG_FIELD_NUMBER
public static final int DYNAMIC_MODULE_CONFIG_FIELD_NUMBER- See Also:
-
FILTER_NAME_FIELD_NUMBER
public static final int FILTER_NAME_FIELD_NUMBER- See Also:
-
FILTER_CONFIG_FIELD_NUMBER
public static final int FILTER_CONFIG_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
hasDynamicModuleConfig
public boolean hasDynamicModuleConfig()Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
hasDynamicModuleConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- Whether the dynamicModuleConfig field is set.
-
getDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The dynamicModuleConfig.
-
getDynamicModuleConfigOrBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigOrBuilderin interfaceDynamicModuleListenerFilterOrBuilder
-
getFilterName
The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNamein interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The filterName.
-
getFilterNameBytes
public com.google.protobuf.ByteString getFilterNameBytes()The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNameBytesin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The bytes for filterName.
-
hasFilterConfig
public boolean hasFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
hasFilterConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- Whether the filterConfig field is set.
-
getFilterConfig
public com.google.protobuf.Any getFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The filterConfig.
-
getFilterConfigOrBuilder
public com.google.protobuf.AnyOrBuilder getFilterConfigOrBuilder()The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigOrBuilderin interfaceDynamicModuleListenerFilterOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static DynamicModuleListenerFilter parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleListenerFilter parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected DynamicModuleListenerFilter.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-