[TCP] window update during recovery (continuing on window reduction)

From: Angelo P. Castellani <hidden>
Date: 2006-07-05 14:28:46

During a recovery, we should always reduce send window if the host is
notifying a window reduction.

This is needed because in the recovery phase the host requires to
buffer the packets between the beginning of the recovery and the data
we're sending "forward" with ssthresh window and sacked_out count.

So it isn't buffering the in_flight packets, but a number of packets
that could be much higher.

If the host asks a window reduction its buffer is filling up, and if
we ignore the reduction, when the buffer is full all the packets
arriving to the host will be dropped.

When the first packet is dropped the host will begin asking for a zero
window; this request will be eventually granted, however in the
meantime we will have lost a full window of packets.

Anyway we could neither set the FLAG_WIN_UPDATE, otherwise the ack
will not be considered a DUPACK and when using Reno the sacked_out
count will not be updated.

Regards,
Angelo P. Castellani

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help