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

[ns] Bugfix for TCP Vegas nrexmitpack_, nrexmitbytes_



Hello users-

I've found another little bug in TCP Vegas, similar to the ndatapack_ bug
recently fixed, and due to the same problem (overriding output() function and
making changes to tcp.cc without fixing up the overridden function). In this
case, the instrumentation to track the number of retransmitted packets/bytes got
lost. (Just compare output() in tcp.cc and output() in tcp-vegas.cc).

Also, vaguely related question: Is anyone looking at how ECN works with vegas?
(I ask because of lines 526-528 in tcp.cc which are also not in the vegas code)
    if (ecn_) {
        hf->ect() = 1;  // ECN-capable transport
    }
Any pointers to papers/web pages/etc. on this subject would be appreciated. It's
something I might want to look into in the future.

Anyway, here's the patch to fix just the retransmission tracking stuff.

------------------------begin patch------------------------
--- tcp-vegas.cc.orig	Fri Oct 27 17:38:07 2000
+++ tcp-vegas.cc	Sat Oct 28 11:56:13 2000
@@ -451,6 +451,9 @@
 				rtt_ts_ = now;
 			}
 		}
+	} else {
+		++nrexmitpack_;
+		nrexmitbytes_ += bytes;
 	}
 	if (!(rtx_timer_.status() == TIMER_PENDING))
 		/* No timer pending.  Schedule one. */
-------------------------end patch-------------------------


Thanks!
-Eric

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