diff --git a/envoy/config/core/v3/address.proto b/envoy/config/core/v3/address.proto index 43fa30f5..5f110f08 100644 --- a/envoy/config/core/v3/address.proto +++ b/envoy/config/core/v3/address.proto @@ -119,6 +119,16 @@ message TcpKeepalive { message ExtraSourceAddress { // The additional address to bind. SocketAddress address = 1 [(validate.rules).message = {required: true}]; + + // [#not-implemented-hide:] + // Additional socket options that may not be present in Envoy source code or + // precompiled binaries. If specified, this will override the + // :ref:`socket_options ` + // in the BindConfig. If specified with no + // :ref:`socket_options ` + // or an empty list of :ref:`socket_options `, + // it means no socket option will apply. + SocketOptionsOverride socket_options = 2; } // [#next-free-field: 6] diff --git a/envoy/config/core/v3/socket_option.proto b/envoy/config/core/v3/socket_option.proto index e7605fb6..d4706eb4 100644 --- a/envoy/config/core/v3/socket_option.proto +++ b/envoy/config/core/v3/socket_option.proto @@ -75,3 +75,8 @@ message SocketOption { // STATE_PREBIND is currently the only valid value. SocketState state = 6 [(validate.rules).enum = {defined_only: true}]; } + +// [#not-implemented-hide:] +message SocketOptionsOverride { + repeated SocketOption socket_options = 1; +} diff --git a/envoy/config/listener/v3/listener.proto b/envoy/config/listener/v3/listener.proto index b2904791..013e4dda 100644 --- a/envoy/config/listener/v3/listener.proto +++ b/envoy/config/listener/v3/listener.proto @@ -36,6 +36,16 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE; // The additional address the listener is listening on. message AdditionalAddress { core.v3.Address address = 1; + + // [#not-implemented-hide:] + // Additional socket options that may not be present in Envoy source code or + // precompiled binaries. If specified, this will override the + // :ref:`socket_options ` + // in the listener. If specified with no + // :ref:`socket_options ` + // or an empty list of :ref:`socket_options `, + // it means no socket option will apply. + core.v3.SocketOptionsOverride socket_options = 2; } // Listener list collections. Entries are ``Listener`` resources or references.