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

Bug in TCP Vegas implementation



There is a bug in the implementation of TCP Vegas at line 244
in tcp-vegas.cc.

When new data is acked, oldack is smaller than tcp->seqno()
and the loop should be performed tcp->seqno()-oldack times.
However, this relationship does not necessarily hold for the
modulos of oldack and tcp->seqno(), which in fact are used to
control the loop. I suggest removing the first part of the end
condition in the for-loop.

I became aware of this bug because v_transmits[i] was wrongly
bigger than one in some cases. Does anyone know in what cases
this value can really become bigger than one?

- Urs