lds: Add TCP_FASTOPEN listener option#539
Conversation
envoy/api/v2/lds.proto
Outdated
| bool transparent = 10; | ||
|
|
||
| // Whether the listener should accept TCP Fast Open (TFO) connections. | ||
| // Supports Linux and OSX. Defaults to false. |
There was a problem hiding this comment.
I'd drop the OS whitelist and only add a blacklist if needed.
envoy/api/v2/lds.proto
Outdated
|
|
||
| // Whether the listener should accept TCP Fast Open (TFO) connections. | ||
| // Supports Linux and OSX. Defaults to false. | ||
| bool enable_tcp_fast_open = 12; |
There was a problem hiding this comment.
There's another unrelated PR pending that claims 11. But I can set this to 11 for now and let the faster PR win :)
496066f to
b692500
Compare
|
@htuch @mattklein123 @ggreenway How do you feel about the naming convention for these listener options? Some are |
|
Optimally we should have option names be consistent, but I don't feel very strongly about which way. Will defer to others and @wora on this. |
|
Wouldn't |
|
FYI, based on the discussions in #522 and envoyproxy/envoy#2734, we're going to use |
|
@htuch I like I'll also wait for the generic setOptions framework to be merged before I update envoyproxy/envoy#2793 |
|
LGTM. Let's hold on merging this until the Envoy side change merges. This might not make 1.6.0. |
8e04cfd to
c534342
Compare
|
We need to merge this before the Envoy-side merges. I think it's fine to go ahead for now, the upstream PR should merge soon. |
docs/root/intro/version_history.rst
Outdated
| 1.7.0 | ||
| ===== | ||
|
|
||
| * listeners: added :ref:`tcp_fast_open_queue_length <envoy_api_field_Listener.tcp_fast_open_queue_length>` option. |
There was a problem hiding this comment.
Let's split this into two PRs. One without release notes, just the proto changes, and another to followup post-merge.
envoy/api/v2/lds.proto
Outdated
| // Whether the listener should accept TCP Fast Open (TFO) connections. | ||
| // When this flag is set to a value greater than 0, the option TCP_FASTOPEN is enabled on | ||
| // the socket, with a queue length of the specified size | ||
| // (see https://tools.ietf.org/html/rfc7413#section-5.1). |
envoy/api/v2/lds.proto
Outdated
| // When this flag is not set (default), the socket is not modified, | ||
| // i.e. the option is neither enabled nor disabled. | ||
| // | ||
| // On linux, the net.ipv4.tcp_fastopen kernel parameter must include flag 0x2 to enable |
There was a problem hiding this comment.
Nit: Linux and MacOS below, thanks.
There was a problem hiding this comment.
macOS is supposed to have a lower-case m.
5534c90 to
e0f6f83
Compare
Signed-off-by: Bjoern Metzdorf <bmetzdorf@apple.com>
|
@htuch Thanks for the review! I have addressed your comments (besides |
|
(And sorry for squashing. I was not aware of the policy here yet.) |
This allows accepting TCP_FASTOPEN based connections. Works on both Linux and OSX. API Changes: envoyproxy/data-plane-api#539 Risk Level: Low Signed-off-by: Bjoern Metzdorf <bmetzdorf@apple.com>
Add TCP_FASTOPEN listener option
API changes for: envoyproxy/envoy#2793
Signed-off-by: Bjoern Metzdorf bmetzdorf@apple.com