diff options
author | Ursula Braun <ubraun@linux.vnet.ibm.com> | 2017-10-25 05:01:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-26 05:00:29 -0400 |
commit | 60e2a7780793bae0debc275a9ccd57f7da0cf195 (patch) | |
tree | 8b65c6c4eb3194718df692952e1b5d547c53de2f /net/ipv4/tcp.c | |
parent | 145686baab68e9c7594fe9269f47da479c25ad79 (diff) |
tcp: TCP experimental option for SMC
The SMC protocol [1] relies on the use of a new TCP experimental
option [2, 3]. With this option, SMC capabilities are exchanged
between peers during the TCP three way handshake. This patch adds
support for this experimental option to TCP.
References:
[1] SMC-R Informational RFC: http://www.rfc-editor.org/info/rfc7609
[2] Shared Use of TCP Experimental Options RFC 6994:
https://tools.ietf.org/rfc/rfc6994.txt
[3] IANA ExID SMCR:
http://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-exids
Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r-- | net/ipv4/tcp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 8f36277e82e9..f6e1c00e300e 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -270,6 +270,7 @@ | |||
270 | #include <linux/time.h> | 270 | #include <linux/time.h> |
271 | #include <linux/slab.h> | 271 | #include <linux/slab.h> |
272 | #include <linux/errqueue.h> | 272 | #include <linux/errqueue.h> |
273 | #include <linux/static_key.h> | ||
273 | 274 | ||
274 | #include <net/icmp.h> | 275 | #include <net/icmp.h> |
275 | #include <net/inet_common.h> | 276 | #include <net/inet_common.h> |
@@ -302,6 +303,11 @@ EXPORT_SYMBOL(sysctl_tcp_wmem); | |||
302 | atomic_long_t tcp_memory_allocated; /* Current allocated memory. */ | 303 | atomic_long_t tcp_memory_allocated; /* Current allocated memory. */ |
303 | EXPORT_SYMBOL(tcp_memory_allocated); | 304 | EXPORT_SYMBOL(tcp_memory_allocated); |
304 | 305 | ||
306 | #if IS_ENABLED(CONFIG_SMC) | ||
307 | DEFINE_STATIC_KEY_FALSE(tcp_have_smc); | ||
308 | EXPORT_SYMBOL(tcp_have_smc); | ||
309 | #endif | ||
310 | |||
305 | /* | 311 | /* |
306 | * Current number of TCP sockets. | 312 | * Current number of TCP sockets. |
307 | */ | 313 | */ |