Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-13 Thread Eric Dumazet
On Wed, 2017-09-13 at 15:15 +0800, liujian wrote: > > 在 2017/9/13 14:56, liujian 写道: > > > > > > 在 2017/9/12 23:38, Eric Dumazet 写道: > >> On Tue, 2017-09-12 at 08:05 -0700, Eric Dumazet wrote: > >>> On Tue, 2017-09-12 at 14:08 +0800, liujian wrote: > Hi, > > In the scenario, tcp

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-13 Thread liujian
在 2017/9/13 14:56, liujian 写道: > > > 在 2017/9/12 23:38, Eric Dumazet 写道: >> On Tue, 2017-09-12 at 08:05 -0700, Eric Dumazet wrote: >>> On Tue, 2017-09-12 at 14:08 +0800, liujian wrote: Hi, In the scenario, tcp server side IP changed, and at that memont, userspace

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-13 Thread liujian
在 2017/9/12 23:38, Eric Dumazet 写道: > On Tue, 2017-09-12 at 08:05 -0700, Eric Dumazet wrote: >> On Tue, 2017-09-12 at 14:08 +0800, liujian wrote: >>> Hi, >>> >>> In the scenario, tcp server side IP changed, and at that memont, >>> userspace application still send data continuously; >>>

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-12 Thread Eric Dumazet
On Tue, 2017-09-12 at 08:05 -0700, Eric Dumazet wrote: > On Tue, 2017-09-12 at 14:08 +0800, liujian wrote: > > Hi, > > > > In the scenario, tcp server side IP changed, and at that memont, > > userspace application still send data continuously; > > tcp_send_head(sk)'s timestamp always be

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-12 Thread Eric Dumazet
On Tue, 2017-09-12 at 14:08 +0800, liujian wrote: > Hi, > > In the scenario, tcp server side IP changed, and at that memont, > userspace application still send data continuously; > tcp_send_head(sk)'s timestamp always be refreshed. > > Here is the packetdrill script: > >0 socket(...,

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-12 Thread liujian
Hi, In the scenario, tcp server side IP changed, and at that memont, userspace application still send data continuously; tcp_send_head(sk)'s timestamp always be refreshed. Here is the packetdrill script: 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET,

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-11 Thread Eric Dumazet
On Mon, 2017-09-11 at 08:13 -0700, Eric Dumazet wrote: > You can see we got only 3 probes, not 4. Here is complete packetdrill test showing that code behaves as expected. 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ...,

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-11 Thread Eric Dumazet
On Mon, 2017-09-11 at 07:49 -0700, Eric Dumazet wrote: > On Mon, 2017-09-11 at 14:27 +0800, liujia...@huawei.com wrote: > > From: liujian > > > > After the tcp socket go to ESTABLISHED stat, change IP address (server > > side), > > then the tcp socket will go

Re: [PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-11 Thread Eric Dumazet
On Mon, 2017-09-11 at 14:27 +0800, liujia...@huawei.com wrote: > From: liujian > > After the tcp socket go to ESTABLISHED stat, change IP address (server > side), > then the tcp socket will go tcp_probe_timer process. > > [root@localhost net]# netstat -toe > Active

[PATCH] tcp: TCP_USER_TIMEOUT can not work in tcp_probe_timer()

2017-09-11 Thread liujian56
From: liujian After the tcp socket go to ESTABLISHED stat, change IP address (server side), then the tcp socket will go tcp_probe_timer process. [root@localhost net]# netstat -toe Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign