diff --git a/docs/root/intro/version_history.rst b/docs/root/intro/version_history.rst index c66a4b4f0..9aeccc0a9 100644 --- a/docs/root/intro/version_history.rst +++ b/docs/root/intro/version_history.rst @@ -15,6 +15,11 @@ Version history * logger: all :ref:`logging levels ` can be configured at run-time: trace debug info warning error critical. * logger: added the ability to optionally set the log format via the :option:`--log-format` option. +* sockets: added `IP_FREEBIND` socket option support for :ref:`listeners + ` and upstream connections via + :ref:`cluster manager wide + ` and + :ref:`cluster specific ` options. * tracing: the sampling decision is now delegated to the tracers, allowing the tracer to decide when and if to use it. For example, if the :ref:`x-b3-sampled ` header is supplied with the client request, its value will override any sampling decision made by the Envoy proxy. diff --git a/envoy/api/v2/core/address.proto b/envoy/api/v2/core/address.proto index ae7eab56e..bf9051a89 100644 --- a/envoy/api/v2/core/address.proto +++ b/envoy/api/v2/core/address.proto @@ -63,13 +63,13 @@ message BindConfig { SocketAddress source_address = 1 [(validate.rules).message.required = true, (gogoproto.nullable) = false]; - // [#not-implemented-hide:] Whether to set the *IP_FREEBIND* option when - // creating the socket. When this flag is set to true, allows the - // :ref:`source_address ` - // to be an IP address that is not configured on the system running Envoy. - // When this flag is set to false, the option *IP_FREEBIND* is disabled on the - // socket. When this flag is not set (default), the socket is not modified, - // i.e. the option is neither enabled nor disabled. + // Whether to set the *IP_FREEBIND* option when creating the socket. When this + // flag is set to true, allows the :ref:`source_address + // ` to be an IP address + // that is not configured on the system running Envoy. When this flag is set + // to false, the option *IP_FREEBIND* is disabled on the socket. When this + // flag is not set (default), the socket is not modified, i.e. the option is + // neither enabled nor disabled. google.protobuf.BoolValue freebind = 2; } diff --git a/envoy/api/v2/lds.proto b/envoy/api/v2/lds.proto index 0881f98d4..da6e0731b 100644 --- a/envoy/api/v2/lds.proto +++ b/envoy/api/v2/lds.proto @@ -144,11 +144,11 @@ message Listener { // is neither set nor reset. google.protobuf.BoolValue transparent = 10; - // [#not-implemented-hide:] Whether the listener should set the *IP_FREEBIND* - // socket option. When this flag is set to true, listeners can be bound to an - // IP address that is not configured on the system running Envoy. When this - // flag is set to false, the option *IP_FREEBIND* is disabled on the socket. - // When this flag is not set (default), the socket is not modified, i.e. the - // option is neither enabled nor disabled. + // Whether the listener should set the *IP_FREEBIND* socket option. When this + // flag is set to true, listeners can be bound to an IP address that is not + // configured on the system running Envoy. When this flag is set to false, the + // option *IP_FREEBIND* is disabled on the socket. When this flag is not set + // (default), the socket is not modified, i.e. the option is neither enabled + // nor disabled. google.protobuf.BoolValue freebind = 11; }