From 5a0b1239649e446c6b2aca915141fc8de271e66a Mon Sep 17 00:00:00 2001 From: Harvey Tuch Date: Wed, 28 Mar 2018 15:45:52 -0400 Subject: [PATCH 1/2] docs: release notes and unhide fields for IP_FREEBIND support. Corresponding PR https://github.com/envoyproxy/envoy/pull/2922. Signed-off-by: Harvey Tuch --- docs/root/intro/version_history.rst | 5 +++++ envoy/api/v2/core/address.proto | 14 +++++++------- envoy/api/v2/lds.proto | 12 ++++++------ 3 files changed, 18 insertions(+), 13 deletions(-) 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..3a3ea81e3 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..31e2c8198 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; } From 935994f5a0378eda6c784bdbc8864e663bfe45d0 Mon Sep 17 00:00:00 2001 From: Harvey Tuch Date: Thu, 29 Mar 2018 10:16:38 -0400 Subject: [PATCH 2/2] Fix format. Signed-off-by: Harvey Tuch --- envoy/api/v2/core/address.proto | 2 +- envoy/api/v2/lds.proto | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/envoy/api/v2/core/address.proto b/envoy/api/v2/core/address.proto index 3a3ea81e3..bf9051a89 100644 --- a/envoy/api/v2/core/address.proto +++ b/envoy/api/v2/core/address.proto @@ -66,7 +66,7 @@ message BindConfig { // 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 + // 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. diff --git a/envoy/api/v2/lds.proto b/envoy/api/v2/lds.proto index 31e2c8198..da6e0731b 100644 --- a/envoy/api/v2/lds.proto +++ b/envoy/api/v2/lds.proto @@ -147,7 +147,7 @@ message Listener { // 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 + // 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;