Re: [PATCH RFC 0/3] tcp: allow to repair a tcp connections in closing states

2014-03-24 Thread David Miller
From: Andrey Vagin 
Date: Fri, 21 Mar 2014 17:32:58 +0400

> Currently connections only in the TCP_ESTABLISHED state can be dumped and
> restored. This series allows to restore connections in the FIN_WAIT_1,
> FIN_WAIT_2, LAST_ACK, CLOSE_WAIT or CLOSING states.
> 
> For restoring closing states we need an ability to restore a fin packet
> in a queue. In this series I suggest to use the interface of control
> messages for that.

I see no real value in this unless you tackle TIME_WAIT as well, and
that's going to add so much code.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH RFC 0/3] tcp: allow to repair a tcp connections in closing states

2014-03-21 Thread Andrey Vagin
Currently connections only in the TCP_ESTABLISHED state can be dumped and
restored. This series allows to restore connections in the FIN_WAIT_1,
FIN_WAIT_2, LAST_ACK, CLOSE_WAIT or CLOSING states.

For restoring closing states we need an ability to restore a fin packet
in a queue. In this series I suggest to use the interface of control
messages for that.

Here is an example of user-space code:

msg.msg_control = buf;
msg.msg_controllen = sizeof buf;
cmsg = CMSG_FIRSTHDR(&msg);
cmsg->cmsg_level = SOL_TCP;
cmsg->cmsg_type = TCP_CMSG_SEND_FIN;
cmsg->cmsg_len = CMSG_LEN(0);
msg.msg_controllen = cmsg->cmsg_len;
if (sendmsg(sk, &msg, 0) < 0) {
pr_perror("sendmsg");
return -1;
}

Andrey Vagin (3):
  tcp: allow to enable repair mode for sockets in any state
  tcp: check repair before fastopen in tcp_sendmsg
  tcp: add ability to restore a fin packet

 include/net/tcp.h|  1 +
 include/uapi/linux/tcp.h |  3 +++
 net/ipv4/tcp.c   | 69 +---
 net/ipv4/tcp_input.c |  2 +-
 4 files changed, 59 insertions(+), 16 deletions(-)

Cc: "David S. Miller" 
Cc: Alexey Kuznetsov 
Cc: James Morris 
Cc: Hideaki YOSHIFUJI 
Cc: Patrick McHardy 
Cc: Eric Dumazet 
Cc: Pavel Emelyanov 
Cc: Cyrill Gorcunov 
Signed-off-by: Andrey Vagin 

-- 
1.8.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/