Skip to content

lds,BindConfig: Add "freebind" options to support IP_FREEBIND.#536

Merged
htuch merged 1 commit intoenvoyproxy:masterfrom
dnoe:ip-freebind-option
Mar 13, 2018
Merged

lds,BindConfig: Add "freebind" options to support IP_FREEBIND.#536
htuch merged 1 commit intoenvoyproxy:masterfrom
dnoe:ip-freebind-option

Conversation

@dnoe
Copy link
Copy Markdown
Contributor

@dnoe dnoe commented Mar 13, 2018

Add an option "freebind" in LDS for listeners and the BindConfig which
is used for outgoing upstream connections. If true, set the IP_FREEBIND
socket option. Defaults to false.

PR description will be updated with Envoy implementation PR# once it is
created. Currently hidden as not implemented.

Signed-off-by: Dan Noé dpn@google.com

Add an option "freebind" in LDS for listeners and the BindConfig which
is used for outgoing upstream connections. If true, set IP_FREEBIND
socket option. Defaults to false.

PR description will be updated with Envoy implementation PR# once it is
created.

Signed-off-by: Dan Noé <dpn@google.com>
@dnoe dnoe requested a review from alyssawilk March 13, 2018 13:26
@htuch htuch merged commit 5192a08 into envoyproxy:master Mar 13, 2018
htuch added a commit to htuch/envoy that referenced this pull request Mar 29, 2018
This patch introduces support for setting IP_FREEBIND on both listener sockets and upstream
connection sockets prior to binding. This enables the use of IP addresses that are not currently
bound to the NIC for listening and initiating connections from. This is useful in environments with
virtualized networking.

There's also some related work on SocketOption that continues from envoyproxy#2734, which was needed to enable
this to work cleanly.

Risk Level: Low (no change unless enabled).
Testing: Unit tests for ListenerManager, ClusterManager and SocketOptionImpl. Manual end-to-end
validation with steps described in configs/freebind/README.md.
API Changes: envoyproxy/data-plane-api#536

Fixes envoyproxy#528.

Signed-off-by: Harvey Tuch <htuch@google.com>
htuch added a commit to envoyproxy/envoy that referenced this pull request Mar 29, 2018
…2922)

This patch introduces support for setting IP_FREEBIND on both listener sockets and upstream
connection sockets prior to binding. This enables the use of IP addresses that are not currently
bound to the NIC for listening and initiating connections from. This is useful in environments with
virtualized networking.

There's also some related work on SocketOption that continues from #2734, which was needed to enable
this to work cleanly.

Risk Level: Low (no change unless enabled).
Testing: Unit tests for ListenerManager, ClusterManager and SocketOptionImpl. Manual end-to-end
validation with steps described in configs/freebind/README.md.
API Changes: envoyproxy/data-plane-api#536

Fixes #528.

Signed-off-by: Harvey Tuch <htuch@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants