lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 28 Sep 2014 14:26:50 +0000 From: Itzcak Pechtalt <itzcak@...shnetworks.com> To: Neal Cardwell <ncardwell@...gle.com>, Nandita Dukkipati <nanditad@...gle.com> CC: Yuchung Cheng <ycheng@...gle.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: RE: [PATCH net] tcp: Fix TLP implementation in case receive window limits send > -----Original Message----- > From: Neal Cardwell [mailto:ncardwell@...gle.com] > Sent: Wednesday, September 24, 2014 10:25 PM > To: Nandita Dukkipati > Cc: Yuchung Cheng; Itzcak Pechtalt; netdev@...r.kernel.org > Subject: Re: [PATCH net] tcp: Fix TLP implementation in case receive > window limits send > > On Wed, Sep 24, 2014 at 3:00 PM, Nandita Dukkipati > <nanditad@...gle.com> wrote: > >> On Tue, Sep 23, 2014 at 9:28 AM, Itzcak Pechtalt > >> <itzcak@...shnetworks.com> wrote: > >>> From: Itzcak Pechtalt <itzcak@...shnetworks.com> > >>> > >>> TCP Tail loss probe (TLP) algorithm implementation has some problem. > >>> According to paper (draft-dukkipati-tcpm-tcp-loss-probe-0 ): > >>> In case recive window of receiver limits send of new packet in probe > >>> time than a retransmit of last packet send should be done. > >>> > >>> Actually, return code from tcp_write_xmit is not checked and only > >>> RTO is scheduled, So, it will take more time for reovery in this > >>> case than without TLP. > >>> > >>> Signed-off-by: Itzcak Pechtalt <itzcak@...shnetworks.com> > >> Acked-by: Yuchung Cheng <ycheng@...gle.com> > > Acked-by: Nandita Dukkipati <nanditad@...gle.com> > > Acked-by: Neal Cardwell <ncardwell@...gle.com> > > BTW, Itzcak, have you been able to construct a test case where this patch > now allows a TLP in a case where the sender is limited by the receive > window? > > Often we will be prevented from doing any kind of TLP if we are limited by > the receive window, due to these lines in > tcp_schedule_loss_probe(): > > if ((tp->snd_cwnd > tcp_packets_in_flight(tp)) && > tcp_send_head(sk)) > return false; > > But there is something else going on as well, since I haven't been able to > force a TLP even when cwnd == rwin == tcp_packets_in_flight() == 10. But I > haven't had much time to spend on it. > > neal The scenario will be in case the sender process calls "send" per packet size data, so when tcp_schedule_loss_probe is called there is no additional data (tcp_send_head(sk)) returns false), but further calls to send fail due to receive window limit (The same is right if data bulk size ended exactly with receive window limit). But really I can't understand what is the goal of the above 3 lines of code. If send was stopped from any reason, why not schedule TLP timer? Anyway next send will clear the timer by tcp_event_new_data_sent function. What is your opinion about another patch to remove these 3 lines of code? Itzcak
Powered by blists - more mailing lists