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

Bug in TCPReno ?...




Hello!

    I am observing that in ns, TCPReno dupack_action() does not retransmit
    the TCP packet even after getting 3 dupacks, if this event is preceded
    by a timeout.

    In  RenoTcpAgent::timeout(), the recover_ is set to maxseq_, if bug_fix_
    flag is ON. And later, upon receipt of 3 dupacks, corresponding to the
    seqno (= recover_), dupack_action does not retransmit the packet.

    The fix that is making it work properly is that, in dupack_action() 
    in tcp-reno.cc :
       int recovered = (highest_ack_ >= recover_);

    instead of
       int recovered = (highest_ack_ > recover_);

    Has anyone observed such a behaviour?... Any info in this regard will 
    be useful.

Thanks,
Vinay.