diff options
| author | Lorenzo Colitti <lorenzo@google.com> | 2015-12-16 12:30:05 +0900 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-09-10 16:51:11 +0200 |
| commit | 0c9c7d44a6ec60a338ba161be217f7da8b9c8948 (patch) | |
| tree | 99f3fc05cd589cd678b1329741d6cadc16358488 /include | |
| parent | 5b504fd066669951da0a102facccaf3b533d67e6 (diff) | |
net: diag: Support destroying TCP sockets.
This implements SOCK_DESTROY for TCP sockets. It causes all
blocking calls on the socket to fail fast with ECONNABORTED and
causes a protocol close of the socket. It informs the other end
of the connection by sending a RST, i.e., initiating a TCP ABORT
as per RFC 793. ECONNABORTED was chosen for consistency with
FreeBSD.
[Backport of net-next c1e64e298b8cad309091b95d8436a0255c84f54a]
Change-Id: Ice9aad37741fe497341d1d2a51e0b70601a99c90
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/tcp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 6c0db2f73..8a6f321f3 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1046,6 +1046,8 @@ extern void tcp_set_state(struct sock *sk, int state); extern void tcp_done(struct sock *sk); +int tcp_abort(struct sock *sk, int err); + static inline void tcp_sack_reset(struct tcp_options_received *rx_opt) { rx_opt->dsack = 0; |
