Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-24 Thread Stephen Hemminger
On Mon, 24 Jul 2017 16:41:12 -0700 Yuchung Cheng wrote: > On Mon, Jul 24, 2017 at 11:29 AM, Neal Cardwell wrote: > > On Mon, Jul 24, 2017 at 2:17 PM, Yuchung Cheng wrote: > >> On Sun, Jul 23, 2017 at 7:37 PM, Neal Cardwell > >> wrote: > >>> On Sun, Jul 23, 2017 at 10:36 PM, Neal Cardwell

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-24 Thread Yuchung Cheng
On Mon, Jul 24, 2017 at 11:29 AM, Neal Cardwell wrote: > On Mon, Jul 24, 2017 at 2:17 PM, Yuchung Cheng wrote: >> On Sun, Jul 23, 2017 at 7:37 PM, Neal Cardwell wrote: >>> On Sun, Jul 23, 2017 at 10:36 PM, Neal Cardwell >>> wrote: > ... What if we call the field tp->prior_cwnd? Then at le

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-24 Thread Neal Cardwell
On Mon, Jul 24, 2017 at 2:17 PM, Yuchung Cheng wrote: > On Sun, Jul 23, 2017 at 7:37 PM, Neal Cardwell wrote: >> On Sun, Jul 23, 2017 at 10:36 PM, Neal Cardwell wrote: ... >>> What if we call the field tp->prior_cwnd? Then at least we'd have some >>> nice symmetry: >>> >>> - tp->snd_cwnd, which

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-24 Thread Yuchung Cheng
On Sun, Jul 23, 2017 at 7:37 PM, Neal Cardwell wrote: > On Sun, Jul 23, 2017 at 10:36 PM, Neal Cardwell wrote: >> On Fri, Jul 21, 2017 at 5:16 PM, Yuchung Cheng wrote: >>> On Fri, Jul 21, 2017 at 1:46 PM, Neal Cardwell >>> wrote: On Fri, Jul 21, 2017 at 4:27 PM, Lisong Xu wrote: > >

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-23 Thread Neal Cardwell
On Sun, Jul 23, 2017 at 10:36 PM, Neal Cardwell wrote: > On Fri, Jul 21, 2017 at 5:16 PM, Yuchung Cheng wrote: >> On Fri, Jul 21, 2017 at 1:46 PM, Neal Cardwell wrote: >>> On Fri, Jul 21, 2017 at 4:27 PM, Lisong Xu wrote: Hi Yuchung, This test scenario is only one example t

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-23 Thread Neal Cardwell
On Fri, Jul 21, 2017 at 5:16 PM, Yuchung Cheng wrote: > On Fri, Jul 21, 2017 at 1:46 PM, Neal Cardwell wrote: >> On Fri, Jul 21, 2017 at 4:27 PM, Lisong Xu wrote: >>> >>> Hi Yuchung, >>> >>> This test scenario is only one example to trigger this bug. In general, as >>> long as cwnd <4, the undo

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-21 Thread Yuchung Cheng
On Fri, Jul 21, 2017 at 1:46 PM, Neal Cardwell wrote: > On Fri, Jul 21, 2017 at 4:27 PM, Lisong Xu wrote: >> >> Hi Yuchung, >> >> This test scenario is only one example to trigger this bug. In general, as >> long as cwnd <4, the undo function has this bug. > > > Yes, personally I agree that this

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-21 Thread Neal Cardwell
On Fri, Jul 21, 2017 at 4:27 PM, Lisong Xu wrote: > > Hi Yuchung, > > This test scenario is only one example to trigger this bug. In general, as > long as cwnd <4, the undo function has this bug. Yes, personally I agree that this seems like an issue that is general enough to be worth fixing. In

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-21 Thread Lisong Xu
Hi Yuchung, This test scenario is only one example to trigger this bug. In generally, as long as cwnd <4, the undo function has this bug. This would not be a problem for a normal network. But might be an issue, if the network is highly congested (e.g., many many TCP flows with small cwnd <4)

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-21 Thread Lisong Xu
Hi Yuchung, This test scenario is only one example to trigger this bug. In general, as long as cwnd <4, the undo function has this bug. This would not be a problem for a normal network. But might be an issue, if the network is highly congested (e.g., many many TCP flows with small cwnd <4).

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-21 Thread Yuchung Cheng
On Thu, Jul 20, 2017 at 2:28 PM, Wei Sun wrote: > Hi Yuchung, > > Sorry for the confusion. The test case was adapted from an old DSACK > test case (i.e., forget to remove something). > > Attached is a new and simple one. Thanks Note that the test scenario is fairly rare IMO: the connection first

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-20 Thread Wei Sun
Hi Yuchung, Sorry for the confusion. The test case was adapted from an old DSACK test case (i.e., forget to remove something). Attached is a new and simple one. Thanks On Wed, Jul 19, 2017 at 2:31 PM, Yuchung Cheng wrote: > On Tue, Jul 18, 2017 at 2:36 PM, Wei Sun wrote: >> Hi there, >> >>

Re: A buggy behavior for Linux TCP Reno and HTCP

2017-07-19 Thread Yuchung Cheng
On Tue, Jul 18, 2017 at 2:36 PM, Wei Sun wrote: > Hi there, > > We find a buggy behavior when using Linux TCP Reno and HTCP in low > bandwidth or highly congested network environments. > > In a simple word, their undo functions may mistakenly double the cwnd, > leading to a more aggressive behavio

A buggy behavior for Linux TCP Reno and HTCP

2017-07-18 Thread Wei Sun
Hi there, We find a buggy behavior when using Linux TCP Reno and HTCP in low bandwidth or highly congested network environments. In a simple word, their undo functions may mistakenly double the cwnd, leading to a more aggressive behavior in a highly congested scenario. The detailed reason: The