tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: proper SACK behavior?

  [long ago, I questioned what happens with sack enabled]

Bev Schwartz, Laura Ma and I (all of BBN) have found and fixed a SACK
problem.  I will send a patch as soon as I have a chance but I wanted to
outline the problem quickly.

When newreno (no sack) gets a triple duplicate ack, it halves cwnd,
retransmits, and continues.  When running in sack mode, the triple
dupack causes cwnd to go to 1 instead.  This is allowed by the specs,
but the preferred option is to halve cwnd.  The code is confusing
because it sets cwnd to 1 to call tcp_output to retransmit a segment,
but then it doesn't restore it.

With this fixed, our TCP is competive with OS X; without it, we send
less than OS X.

Attachment: pgpbWkQEH0FZM.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index