@@ -2,7 +2,6 @@ syntax = "proto3";
22
33package envoy.api.v2 ;
44option java_package = "io.envoyproxy.envoy.api.v2" ;
5- option java_multiple_files = true ;
65
76option java_generic_services = true ;
87
@@ -233,9 +232,8 @@ message Cluster {
233232 // for upstream connections. The key should match the extension filter name, such as
234233 // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
235234 // specific options.
236- map <string , google.protobuf.Struct > extension_protocol_options = 35 ;
235+ map <string , google.protobuf.Struct > extension_protocol_options = 35 [ deprecated = true ] ;
237236
238- // [#not-implemented-hide:]
239237 // The extension_protocol_options field is used to provide extension-specific protocol options
240238 // for upstream connections. The key should match the extension filter name, such as
241239 // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
@@ -417,6 +415,20 @@ message Cluster {
417415 // Deprecated settings from v1 config.
418416 // [#not-implemented-hide:] Hide from docs.
419417 DeprecatedV1 deprecated_v1 = 2 [deprecated = true ];
418+
419+ // The hash function used to hash hosts onto the ketama ring.
420+ enum HashFunction {
421+ // Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
422+ XX_HASH = 0 ;
423+ // Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
424+ // std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
425+ // on Linux and not macOS.
426+ MURMUR_HASH_2 = 1 ;
427+ }
428+
429+ // The hash function used to hash hosts onto the ketama ring. The value defaults to
430+ // :ref:`XX_HASH<envoy_api_enum_value_Cluster.RingHashLbConfig.HashFunction.XX_HASH>`.
431+ HashFunction hash_function = 3 [(validate.rules ) .enum.defined_only = true ];
420432 }
421433
422434 // Specific configuration for the
0 commit comments