netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* delayed ack timer, slow start and LRO
@ 2008-07-22 21:44 jean-pascal billaud
  2008-07-22 22:11 ` Evgeniy Polyakov
  0 siblings, 1 reply; 8+ messages in thread
From: jean-pascal billaud @ 2008-07-22 21:44 UTC (permalink / raw)
  To: netdev

Hi,

I have a question related to the interaction between the delayed ack timer, slow start and LRO.

If the sender is doing a slow start, it is going to send one packet. The receiver's delayed ack timer is going to
kick in and when it expires it will send a ack.

Then the sender is going to send 2 packets now. LRO will aggregates them and the receiver's delayed ack timer is going
to kick in, hoping another packet will arrives which is not going to be the case. When the timer expires it is going to
send a ack.

The sender is now going to send 4 packets. LRO will aggregate them and the receiver's delayed ack timer is going to
kick in, hoping another packet will arrives which is not going to be the case. When the timer expires it is going to
send a ack.

The sender is now going to send ... So I am under the impression that due to the fact that LRO is aggregating packets,
the delayed ack timer will kick in every single time.

So how is this fixed in linux ? I believe that ABC implementation will fix this issue even if I am not completely sure
about that ?

Also as LRO adds some latency, it seems possible to me that the sender retransmission timer will expires before the 
delayed ack timer expires. In this case, how is this gonna work ? Is it possible that the sender will stay stuck in
its slow start trying to retransmit endlessly the same n packets ?

Can anyone help on that ?

thanks,

--jp


^ permalink raw reply	[flat|nested] 8+ messages in thread
* delayed ack timer, slow start and LRO
@ 2008-07-22 21:58 jean-pascal billaud
  0 siblings, 0 replies; 8+ messages in thread
From: jean-pascal billaud @ 2008-07-22 21:58 UTC (permalink / raw)
  To: netdev

Hi,

I have a question related to the interaction between the delayed ack 
timer, slow start and LRO.

If the sender is doing a slow start, it is going to send one packet. The 
receiver's delayed ack timer is going to
kick in and when it expires it will send a ack.

Then the sender is going to send 2 packets now. LRO will aggregates them 
and the receiver's delayed ack timer is going
to kick in, hoping another packet will arrives which is not going to be 
the case. When the timer expires it is going to
send a ack.

The sender is now going to send 4 packets. LRO will aggregate them and 
the receiver's delayed ack timer is going to
kick in, hoping another packet will arrives which is not going to be the 
case. When the timer expires it is going to
send a ack.

The sender is now going to send ... So I am under the impression that 
due to the fact that LRO is aggregating packets,
the delayed ack timer will kick in every single time.

So how is this fixed in linux ? I believe that ABC implementation will 
fix this issue even if I am not completely sure
about that ?

Also as LRO adds some latency, it seems possible to me that the sender 
retransmission timer will expires before the
delayed ack timer expires. In this case, how is this gonna work ? Is it 
possible that the sender will stay stuck in
its slow start trying to retransmit endlessly the same n packets ?

Can anyone help on that ?

thanks,

--jp

^ permalink raw reply	[flat|nested] 8+ messages in thread
* delayed ack timer, slow start and LRO
@ 2008-07-22 22:05 jean-pascal billaud
  2008-07-23 10:41 ` Hagen Paul Pfeifer
  2008-07-23 12:01 ` Ilpo Järvinen
  0 siblings, 2 replies; 8+ messages in thread
From: jean-pascal billaud @ 2008-07-22 22:05 UTC (permalink / raw)
  To: netdev

Hi,

I have a question related to the interaction between the delayed ack
timer, slow start and LRO.

If the sender is doing a slow start, it is going to send one packet. The
receiver's delayed ack timer is going to
kick in and when it expires it will send a ack.

Then the sender is going to send 2 packets now. LRO will aggregates them
and the receiver's delayed ack timer is going
to kick in, hoping another packet will arrives which is not going to be
the case. When the timer expires it is going to
send a ack.

The sender is now going to send 4 packets. LRO will aggregate them and
the receiver's delayed ack timer is going to
kick in, hoping another packet will arrives which is not going to be the
case. When the timer expires it is going to
send a ack.

The sender is now going to send ... So I am under the impression that
due to the fact that LRO is aggregating packets,
the delayed ack timer will kick in every single time.

So how is this fixed in linux ? I believe that ABC implementation will
fix this issue even if I am not completely sure
about that ?

Also as LRO adds some latency, it seems possible to me that the sender
retransmission timer will expires before the
delayed ack timer expires. In this case, how is this gonna work ? Is it
possible that the sender will stay stuck in
its slow start trying to retransmit endlessly the same n packets ?

Can anyone help on that ?

thanks,

--jp

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-07-23 18:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-22 21:44 delayed ack timer, slow start and LRO jean-pascal billaud
2008-07-22 22:11 ` Evgeniy Polyakov
  -- strict thread matches above, loose matches on Subject: below --
2008-07-22 21:58 jean-pascal billaud
2008-07-22 22:05 jean-pascal billaud
2008-07-23 10:41 ` Hagen Paul Pfeifer
2008-07-23 17:38   ` jean-pascal billaud
2008-07-23 12:01 ` Ilpo Järvinen
2008-07-23 17:58   ` jean-pascal billaud

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).