tcp: Configure TFO without cookie per socket and/or per route
We already allow to enable TFO without a cookie by using the fastopen-sysctl and setting it to TFO_SERVER_COOKIE_NOT_REQD (or TFO_CLIENT_NO_COOKIE). This is safe to do in certain environments where we know that there isn't a malicous host (aka., data-centers) or when the application-protocol already provides an authentication mechanism in the first flight of data. A server however might be providing multiple services or talking to both sides (public Internet and data-center). So, this server would want to enable cookie-less TFO for certain services and/or for connections that go to the data-center. This patch exposes a socket-option and a per-route attribute to enable such fine-grained configurations. Signed-off-by: Christoph Paasch <cpaasch@apple.com> Reviewed-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
b6f4f8484d
commit
71c02379c7
@@ -215,7 +215,8 @@ struct tcp_sock {
|
||||
u8 chrono_type:2, /* current chronograph type */
|
||||
rate_app_limited:1, /* rate_{delivered,interval_us} limited? */
|
||||
fastopen_connect:1, /* FASTOPEN_CONNECT sockopt */
|
||||
unused:4;
|
||||
fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
|
||||
unused:3;
|
||||
u8 nonagle : 4,/* Disable Nagle algorithm? */
|
||||
thin_lto : 1,/* Use linear timeouts for thin streams */
|
||||
unused1 : 1,
|
||||
|
Reference in New Issue
Block a user