Class Config
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.quic.connection_id_generator.quic_lb.v3.Config
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ConfigOrBuilder,Serializable
Configuration for a connection ID generator implementation for the QUIC-LB draft RFC for
routable connection IDs.
Connection IDs always have the length self encoded, as described in
https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-length-self-description.
See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers for details.
.. warning::
This is still a work in progress. Interoperability testing has not yet been performed.
[#next-free-field: 7]
Protobuf type envoy.extensions.quic.connection_id_generator.quic_lb.v3.Config- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConfiguration for a connection ID generator implementation for the QUIC-LB draft RFC for routable connection IDs.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 intstatic 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 Configstatic final com.google.protobuf.Descriptors.DescriptorConfiguration to fetch the encryption key and configuration version.Configuration to fetch the encryption key and configuration version.intOptional validation of the expected server ID length.intThe nonce length must be at least 4 bytes.com.google.protobuf.Parser<Config>intMust be at least 1 octet.booleanIf true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded.Must be at least 1 octet.booleanUse the unencrypted mode.booleanConfiguration to fetch the encryption key and configuration version.inthashCode()booleanMust be at least 1 octet.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic Config.Builderstatic Config.BuildernewBuilder(Config prototype) protected Config.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static ConfigparseDelimitedFrom(InputStream input) static ConfigparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ConfigparseFrom(byte[] data) static ConfigparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ConfigparseFrom(com.google.protobuf.ByteString data) static ConfigparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ConfigparseFrom(com.google.protobuf.CodedInputStream input) static ConfigparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ConfigparseFrom(InputStream input) static ConfigparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ConfigparseFrom(ByteBuffer data) static ConfigparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<Config>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
-
SERVER_ID_FIELD_NUMBER
public static final int SERVER_ID_FIELD_NUMBER- See Also:
-
SERVER_ID_BASE64_ENCODED_FIELD_NUMBER
public static final int SERVER_ID_BASE64_ENCODED_FIELD_NUMBER- See Also:
-
EXPECTED_SERVER_ID_LENGTH_FIELD_NUMBER
public static final int EXPECTED_SERVER_ID_LENGTH_FIELD_NUMBER- See Also:
-
NONCE_LENGTH_BYTES_FIELD_NUMBER
public static final int NONCE_LENGTH_BYTES_FIELD_NUMBER- See Also:
-
ENCRYPTION_PARAMETERS_FIELD_NUMBER
public static final int ENCRYPTION_PARAMETERS_FIELD_NUMBER- See Also:
-
UNENCRYPTED_MODE_FIELD_NUMBER
public static final int UNENCRYPTED_MODE_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
-
hasServerId
public boolean hasServerId()Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
hasServerIdin interfaceConfigOrBuilder- Returns:
- Whether the serverId field is set.
-
getServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
getServerIdin interfaceConfigOrBuilder- Returns:
- The serverId.
-
getServerIdOrBuilder
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
getServerIdOrBuilderin interfaceConfigOrBuilder
-
getServerIdBase64Encoded
public boolean getServerIdBase64Encoded()If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded. This can be useful if the ID may contain binary data and must be transmitted as a string, for example in an environment variable.
bool server_id_base64_encoded = 6;- Specified by:
getServerIdBase64Encodedin interfaceConfigOrBuilder- Returns:
- The serverIdBase64Encoded.
-
getExpectedServerIdLength
public int getExpectedServerIdLength()Optional validation of the expected server ID length. If this is non-zero and the value in ``server_id`` does not have a matching length, a configuration error is generated. This can be useful for validating that the server ID is valid.
uint32 expected_server_id_length = 3 [(.validate.rules) = { ... }- Specified by:
getExpectedServerIdLengthin interfaceConfigOrBuilder- Returns:
- The expectedServerIdLength.
-
getNonceLengthBytes
public int getNonceLengthBytes()The nonce length must be at least 4 bytes. The length of server_id and nonce_length_bytes must be 18 bytes or less.
uint32 nonce_length_bytes = 4 [(.validate.rules) = { ... }- Specified by:
getNonceLengthBytesin interfaceConfigOrBuilder- Returns:
- The nonceLengthBytes.
-
hasEncryptionParameters
public boolean hasEncryptionParameters()Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
hasEncryptionParametersin interfaceConfigOrBuilder- Returns:
- Whether the encryptionParameters field is set.
-
getEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
getEncryptionParametersin interfaceConfigOrBuilder- Returns:
- The encryptionParameters.
-
getEncryptionParametersOrBuilder
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
getEncryptionParametersOrBuilderin interfaceConfigOrBuilder
-
getUnencryptedMode
public boolean getUnencryptedMode()Use the unencrypted mode. This is useful for testing or a simplified implementation of the downstream load balancer, but allows for linking different CIDs for the same connection, and leaks information about the valid server IDs in use. This mode does not comply with the RFC. Note that in this mode, :ref:`encryption_parameters <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.encryption_parameters>` is still required because it contains ``configuration_version``, which is still needed. ``encryption_key`` can be set to ``inline_string: '0000000000000000'``.
bool unencrypted_mode = 1;- Specified by:
getUnencryptedModein interfaceConfigOrBuilder- Returns:
- The unencryptedMode.
-
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 Config parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Config parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Config parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Config parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Config parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Config parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static Config parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static Config parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static Config 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 Config.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
-