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

[ns] Patch to fix tcp Vegas maxcwnd_ and rexmit instrumentation (repost- didn't make it to CVS)



FYI-

This patch is against CVS tcp-vegas.cc version 1.34.

The rexmit stuff I've posted on the list before but didn't get applied, the
maxcwnd_ problem is something I noticed recently (tcp.cc uses it, tcp-vegas.cc
forgot). It's just minor stuff.


########################################################################
--- tcp-vegas.cc.orig   Wed Dec  6 12:54:44 2000
+++ tcp-vegas.cc    Wed Dec  6 12:55:57 2000
@@ -371,6 +371,11 @@
            ++cwnd_;
    }
    Packet::free(pkt);
+
+   // Add this to make Vegas obey maximum congestion window variable.
+   if (maxcwnd_ && (int(cwnd_) > maxcwnd_)) {
+       cwnd_ = maxcwnd_;
+   }
 #if 0
    if (trace_)
        plot();
@@ -463,11 +468,11 @@
            if (seqno > rtt_seq_) {
                rtt_seq_ = seqno;
                rtt_ts_ = now;
-           } else {
-               ++nrexmitpack_;
-               nrexmitbytes_ += bytes;
            }
        }
+   } else {
+       ++nrexmitpack_;
+       nrexmitbytes_ += bytes;
    }
    if (!(rtx_timer_.status() == TIMER_PENDING))
        /* No timer pending.  Schedule one. */
########################################################################

--------------------------------------------
 Eric H. Weigle   CCS-1, RADIANT team
 [email protected]     Los Alamos National Lab
 (505) 665-4937   http://home.lanl.gov/ehw/
--------------------------------------------